3eaef5dc90
git-subtree-dir: userbot
git-subtree-split: 7fb0a0e179
81 lines
3.0 KiB
Python
81 lines
3.0 KiB
Python
from asyncio import sleep
|
|
|
|
from pyrogram import Client, enums, filters
|
|
from pyrogram.raw import functions
|
|
from pyrogram.types import InputReplyToMessage, Message
|
|
from utils.misc import modules_help, prefix
|
|
from utils.scripts import format_exc
|
|
|
|
commands = {
|
|
'ftype': enums.ChatAction.TYPING,
|
|
'faudio': enums.ChatAction.UPLOAD_AUDIO,
|
|
'fvideo': enums.ChatAction.UPLOAD_VIDEO,
|
|
'fphoto': enums.ChatAction.UPLOAD_PHOTO,
|
|
'fdocument': enums.ChatAction.UPLOAD_DOCUMENT,
|
|
'flocation': enums.ChatAction.FIND_LOCATION,
|
|
'frvideo': enums.ChatAction.RECORD_VIDEO,
|
|
'frvoice': enums.ChatAction.RECORD_AUDIO,
|
|
'frvideor': enums.ChatAction.RECORD_VIDEO_NOTE,
|
|
'fvideor': enums.ChatAction.UPLOAD_VIDEO_NOTE,
|
|
'fgame': enums.ChatAction.PLAYING,
|
|
'fcontact': enums.ChatAction.CHOOSE_CONTACT,
|
|
'fstop': enums.ChatAction.CANCEL,
|
|
'fscrn': 'screenshot',
|
|
}
|
|
|
|
|
|
# noinspection PyUnusedLocal
|
|
@Client.on_message(filters.command(list(commands), prefix) & filters.me)
|
|
async def fakeactions_handler(client: Client, message: Message):
|
|
cmd = message.command[0]
|
|
try:
|
|
sec = int(message.command[1])
|
|
if sec > 60:
|
|
sec = 60
|
|
except Exception:
|
|
sec = None
|
|
await message.delete()
|
|
|
|
action = commands[cmd]
|
|
|
|
try:
|
|
if action != 'screenshot':
|
|
if sec and action != enums.ChatAction.CANCEL:
|
|
while sec > 0:
|
|
await client.send_chat_action(chat_id=message.chat.id, action=action)
|
|
await sleep(1)
|
|
sec -= 1
|
|
return await client.send_chat_action(chat_id=message.chat.id, action=action)
|
|
else:
|
|
for _ in range(sec if sec else 1):
|
|
await client.invoke(
|
|
functions.messages.SendScreenshotNotification(
|
|
peer=await client.resolve_peer(message.chat.id),
|
|
reply_to=InputReplyToMessage(reply_to_message_id=message.reply_to_message.id),
|
|
random_id=client.rnd_id(),
|
|
)
|
|
)
|
|
await sleep(0.1)
|
|
except AttributeError:
|
|
return await client.send_message('me', 'Error in <b>fakeactions</b>reply to message is required')
|
|
except Exception as e:
|
|
return await client.send_message('me', 'Error in <b>fakeactions</b> module:\n' + format_exc(e))
|
|
|
|
|
|
modules_help['fakeactions'] = {
|
|
'ftype [sec]': 'Typing... action',
|
|
'faudio [sec]': 'Sending voice... action',
|
|
'fvideo [sec]': 'Sending video... action',
|
|
'fphoto [sec]': 'Sending photo... action',
|
|
'fdocument [sec]': 'Sending document... action',
|
|
'flocation [sec]': 'Find location... action',
|
|
'fcontact [sec]': 'Sending contact... action',
|
|
'frvideo [sec]': 'Recording video... action',
|
|
'frvoice [sec]': 'Recording voice... action',
|
|
'frvideor [sec]': 'Recording round video... action',
|
|
'fvideor [sec]': 'Uploading round video... action',
|
|
'fgame [sec]': 'Playing game... action',
|
|
'fstop': 'Stop actions',
|
|
'fscrn [amount] [reply_to_message]*': 'Make screenshot action',
|
|
}
|