Блин, сигнал сигналом, но если ты используешь вебхуки, то можно просто сделать эндпоинт для стопа:
Программный код:
from telebot import TeleBot, types
from flask import Flask, request
app = Flask(__name__)
bot = TeleBot('YOUR_TOKEN_HERE')
@app.route('/stop', methods=['GET'])
def stop():
bot.remove_webhook()
return 'Бот остановлен', 200
@app.route('/YOUR_WEBHOOK_PATH', methods=['POST'])
def webhook():
bot.process_new_updates([types.Update.de_json(request.stream.read().decode("utf-8"))])
return 'Ok', 200
if __name__ == '__main__':
bot.set_webhook(url='https://YOUR_DOMAIN/YOUR_WEBHOOK_PATH')
app.run(port=5002)
Достаточно просто закидывать запрос на /stop и всё, бот прекращает слушать апдейты.