async def from_admin(msg: Message): if msg.chat.type == 'private': return True admins = map(lambda x: x.user, await msg.chat.get_administrators()) if msg.from_user in admins: return True else: msg.reply("вы должны быть администратором в чате") return False
async def on_spam(f, message: types.Message): """ что делать если тебя начинают заёбывать :param f: команда, которую насилуют :param message: собсна, сообщение адресованное боту """ import numpy as np try: await np.choice([[lambda: None], [lambda: message.reply('Я занят.')], [lambda: message.reply('Заёбывай другого бота')]], [200, 5 * spam[f][1], 1 * spam[f][1]])[0]() spam[f][1] = 0 except TypeError: # cannot await None pass
async def mock(message: types.Message): if message.reply_to_message: for mocked in glob.glob("mocked*"): os.remove(mocked) origtext = message.reply_to_message.text mocked = spongemock.mock(origtext) randint = random.randint(1, 699) magick = """magick bob.jpg -font Impact -pointsize 50 -size 800x450 -stroke black -strokewidth 3 -fill white -background none -gravity north caption:"{}" -flatten mocked{}.jpg""".format( mocked, randint) os.system(magick) with open('mocked{}.jpg'.format(randint), 'rb') as mockedphotu: await message.reply_to_message.reply_photo( photo=mockedphotu, reply=message.reply_to_message) os.remove('mocked{}.jpg'.format(randint)) else: message.reply('kensur content type beesh')
async def cmd_feedback(message: types.Message) -> None: rmsg = message.reply_to_message if (message.chat.id < 0 and not message.get_command().partition("@")[2] and (not rmsg or rmsg.from_user.id != bot.id) or message.forward_from ): # Make sure feedback is directed at this bot return arg = message.get_full_command()[1] if not arg: await message.reply("Function: Send feedback to my owner.\n" "Usage: `/feedback@on9wordchainbot feedback`") return await asyncio.gather( message.forward(ADMIN_GROUP_ID), message.reply("Feedback sent successfully."), )