Задать вопрос
@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() естественно нет
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
20 янв. 2025, в 14:41
8000 руб./за проект
20 янв. 2025, в 14:23
5000 руб./за проект
20 янв. 2025, в 13:50
15000 руб./за проект