Не работает Telegram bot python

Я написал бота в Python. Периодически он перестает работать. Виртуальная машина работает стабильно. Работающий сервис всегда активен. Я использую эту библиотеку — https://github.com/eternnoir/pyTelegramBotAPI Работает на виртуальной машине на Azure-сервисе (Ubuntu 16.04.5). Вот код скрипта Python:

Конфигурируется как служба с помощью systemd. Вот файл bot.service:

[Unit] Description=TelegramBot After=network.target [Service] Type=idle ExecStart=/usr/bin/python3.5 /home/rhanza/TelegramBot/bot.py Restart=always [Install] WantedBy=multi-user.target

Когда я подключаюсь через ssl и проверяю состояние процесса, я вижу следующее:

status bot.service ● bot.service — TelegramBot Loaded: loaded (/etc/systemd/system/bot.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2017-12-16 21:06:31 UTC; 3min 8s ago Main PID: 3823 (python3.5) Tasks: 4 Memory: 19.2M CPU: 930ms CGroup: /system.slice/bot.service └─3823 /usr/bin/python3.5 /home/rhanza/TelegramBot/bot.py https://overcoder.net/q/2218169/%D0%BC%D0%BE%D0%B9-%D0%B1%D0%BE%D1%82-telegram-%D0%BD%D0%B0-python-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82″ target=»_blank»]overcoder.net[/mask_link]

Как узнать, что в работе python telegram bot произошла ошибка?

Не работает telegram бот на python?

5e84d506d21ab400910024.png

Если что я живу в Росии ия знаб что могут быть проблемы с vpn на я не зна ка их решать.
Я использую Python 3. 7 , Windows 10 pro и PyTelegramBotApi (https://pypi.org/project/pyTelegramBotAPI/0.3.0/)

  • Вопрос задан более трёх лет назад
  • 3614 просмотров

6 комментариев

Простой 6 комментариев

В России проблема не с VPN, а с блокировкой доступа к серверам Telegram. Либо используйте VPN, либо запускайте ваш код не на территории РФ.

Сергей Горностаев, Я начинающий в этом деле могли бы вы порекомендовать инструкцию по настройке VPN для telegram бота.

Искандер Кувыкин, не существует настроек VPN для telegram-бота. Просто подключаете к VPN компьютер, на котором запускается бот, и всё.

Сергей Горностаев, Посмотрел Как запустить телеграм бота из-за прокси? попробовал вставить

Тоже не помогает выдаёт

Exception has occurred: LocationParseError Failed to parse: host:port
Искандер Кувыкин, не надо бездумно копировать код, надо понимать, что делаешь.
Ну да я всё понимаю поставил IP прокси сервера и порт а, логин и пароль удалил.
Решения вопроса 0
Ответы на вопрос 1

Еще по теме:  Выключить быструю реакцию в Телеграмм дебаг меню

trapwalker

Программист, энтузиаст

Для себя я решил эту проблему забавным и простым образом.
У меня есть VDS для хостинга сайта. С неё телеграм доступен и не блокируется. Я превратил этот сервер в собственный прокси для апи телеграма простым конфигом для nginx:

server < listen tg.my_own_domain.net:8079; server_name tg.my_own_domain.net; access_log /var/log/nginx/tg.my_own_domain.net-access.log; error_log /var/log/nginx/tg.my_own_domain.net-error.log; location / < proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass https://api.telegram.org/; client_max_body_size 100M; >>

Очевидно, что моё решение именно вам скорее всего не подойдёт, но кому-то может оказаться полезным, ведь для его реализации достаточно иметь лишь свою VDS вне зоны блокировки, свой домен (хотя не обязательно) и больше ничего. Nginx у вас там уже скорее всего стоит, но и поставить его не долго.

Для желающих более правильно решить этот вопрос могу посоветовать найти на docker hub готовый образ с телеграммовским прокси или вообще универсальным прокси.

Лично вам, скорее всего, придётся пользоваться какими-то публичными готовыми прокси-серверами, а в конфигурации бота указывать их или список их для подключения.
Этот вариант я сейчас искать и пробовать для вас времени, к сожалению не имею. Надеюсь кто-то подхватит и добавит свой ответ.

Кстати, чтобы вообще ничего не менять в коде бота и его конфигурации, можно на машине, где будет работать бот прописать в hosts ip зеркала телеграммовского API на домен api.telegram.org.

Чужим непроверенным зеркалам API я бы не особо доверял, кстати.

Источник: qna.habr.com

Телеграмм и коронавирус / Пишем бота на Python с отслеживанием данных

Телеграмм и коронавирус / Пишем бота на Python с отслеживанием данных

За последнии несколько недель коронавирус охватил паникой практически все страны мира и сейчас найти человека не знающего что такое коронавирус очень и очень сложно.

За последние дни каждый из нас часто начал заходить на сайты, которые предоставляют актуальные данные по количеству заболевших в разных странах мира. Сервисы эти, безусловно, полезны, но все же они не столь удобны для частого их использования.

Еще по теме:  Источник перехода в Телеграм бот как узнать

Куда проще отслеживать данные по интересующей вас стране через телеграмм, а именно через специального бота. Подобные боты уже делали, но нам все равно интересно сделать своего и плюс показать процесс создания такого бота.

В первую очередь разберемся с инструментами. Мы будем использовать язык Питон, а также программу PyCharm для написания кода. В программе создаем новый проект, к примеру App, а внутри проекта создаем новый файл, к примеру main.py .

Отслеживание данных

Устанавливаем библиотеку под названием COVID19Py . После установки импортируем её в проект, а также создаем объект на основе необходимого класса. Библиотека максимально удобна и все что нам требуется сделать, чтобы получить полную информацию про больных, так это прописать обращение к методу getLatest() и вывести информацию в консоль.

import COVID19Py covid19 = COVID19Py.COVID19() latest = covid19.getLatest() print(latest)

И да, чтобы у нас все заработало не забываем установить библиотеку requests . Эта библиотека работает с подключением к различным веб сайтам и она используется в COVID19Py, поэтому без неё никуда.

После запуска мы получаем необходимую информацию. Выведенная информация сообщает нам об общем количестве заболевших во всем мире.

Если еще немного поиграться с кодом, то можно получить необходимые данные по определенной стране. При чем мы можем получить данные как про общее население, так и про количество заболевших или же умерших людей.

import COVID19Py covid19 = COVID19Py.COVID19() location = covid19.getLocationByCountryCode(«US») print(location)

Окей, первая часть программы завершена. Теперь нам нужно сделать так, чтобы все это работало в телеграмм боте.

Разработка телеграмм бота

Для работа с API телеграмма необходимо использовать одну из возможных библиотек. Библиотек много, но давайте сейчас остановимся на pyTelegramBotAPI как на одной из наиболее продвинутых библиотек.

Сперва выполняем её установку в проект. После установки импортируем её, а также устанавливаем API ключ для бота.

Еще по теме:  Автоудаление подписчиков в Телеграм канале

Получить ключ для бота можно через другого специального бота в телеграмме. Этот бот называется BotFather. Работать с ботом очень просто и всё что нам нужно сделать, так это обратиться к «папе боту», создать в нём нового бота, придумать название и после этого получить API ключ. Кстати, здесь же вы можете указать описание для бота, фото и прочую инфу. Если захотите, то с этим неплохо можно поиграться.

Вставляем полученный ключ в программу. Теперь давайте создадим функцию, которая будет срабатывать при отправке команды start. Также создадим функцию, что будет обрабатывать все сообщения от пользователя. Весь код представлен ниже:

Наш бот

Сейчас каждый может протестировать нашего бот по этой ссылке . Как видите, реализация бота это просто и никаких особых усердий не требуется.

Видео на эту тему

Также вы можете просмотреть детальное видео по разработке данного бота:

Дополнительный курс

На нашем сайте также есть углубленный курс по изучению языка Питон . В ходе огромной программы вы изучите не только язык Питон, но также научитесь создавать веб сайты за счёт веб технологий и фреймворка Джанго. За курс вы изучите массу нового и к концу программы будете уметь работать с языком Питон, создавать на нём полноценные ПК приложения на основе библиотеки Kivy, а также создавать веб сайты на основе библиотеки Джанго.

Больше интересных новостей

11 классных веб-ресурсов с применением искусственного интеллекта

11 классных веб-ресурсов с применением искусственного интеллекта

Ранние версии Windows: хронология версий

Ранние версии Windows: хронология версий

3 самых интересных типа программистов

3 самых интересных типа программистов

СЕО-продвижение – верный способ улучшить свой бизнес

СЕО-продвижение – верный способ улучшить свой бизнес

Комментарии (4)

валерий 19 ноября 2022 в 19:01

location = covid19.getLocationByCountryCode(«BY»)
AttributeError: module ‘COVID19Py.covid19’ has no attribute ‘getLocationByCountryCode’

вот такая ошибка помогите исправить

Сергей 14 мая 2022 в 22:05

не работает бот

Олег 09 мая 2022 в 10:59

Да, забывать импорты явно не стоит! Как я мог провтыкать.

Олег 09 мая 2022 в 10:46

Забыл выполнить импорт:

from telebot import types

Источник: itproger.com

Рейтинг
( Пока оценок нет )
Загрузка ...