Как бы вы реализовали динамичное обновление сообщения в Telebot?

bot = telebot.TeleBot(TOKEN)

class UserData:
	NUMBER = 0

markup = types.InlineKeyboardMarkup()
button1 = types.InlineKeyboardButton(text='Start Spam', callback_data='request1')
button2 = types.InlineKeyboardButton(text='Stop Spam', callback_data='request2')
markup.add(button1)
markup.add(button2)

@bot.message_handler(commands=['start'])
def start(message):
	bot.send_message(message.chat.id, text='Welcome to bot!', reply_markup=markup)

@bot.callback_query_handler(func=lambda call:True)
def callback(call):
	if call.message:
		if call.data == 'request1':
			bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='Рассылка запущена: ' + str(UserData.NUMBER), reply_markup=markup)		
		if call.data == 'request2':
			bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='Рассылка остановлена!', reply_markup=markup)

bot.infinity_polling()


Есть переменная NUMBER в классе UserData, каждые 1-2 секунд она обновляется и получает новое числовое значение. Значение данной переменной выводится в сообщении бота.

if call.data == 'request1':
      bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='Рассылка запущена: ' + str(UserData.NUMBER), reply_markup=markup)


Как бы вы обновляли/редактировали сообщение от бота, чтобы был визуальный эффект динамичного обновления значения переменной прямо в тексте сообщения.

Использовать time.sleep() - плохой вариант. Второй день ломаю голову.
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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