async def handle_callback(cq: types.CallbackQuery): data = json.loads(cq.as_json()) chat_id = data.get("message").get("chat").get("id") message_id = data.get("message").get("message_id") callback_data = data.get("data") if callback_data is None: return is_media = callback_data.startswith("media") is_target = callback_data.startswith("target") if is_media: _, id = callback_data.split(":", 1) updated_media = await db.update_media(chat_id, int(id)) await bot.edit_message_text( f"*Выбрать СМИ*\nВыбрано источников: {len(updated_media)}", chat_id, message_id, ) await bot.edit_message_reply_markup( chat_id, message_id, reply_markup=get_media_keyboard_markup(updated_media)) return if is_target: _, target = callback_data.split(":", 1) updated_targets = await db.update_targets(chat_id, target) updated_targets_count = len(updated_targets) if updated_targets_count == 0: await bot.edit_message_text("Нет ни одной цели", chat_id, message_id) try: await bot.edit_message_reply_markup(chat_id, message_id, reply_markup=None) except MessageNotModified: pass else: await bot.edit_message_text( f"Число целей: {updated_targets_count}", chat_id, message_id) await bot.edit_message_reply_markup( chat_id, message_id, reply_markup=get_targets_keyboard_markup(updated_targets), ) return
async def unknow_query_handler(query: types.CallbackQuery): logger.info('Got this callback data: {}', query.data) logger.info('Got this query.as_json: {}', query.as_json()) await query.answer("Don't know what to do))")