Inline кнопка 'Удалить'
хочу спросить как можно сделать Inline кнопку удалить?
Хочу сделать как тут:
При нажатии Inline кнопки "Удалить" сообщение удаляется.
Inline Mode в BotFather включил.
Код:
@dp.message_handler(commands=['slap', 'ударить', 'удар'])
async def send_slap(message: types.Message):
hugtarget = message.get_args().split()
your_id = message.from_user.id
your_name = message.from_user.username
hugimg = nekos.img('slap')
if not hugtarget or hugtarget[0][0] != '@':
await bot.send_message(message.chat.id, f'Введите /slap @имя_пользователя')
else:
extension = os.path.splitext(hugimg)[1]
if extension == '.jpg':
await bot.send_photo(message.chat.id, hugimg, caption=f'[{hugtarget[0]}], вас ударил [{your_name}](tg://user?id={str(your_id)})', parse_mode="Markdown")
elif extension == '.png':
await bot.send_photo(message.chat.id, hugimg, caption=f'[{hugtarget[0]}], вас ударил [{your_name}](tg://user?id={str(your_id)})', parse_mode="Markdown")
elif extension == '.gif':
await bot.send_animation(message.chat.id, hugimg, caption=f'[{hugtarget[0]}], вас ударил [{your_name}](tg://user?id={str(your_id)})', parse_mode="Markdown")
else:
await message.answer('Нет картинки')
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Это проще чем кажется. Вам никакой Inline Mode не нужен если вы не используете этот самый Inline Mode. (это не Inline кнопки)
@dp.message_handler(commands=['start'])
async def start(message: types.Message):
markup = InlineKeyboardMarkup().add(InlineKeyboardButton(text="status", callback_data="delet_cur_message"))
await message.answer("text", reply_markup=markup)
@dp.callback_query_handler(text="delet_cur_message")
async def ca(call: types.CallbackQuery):
await call.answer()
await call.message.delete()
