Как написать команду /stop для бота telebot
Проблема заключается в том, что бот после команды /start, на другие команды не реагирует Вот код:
import json
import requests
import telebot
from telebot import types
import time
import datetime as dt
import sys
need_date = '26.03.2025'
need_date = None
def load_available_times():
url = 'https://tickets.lakhta.events/api/no-scheme'
request_body = {'hash': '23FA307410B1F9BE84842D1ABE30D6AB48EA2CF8'}
req = requests.post(url, json = request_body)
response = req.text
data = json.loads(response)
calendar = (data["response"]["calendar"])
results = []
for item in calendar:
if (need_date is not None) and (need_date != item['day']):
continue
for schedule in item['_time']:
if int(schedule['quantity']) == 0:
free_time = {'date': item['day'], 'time': schedule['time'], 'quantity': schedule['quantity']}
results.append(free_time)
return results
bot = telebot.TeleBot('TOKEN')
@bot.message_handler(commands=['start'])
def start(message):
while True:
results = load_available_times()
if len(results) > 0:
for available_time in results:
url = 'https://tickets.lakhta.events/event/23FA307410B1F9BE84842D1ABE30D6AB48EA2CF8'
url += '/' + dt.datetime.strptime(available_time['date'], "%d.%m.%Y").strftime("%Y-%m-%d")
url += '/' + available_time['time']
print(url)
time.sleep(1)
bot.send_message(message.from_user.id, 'Ссылка на покупку билетов на ' + available_time['date'] + ' ' + available_time['time'] + " " + url)
time.sleep(1)
#time.sleep(60)
@bot.message_handler(commands=['stop'])
def stop(message):
sys.exit(0)
@bot.message_handler(commands=['info'])
def info(message):
markup = types.InlineKeyboardMarkup()
button1 = types.InlineKeyboardButton("Сайт Лахта центр", url='https://lakhta.center/')
markup.add(button1)
button2 = types.InlineKeyboardButton("Мой ютуб", url='https://youtube.com/@l3sha1337?si=PoAdsN4k3DtORM--')
markup.add(button2)
bot.send_message(message.chat.id,"Привет, тут ссылки на сайт с которым я работаю и на мой ютуб".format(message.from_user),reply_markup=markup)
bot.polling(none_stop=True, interval=0)
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
@bot.message_handler(commands=['stop']) def stop(message): sys.exit(0)
Ну так а с чего ему реагировать, если он закрылся?
Надо просто что-то для написавшего пользователя делать.