Как подключить webhook для бота telegram и запустить его потом на heroku?
Здравствуйте, написал простого бота для телерамм на питоне по урокам (новичок в этом деле просто я)
Хочу его положить на heroku, но я с толкнулся с проблемой , что нужно еще , чтобы в коде присутствовал webhook, у меня два вопроса теперь(
1. Что нужно прописать еще в коде, чтобы был webhook там?
(Прошу сам код и детально описать его, где нужно и что вставить(Пример или что-то в этом роде))
2.Как полученный готовый бот с webhock'ом положить на сервер heroku(сам я не разобрался тоже)
Необходимо для начала загрузить проект на хероку. Я, например, просто подключил репозиторий, и при каждом коммите хероку обновляет бота. Далее, в настройках нужно задать некоторые переменные окружения, используемые в боте. В случае этого бота, это TOKEN (телеграм-токен) и URL (адрес приложения на heroku)
Не может распознать тип приложения. Файлы requirements.txt и runtime.txt присутствуют? По ним он распознаёт, что нужно использовать питон, и какой версии.
Кирилл Романов: Блин я незнаю в чем проблема..
У меня все пошло ровно, по сути на хероку в логах все хорошо, без ошибок, но бот не отвечает на команды теперь
Может у меня в коде дело? или в каком то файле? (Что мне нужно подправить и где?)
Кирилл Романов сможите мне исправленный код или фаилы сюда положить, или написать, в чем мне нужно что-то изменить самому или дополнить(
Сам бот работает если локально включать его
Скажите пожалуйста, только вы мне помогаете, вот ссылка на гитхаб, вот это я все загрузил на хероку https://github.com/leet896/proverka896
В конце концов, потом смогу вам хоть маленькую но материальную помощь, на киви перевести
os.environ.get нужен для того, чтобы получить из переменных окружения некоторые данные. В моём случае это TOKEN и URL, которые задаются в настройках на хероку, чтобы не светить их в коде. А вы зачем-то пытаетесь достать из окружения переменную с именем https://git-бла-бла.
Если вы хотите задать адрес в коде явно, то это должно выглядеть как-то так
Кирилл Романов: А НЕТ , КИРИЛЛ Я НЕ ТАМ ЛОГИ СМОТРЕЛ, НАШЕЛ ТАМ ПИШЕТ ВОТ ЭТО:
2017-04-10T14:08:21.086556+00:00 app[web.1]: ModuleNotFoundError: No module named 'telebot'
2017-04-10T14:08:21.086517+00:00 app[web.1]: import telebot
2017-04-10T14:08:21.194284+00:00 heroku[web.1]: State changed from starting to crashed
2017-04-10T17:00:00.641113+00:00 heroku[web.1]: State changed from crashed to starting
2017-04-10T17:00:06.063036+00:00 heroku[web.1]: Starting process with command `python3 main.py`
2017-04-10T17:00:08.472895+00:00 app[web.1]: Traceback (most recent call last):
2017-04-10T17:00:08.472917+00:00 app[web.1]: File "main.py", line 3, in
2017-04-10T17:00:08.473066+00:00 app[web.1]: import telebot
2017-04-10T17:00:08.473106+00:00 app[web.1]: ModuleNotFoundError: No module named 'telebot'
2017-04-10T17:00:08.586876+00:00 heroku[web.1]: State changed from starting to crashed
2017-04-10T17:00:08.570948+00:00 heroku[web.1]: Process exited with status 1
Во-первых, в requirements.txt указана библиотека python-telegram-bot, а импортировать вы пытаетесь почему-то telebot.
Но весь код то завязан на python-telegram-bot. Одним импортом это не изменить.
Кирилл Романов: а что нужно там тогда правильно указать?
и как мне можно все изменить? (т.е как понял код)
у меня же там чисто команда старт, и текстовая команда
Кирилл Романов: Все понял.. добавил в код по этой библиотеке команду старт + логи
Но теперь у меня 3 строчка (import requests) серая + на 24 (_check_rate) подсвечивает
запуская бот выдает : Process finished with exit code 0
P.S: python-telegram-bot 5.3.0 сделал через cmd командой pip install python-telegram-bot --upgrade (все прошло, установилось)
Я устал пытаться вам что-то объяснить. Вы не понимаете основ. Советую прежде чем лезть в ботостроение прочитать какую-нибудь книгу по питону или пройти курс.