@LirBox

Как сделать так что бы сообщение удалялось через время (использую telebot)?

from email import message
from inspect import getmembers
import telebot
import config
import time



from telebot import types

bot = telebot.TeleBot(config.Token)



@bot.message_handler(content_types=['new_chat_members'])
def welcome_new_member(message):
    if message.json['new_chat_participant']['id'] == 5660674256:
        bot.send_message(message.chat.id, 'Всем привет, я бот <b> ZVOPhenixBot </b>, для того что бы запустить меня напишите команду \"/start\"', parse_mode="html")

@bot.message_handler(commands= ['start'])
def get_user_info(message):
    markup_inline = types.InlineKeyboardMarkup(row_width=2)
    item1 = types.InlineKeyboardButton("О группе", callback_data= "help")
    item2 = types.InlineKeyboardButton("Помочь", callback_data= "helper")

    markup_inline.add(item1, item2)

    bot.send_message(message.chat.id, "Здравствуйте, {0.first_name}!\nЯ - <b>{1.first_name} </b><b>Также напоминаем что это Бета-тестирование,в релизе будет больше функций </b> (не обязательно писать /start каждый раз, кнопки активны всегда)".format(message.from_user, bot.get_me()),
    parse_mode="html", reply_markup=markup_inline
    )

@bot.callback_query_handler(func= lambda call: True)
def answer(call):
    if call.data == 'help':
        bot.send_message(call.message.chat.id, "Текст")
    elif call.data == 'helper':
        bot.send_message(call.message.chat.id, "<b> Текст/b>", parse_mode="html")
        time.sleep(5)
        bot.delete_message(call.message.chat.id, message.message_id)
        
# RUN
bot.polling(non_stop=True)
  • Вопрос задан
  • 560 просмотров
Пригласить эксперта
Ответы на вопрос 1
@TKDBOT
Учу python. Готов к конструктивной критике.
1. Чтобы удалить "через время", необходимо сохранять id сообщений.
2. Удалить через время ты можешь библиотекой schedule.
3. Можно еще сделать так, но тогда сообщение будет удалятся сразу по нажатию на кнопку:
КОД
def answer(call):
    chat_id = call.message.chat.id
    msg_id = call.message.message_id
    bot.delete_message(chat_id, msg_id)
    if call.data == 'help':
Ответ написан
Ваш ответ на вопрос

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

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