upload download videos as stream or file

pull/16/head
Shrimadhav U K 2018-08-07 23:06:54 +05:30
parent 6b960a705b
commit a7becd3b53
5 changed files with 59 additions and 11 deletions

View File

@ -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": []

View File

@ -2,4 +2,6 @@ regex
urbandict
requests
Pillow
hachoir
cryptg

View File

@ -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)))

View File

@ -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()

View File

@ -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")