Удаление цитируемого сообщения командой Aiogram
@dp.message_handler(commands=['del'], commands_prefix="!")
async def delete(message: types.Message):
if not message.reply_to_message:
await message.reply('Эта команда должна быть ответом на сообщение!')
else:
await message.delete(message.reply_to_message.message_id)
имеется такой код, но выводится ошибка:
TypeError: Message.delete() takes 1 positional argument but 2 were given
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Потому что message.delete не требует аргументов. У него есть свой self ,то бишь объект Message у которого вы вызываете метод delete.
Но я так догадываюсь что вы сообщение цитируете и пишите команду, и после хотите чтобы цитируемое сообщение удалялось.
Думаю где-то вот так.
async def delete(message: types.Message):
if not message.reply_to_message:
await message.reply('Эта команда должна быть ответом на сообщение!')
else:
# либо так
await bot.delete_message(chat_id=message.chat.id, message.reply_to_message.message_id)
# либо так
await message.reply_to_message.delete()