async def _send(self, image: BytesIO, *kb_list: InlineKeyboardMarkup): bot = Bot.get_current() user = User.get_current() call = CallbackQuery.get_current() message = Message.get_current() kb_list = [kb for kb in kb_list if kb] # clean from None if call: reply_to = call.message.message_id elif message: reply_to = message and message.message_id else: reply_to = None if len(kb_list) == 0: kb = None elif len(kb_list) == 1: kb = kb_list[0] else: kb = inline.merge_inline_keyboards(kb_list[0], kb_list[1]) await bot.send_photo(user.id, image, reply_markup=kb, reply_to_message_id=reply_to)
async def _update(self, image: BytesIO, *kb_list: InlineKeyboardMarkup): bot = Bot.get_current() user = User.get_current() call = CallbackQuery.get_current() media = InputMedia(media=image) if len(kb_list) == 0: kb = None elif len(kb_list) == 1: kb = kb_list[0] else: kb = inline.merge_inline_keyboards(kb_list[0], kb_list[1]) await bot.edit_message_media(media, user.id, call.message.message_id, reply_markup=kb)
async def on_err_stop_already_saved(*_): call = CallbackQuery.get_current() await call.answer(texts.stop_already_saved) return True