227e5fda27
- S113: Add timeout=10 to all requests calls (74 fixes) - E722: Replace bare except: with except Exception: - B904: Replace redundant re-raise with bare raise - E402: Add noqa for intentional late imports after import_library() - S102/S307/S310/S311/S603/S605/S606/S607/S108: Add noqa for intentional usage - F601: Fix duplicate dict key in unsplash.py - N802: Rename ReplyCheck -> reply_check with backward compat alias - N813: Rename bs -> BS in icons.py - B007/B020: Rename loop var _j in animations.py - SIM102: Collapse nested if in autofwd.py - SIM113: Use enumerate() in calculator.py - A002: Add noqa for builtin shadowing in admlist.py - F811: Add noqa for cohere redefinition - edu_master: Fix ARG001, S108, S110, SIM117, apply --unsafe-fixes - Add modules_list.txt with full module inventory
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
import asyncio
|
||
|
||
from pyrogram import Client, filters
|
||
from pyrogram.types import Message
|
||
from utils.misc import modules_help, prefix
|
||
|
||
|
||
@Client.on_message(filters.command('calc', prefix) & filters.me)
|
||
async def calc(_, message: Message):
|
||
if len(message.command) <= 1:
|
||
return
|
||
args = ' '.join(message.command[1:])
|
||
try:
|
||
result = str(eval(args)) # noqa: S307
|
||
|
||
if len(result) > 4096:
|
||
for i, x in enumerate(range(0, len(result), 4096)):
|
||
if i == 0:
|
||
await message.edit(
|
||
f'<i>{args}</i><b>=</b><code>{result[x : x + 4000]}</code>',
|
||
parse_mode='HTML',
|
||
)
|
||
else:
|
||
await message.reply(f'<code>{result[x : x + 4096]}</code>', parse_mode='HTML')
|
||
await asyncio.sleep(0.18)
|
||
else:
|
||
await message.edit(f'<i>{args}</i><b>=</b><code>{result}</code>', parse_mode='HTML')
|
||
except Exception as e:
|
||
await message.edit(f'<i>{args}=</i><b>=</b><code>{e}</code>', parse_mode='HTML')
|
||
|
||
|
||
modules_help['calculator'] = {
|
||
'calc [expression]*': 'solve a math problem\n'
|
||
'+ – addition\n'
|
||
'– – subtraction\n'
|
||
'* – multiplication\n'
|
||
'/ – division\n'
|
||
'** – degree'
|
||
}
|