Задать вопрос
@Nikitonz
начинающий прогер в сфере бэкэнда

Почему не удаляются сообщения в vk_api?

Использую фреймворк 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 на позиции ноль, по ключу диалога с пользователем.

Но сообщение не удаляется... Помогите найти и исправить причину
  • Вопрос задан
  • 61 просмотр
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы