Использую фреймворк vkbottle. Бот использует токен сообщества, все права на управление сообщениями выданы.
Суть задачи: в личном чате с сообществом необходимо кнопками выбрать нужное, затем сообщение, к которому привязаны кнопки, должно удалиться.
@bot.on.raw_event(GroupEventType.MESSAGE_EVENT, dataclass=MessageEvent)
async def handle_callback(event: MessageEvent):
if promt.get(event.user_id) is None:
promt.update({event.user_id: []})
elif command == "addcustom":
response = await new_private_buttons(event)
promt[event.user_id].append(response)
oper_result = "выбираем..."
elif "addp" in command:
pattern = r'addp([1-9]|1[0-9]|20)'
id = re.search(pattern, command)
id = int(id.group(1))
promt[event.user_id].append(id)
oper_result = "продолжаем..."
<some different logic>
await bot.api.messages.delete(peer_id=event.peer_id, message_ids= promt.get(event.user_id)[0])
async def new_private_buttons(event: MessageEvent):
<creation of keyboard>
response = await bot.api.messages.send(peer_id=event.user_id,
message="кнопками выберите нужный круг",
keyboard=keyboard_round, random_id=0)
return response
Пояснения к коду: после выполнения некоторой логики в программе, в личные сообщения человеку от имени сообщества приходит сообщение с подкреплёнными кнопками (new_private_buttons), при этом запоминается код сообщения(messages.send возвращает код сообщения, код записывается в ячейку ноль значения словаря, содержащего список. Ключ - код диалога с пользователем), манипулируя callback кнопок, пытаемся удалить сообщение у пользователя в функции handle_callback. Диалог с пользователем получаем по event.user_id, код сообщения достаем из списка, который лежит в словаре promt на позиции ноль, по ключу диалога с пользователем.
Но сообщение не удаляется... Помогите найти и исправить причину