Как удалить сообщение через минуту?
У меня есть скрипт на python(telebot), где бот приветствует новых участников группы, надо сделать, что бы это сообщение удалилось через минуту.
Источник: Stack Overflow на русском
У меня есть скрипт на python(telebot), где бот приветствует новых участников группы, надо сделать, что бы это сообщение удалилось через минуту.
Подобный вопрос уже задавался: Как удалить сообщение? pyTelegramBotAPI Python
Для удаления сообщения есть встроенный метод: delete_message()
А чтобы сообщение удалилось через минуту можно написать функцию удаления через 60 сек. Для этого необходимо написать отдельную функцию ожидания и удаления, например:
import time
def delete_start_message(chat_id, message_id, timer):
time.sleep(60)
bot.delete_message(chat_id, message_id)
Можно обойтись тем, что указывать в коде время:
import time
# Функция для удаления сообщения через заданное время
def delete_message(chat_id, message_id, delay):
time.sleep(delay)
bot.delete_message(chat_id, message_id)
# Обработчик новых участников группы
@bot.message_handler(content_types=['new_chat_members'])
def greet_new_members(message):
# Отправляем сообщение приветствия и сохраняем его идентификатор
greeting_message = bot.send_message(message.chat.id, "Добро пожаловать!")
greeting_message_id = greeting_message.message_id
# Запускаем функцию удаления сообщения через 1 минуту (60 секунд)
delete_message(message.chat.id, greeting_message_id, 60)
Если покумекать, можно и вывести в настройках время, но опять таки - лишь пища для размышлений)