upload download videos as stream or file
parent
6b960a705b
commit
a7becd3b53
5
app.json
5
app.json
|
@ -22,6 +22,11 @@
|
|||
"description": "Get your own ACCESS_KEY from http://api.screenshotlayer.com/api/capture",
|
||||
"value": "",
|
||||
"required": false
|
||||
},
|
||||
"PRIVATE_GROUP_BOT_API_ID": {
|
||||
"description": "Send .get_id in any group to fill this value. AFK mode (and other sensitive plugins) will not work without this!",
|
||||
"value": "",
|
||||
"required": false
|
||||
}
|
||||
},
|
||||
"addons": []
|
||||
|
|
|
@ -2,4 +2,6 @@ regex
|
|||
urbandict
|
||||
requests
|
||||
Pillow
|
||||
hachoir
|
||||
cryptg
|
||||
|
||||
|
|
|
@ -10,4 +10,4 @@ async def _(event):
|
|||
if event.fwd_from:
|
||||
return
|
||||
chat = await event.get_input_chat()
|
||||
await event.edit(event.chat_id)
|
||||
await event.edit("The current chat's ID is `{}`!".format(str(event.chat_id)))
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
from telethon import events
|
||||
from telethon.errors import MessageTooLongError
|
||||
|
||||
|
||||
@borg.on(events.NewMessage(pattern=r"\.json", outgoing=True))
|
||||
|
@ -11,6 +12,13 @@ async def _(event):
|
|||
return
|
||||
if event.reply_to_msg_id:
|
||||
previous_message = await event.get_reply_message()
|
||||
await event.edit(previous_message.stringify())
|
||||
try:
|
||||
await event.edit(previous_message.stringify())
|
||||
except MessageTooLongError as e:
|
||||
await event.delete()
|
||||
else:
|
||||
await event.edit(event.stringify())
|
||||
try:
|
||||
await event.edit(event.stringify())
|
||||
except MessageTooLongError as e:
|
||||
await event.delete()
|
||||
|
||||
|
|
|
@ -6,6 +6,9 @@ from telethon import events
|
|||
import os
|
||||
import requests
|
||||
from datetime import datetime
|
||||
from hachoir.metadata import extractMetadata
|
||||
from hachoir.parser import createParser
|
||||
from telethon.tl.types import DocumentAttributeVideo
|
||||
|
||||
current_date_time = "./DOWNLOADS/"
|
||||
|
||||
|
@ -41,13 +44,9 @@ async def _(event):
|
|||
else:
|
||||
await event.edit("Reply to a message to download to my local server.")
|
||||
|
||||
|
||||
@borg.on(events.NewMessage(pattern=r".upload (.*)", outgoing=True))
|
||||
async def _(event):
|
||||
async def progress(current, total):
|
||||
percent = str((current / total) * 100)
|
||||
await event.edit(
|
||||
"Upload Progress: {}".format(percent)
|
||||
)
|
||||
if event.fwd_from:
|
||||
return
|
||||
await event.edit("Processing ...")
|
||||
|
@ -58,9 +57,8 @@ async def _(event):
|
|||
event.chat_id,
|
||||
input_str,
|
||||
force_document=True,
|
||||
use_cache=False,
|
||||
reply_to=event.message.reply_to_msg_id,
|
||||
progress_callback=progress
|
||||
allow_cache=False,
|
||||
reply_to=event.message.reply_to_msg_id
|
||||
)
|
||||
end = datetime.now()
|
||||
ms = (end - start).seconds
|
||||
|
@ -68,3 +66,38 @@ async def _(event):
|
|||
else:
|
||||
await event.edit("404: File Not Found")
|
||||
|
||||
|
||||
@borg.on(events.NewMessage(pattern=r".uploadasstream (.*)", outgoing=True))
|
||||
async def _(event):
|
||||
if event.fwd_from:
|
||||
return
|
||||
await event.edit("Processing ...")
|
||||
input_str = event.pattern_match.group(1)
|
||||
if os.path.exists(input_str):
|
||||
start = datetime.now()
|
||||
metadata = extractMetadata(createParser(input_str))
|
||||
await borg.send_file(
|
||||
event.chat_id,
|
||||
input_str,
|
||||
force_document=False,
|
||||
allow_cache=False,
|
||||
reply_to=event.message.reply_to_msg_id,
|
||||
supports_streaming=True,
|
||||
attributes=[
|
||||
DocumentAttributeVideo(
|
||||
duration=metadata.get("duration").seconds,
|
||||
w=metadata.get("width"),
|
||||
h=metadata.get("height"),
|
||||
round_message=False,
|
||||
supports_streaming=True
|
||||
)
|
||||
]
|
||||
)
|
||||
end = datetime.now()
|
||||
ms = (end - start).seconds
|
||||
await event.edit("Uploaded in {} seconds.".format(ms))
|
||||
else:
|
||||
await event.edit("404: File Not Found")
|
||||
|
||||
|
||||
|
||||
|
|
Reference in New Issue