def decorator(func): async def new_func(*def_args, **def_kwargs): message = def_args[0] if cmds: message.conf['cmds'] = cmds if allow_kwargs is False: def_kwargs = dict() with configure_scope() as scope: parsed_update = parse_update(dict(message)) scope.set_extra("update", str(parsed_update)) if DEBUG_MODE: # log.debug('[*] Starting {}.'.format(func.__name__)) # log.debug('Event: \n' + str(message)) start = time.time() await func(*def_args, **def_kwargs) log.debug('[*] {} Time: {} sec.'.format( func.__name__, time.time() - start)) else: await func(*def_args, **def_kwargs) raise SkipHandler() if f == 'cb': dp.register_callback_query_handler(new_func, *args, **register_kwargs) else: dp.register_message_handler(new_func, *args, **register_kwargs) if allow_edited is True: dp.register_edited_message_handler(new_func, *args, **register_kwargs)
async def sbroadcast(message): data = await get_parsed_note_list(message, split_args=-1) dp.register_message_handler(check_message_for_smartbroadcast) await db.sbroadcast.drop({}) chats = mongodb.chat_list.distinct('chat_id') data['chats_num'] = len(chats) data['recived_chats'] = 0 data['chats'] = chats await db.sbroadcast.insert_one(data) await message.reply("Smart broadcast planned for <code>{}</code> chats".format(len(chats)))
async def continue_sbroadcast(message): dp.register_message_handler(check_message_for_smartbroadcast) return await message.reply("Re-registered the broadcast handler.")