python-telegram-bot и Google App Engine
Захотелось поднять бота Telegram, но сразу в среде не требующей много внимания и не на рабочих серверах. Поднимать для него отдельные виртуальные машины, или искать дополнительный хостинг тоже не очень хотелось. Решил остановиться на облачных ресурсах Heroku, Google App Engine, Amazon и т.д. Программист из меня никакой, поэтому настройка окружения заняла много времени. Остановился на GAE, поскольку на нем хоть что то запустилось сразу.
Поскольку потратил много времени на решение задачи, опишу здесь примерно процедуру, вдруг еще какому нубу потребуется. Я решил эту задачу неграмотно, но это единственный способ как я смог это сделать.
1. Создание бота
2. Создание и настройка тестового проекта
3. Установка (копирование) всех недостающих библиотек
3.1. Вариант для ленивых
3.2. Полный вариант
1. Создание бота
Процесс создания бота неоднократно описан. Можно пройти до 17-го шага в этом описании или по моему переводу:
- Обратитесь к боту @botfather https://telegram.me/botfather с командой /newbot Убедитесь что говорите именно с нужным botfather, а не с пользователем с похожим ником.
- @botfather ответит Alright, a new bot. How are we going to call it? Please choose a name for your bot.
- Введите имя которое придумали (yournamebot)
- @botfather ответит Good. Now let’s choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
- Введите любое уникальное имя бота. В конце должно присутствовать «bot». (YourNameBot)
- Done! Congratulations on your new bot. You will find it at telegram.me/YourNameBot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. Use this token to access the HTTP API: 201682768:AAE9p_yr7I7Hx_alotofsybols For a description of the Bot API, see this page: https://core.telegram.org/bots/api
- Выпишите себе тот API key что получили.
2. Создание и настройка тестового проекта
- Идем на https://console.developers.google.com/project
- Create project
- Желательно чтобы project name и project id совпадали (меньше путаницы)
- Сразу можно скачать и установить Google App Engine SDK , а можно и не скачивать. Можно скачать PyCharm версию про (для начала триальную). Одно другому не мешает. Для простоты поднятия тестового бота Вы можете просто скачать все библиотеки в этом архиве.
3.1. Установка из моего архива.
- распакуйте архив.
- Измените файл app.yaml — application: yourbotname — укажите имя своего проекта в GAE.
- Измените файл main.py — PasteYourTokenHere и PasteYourGAEProjectNameHere, укажите token полученный от @botfather и имя проекта в GAE.
- Запустите Google App Engine SDK
- Add Existing Application
- Проект появится в списке проектов
- Запустите Deploy
- потребуется авторизация на GAE, и проект должен будет запуститься
- Заходим по ссылке https://PasteYourGAEProjectNameHere.appspot.com/set_webhook
- должны получить webhook setup ok.
3.2. Самостоятельная установка.
- Запускаем Google App Engine SDK
- Создаем в нем новый проект New Application с наименованием нашего проекта в GAE.
- werkzeug
- telegram
- markupsafe
- jinja2
- future
- flask
- и файл itsdangerous.py
Свежие комментарии