DreamFox
@DreamFox
Обыкновенный лис и простой говнокодер

Как сделать автоматическое удаление сообщения через какое-то время?

сделал бота, который отправляет фотографии с котиками из беседы - в личные сообщения, и в беседе пишет, что фотографии с котиками были отправлены в л/с. Так вот, чтобы пользователи не злоупотребляли командой и не создавали флуд, необходимо сделать авто-удаление сообщения "Отправил фотографии с котиками в Л/С" по истечению некоторого времени (например: после 5 секунд), но все идет не так, как нужно. Объясните пожалуйста, как осуществить мою идею, что необходимо добавить/изменить в код(е)?

import sys
from vk_api.longpoll import VkLongPoll, VkEventType
import vk_api
from datetime import datetime
import random
import time
import get_pictures

token ='токен'
vk_session = vk_api.VkApi(token=token)
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)

def send_message(vk_session, id_type, id, message=None, attachment=None):
    vk_session.method('messages.send',{id_type: id, 'message': message, 'random_id': random.randint(-2147483648, +2147483648), "attachment": attachment})

for event in longpoll.listen():
    if event.type == VkEventType.MESSAGE_NEW:
        if event.from_chat:
            if event.text.lower == "котики":
                attachment = get_pictures.get(vk_session, -130670107, session_api)
                print('Запрос на отправку фотографий с котиками выполнен.')
                send_message(vk_session, 'user_id', event.user_id, message=' | Мяу, вот тебе котики. :з', attachment=attachment)
                send_message(vk_session, 'chat_id', event.chat_id, message=' | Отправил фотографии с котиками в Л/С.')
        time.sleep(0.5)
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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