# Moon-Userbot - telegram userbot
# Copyright (C) 2020-present Moon Userbot Organization
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
import os
from pyrogram import Client, filters
from pyrogram.types import Message
from utils.misc import modules_help, prefix
from utils.scripts import format_exc, format_module_help, format_small_module_help
@Client.on_message(filters.command(['sendmod', 'sm'], prefix) & filters.me)
async def sendmod(client: Client, message: Message):
if len(message.command) == 1:
await message.edit('Module name to send is not provided')
return
await message.edit('Dispatching...')
try:
module_name = message.command[1].lower()
if module_name in modules_help:
text = format_module_help(module_name)
if len(text) >= 1024:
text = format_small_module_help(module_name)
if os.path.isfile(f'modules/{module_name}.py'):
await client.send_document(message.chat.id, f'modules/{module_name}.py', caption=text)
elif os.path.isfile(f'modules/custom_modules/{module_name.lower()}.py'):
await client.send_document(
message.chat.id,
f'modules/custom_modules/{module_name}.py',
caption=text,
)
await message.delete()
else:
await message.edit(f'Module {module_name} not found!')
except Exception as e:
await message.edit(format_exc(e))
modules_help['sendmod'] = {
'sendmod [module_name]': 'Send module to interlocutor',
}