У меня есть бот который отправляет некоторое сообшение каждые 5 секунд. Если зайти в раздел, ну запустить команду и включить напоминание, то оно будет работать. Потом если зайти и выключить то она выключиться. потом когда еще раз зайти и включить то уже нельзя выключить. Не выполняеться команда ни /start ни /remind. Помогите, возможно проблема в schedule.clear(), если это так то подскажите другой способ выключение напоминания.
Вот код:
import telebot
from telebot import types
import schedule
import time
bot = telebot.TeleBot('токен')
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
but1 = types.KeyboardButton('/☁️remind☁️')
markup.add(but1)
n = f"<b>Привіт {message.from_user.first_name}!</b>\nВиберіть що вам потрібно:\n/☁️remind☁️ - нагадування."
bot.send_message(message.chat.id, n, parse_mode='html',
reply_markup=markup)
@bot.message_handler(commands=['remind'])
def remind_start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
but1 = types.KeyboardButton("Включити нагадування")
but2 = types.KeyboardButton("Виключити нагадування")
markup.add(but1, but2)
r_mes = bot.send_message(
message.chat.id, "Виберіть:", parse_mode='html', reply_markup=markup)
bot.register_next_step_handler(r_mes, r_check_mes)
def r_check_mes(message):
def job(message):
bot.send_message(message.chat.id, "текст", parse_mode='html')
x = message.text
if x == 'Включити нагадування':
bot.send_message(message.chat.id, "Нагадування включені")
schedule.every(5).seconds.do(lambda: job(message))
command = start(message)
while True:
schedule.run_pending()
time.sleep(1)
elif x == 'Виключити нагадування':
schedule.clear()
bot.send_message(
message.chat.id, "Нагадування виключені", parse_mode='html')
command = start(message)
else:
bot.send_message(message.chat.id, "❗️Щось пішло не так❗️",
parse_mode='html')
command = start(message)
bot.polling(none_stop=True)