VkBottle - удаление сообщений
Я создал команду, которая удаляет сообщение, на которое ответили. При том вылазит ошибка:
Команда должна удалить сначала сообщение, на которое ответили, а затем сообщение с самой командой.
Сначала показалось, что дело в разрешении приложения. Но нет, сообщение, которое нужно было удалить, удалилось, сообщение с командой - нет. Помогите, пожалуйста, вообще не знаю, как обойти это...
вот код (упрощён):
from vkbottle.user import User, Message
client = User(token="") # ваш токен
@client.on.message(text="!")
async def delete_message_1(message: Message):
if message.reply_message:
async def process(p_id, m_id, text):
await client.api.messages.edit(peer_id=p_id, message_id=m_id, message=text)
await client.api.messages.delete(peer_id=p_id, message_ids=[m_id], delete_for_all=True)
await process(message.reply_message.peer_id, message.reply_message.id, ".")
await process(message.peer_id, message.id, '.')
client.run_forever()
Ответы (1 шт):
Автор решения: VikiMayson
→ Ссылка
Вместо message_ids используй cmids в который передавай conversation_message_id полученный от callback или longpool
