Задать вопрос
@chochocho

Как сделать webhook в телеграм боте и поставить его на хостинг?

Использую библиотеку Telebot. Пришло время ставить бота на хост (Хочу использовать Pythonanywhere). Сейчас бот работает на bot.polling(), хочу перекинуть его на Webhook, но посмотрев документацию ничего не понял, как именно это сделать.
Подскажите, как сделать webhook и как его закинуть на хостинг?
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
В секрет свою какую нибудь строку, чтобы кто не надо не тыкал лишний раз.
Сначала надо удалить хук, вдруг уже есть, затем заново привязать. username - имя на pythonanywhere
Потом вешаем хук.
secret = '43d2yIyIVM'
username = 'user'

bot.remove_webhook()
time.sleep(1)
bot.set_webhook(url='https://{}.pythonanywhere.com/{}'.format(username, secret))

app = Flask(__name__)


Потом вешается обработчик фласка, на него приходят апдейты и передаются в telebot
@app.route('/{}'.format(secret), methods=["POST"])
def webhook():
    bot.process_new_updates([telebot.types.Update.de_json(request.stream.read().decode("utf-8"))])
    return 'ok', 200


Остальное - то же самое, разве что bot.pollin() естественно нет
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
20 февр. 2025, в 05:00
15000 руб./за проект
19 февр. 2025, в 21:51
50000 руб./за проект
19 февр. 2025, в 21:33
150000 руб./за проект