Бот для пересылки новостей из ВИОМС в телеграм https://sashagra.site/

Aliaksandr 336517d96d set request timeout and audio information 1 рік тому
.env.example 90e9acc616 add comments to code on russian, and some files 2 роки тому
.gitignore 90e9acc616 add comments to code on russian, and some files 2 роки тому
LICENSE b627a98d25 Initial commit 2 роки тому
README.md a0ce8eb900 fix README add config and production mode deployment 2 роки тому
__init__.py 90e9acc616 add comments to code on russian, and some files 2 роки тому
config.py 76e0cab7dc fix: channel pic, html soup in and arrows 2 роки тому
logger.py d5bdfc97b3 feat: add exceptions handling, add mp3 redirrection 2 роки тому
news_api.py 336517d96d set request timeout and audio information 1 рік тому
pyrightconfig.json 90e9acc616 add comments to code on russian, and some files 2 роки тому
requirements.txt ce305b7755 feat: handle unclosed tags 2 роки тому
telegraph_post.py 76e0cab7dc fix: channel pic, html soup in and arrows 2 роки тому
vioms2tg.py 336517d96d set request timeout and audio information 1 рік тому

README.md

vioms2tg

Бот для пересылки новостей из ВИОМС в телеграм. Получает новость из ВИОМС API, удаляет или заменяет HTML тэги не поддерживаемые в telegra.ph, делает пост в телеграф через API и отправляет ссылку на новость в заданный телеграм канал.

Руководство по установке и настройке

Предварительные требования

  • Установка производится на компьютере, постоянно подключенном к интернет. Это может быть простой компьютер или ноутбук с операционной системой Windows, MacOS, Linux, возможна установка на смартфон с Android. Также подойдет одноплатный компьютер (Raspberry Pi). Либо это может быть выделенный сервер (VDS) или облачный сервер (VPS)
  • Требования к железу минимальные
  • Необходим установленный в системе интерпретатор языка Python версии 3.7 и выше https://www.python.org/downloads/
  • Установленная система контроля версий git https://git-scm.com/downloads

Регистрация телеграм бота.

  • Перейти в чат к телеграм-боту Bot Father @BotFather
  • Отправить команду start, затем команду /newbot
  • Бот спросит, какое имя присвоеиить вашему новому боту. Запишите любое название кирилицей или латиницей. Можно несколько слов
  • Затем бот попросит ввести юзернейм вашего бота. Здесь используйте только латиницу. Необходимо уникальное имя в одно слово, на конце обязательно должно быть слово "bot". Например, my_new_bot
  • Запишите в надежное место токен, который вам выдаст бот. Через него ваша программа будет обрашаться в вашему боту. Токен выглядит примерно так 54434535345:AASfKKesreN41hfFBis0WQ-XF7xbPD_--g7U

Скачивание и установка

Скачивание и установка обычно производится через терминал. Ниже приведена последовательность команд для такой установки.

  • cd /путь/к/папке/установки - переходим в нужный каталог, где создадим паку с программой
  • git clone https://notabug.org/granthin/vioms2tg.git - создаем папку с программой и скачиваем в нее файлы программы
  • cd vioms2tg - переходим внутрь папки с программой
  • pip install virtualenv - установка модуля для работы с виртуальным окружением
  • python3 -m venv env - создание виртуального окружения, т.е. папки, где будут храниться модули
  • source env/bin/activate - активация виртуального окружения
  • pip install -r requirements.txt - установка необходимых модулей
  • Для следующего шага понадобится бот токен, который вы получили у Bot father, а также ваш Telegram user ID. Если вы хотите отправлять новости в какой-то чат или канал, то необходимо добавить созданного вами бота администратором этого чата или канала. А также необходимо узнать ID этого канала. Как узнать ID в телеграм
  • Открыть файл .env.example с помощью любого текстового редактора. На сервере с линукс это может быть команда nano .env.example. Внести необходимые данные в этот файл. Установить BOT_TOKEN, ADMIN_ID (ваш телеграм айди). Если отправка только вам, то CHAT_ID установите такой же как ваш айди.
  • Сохраните файл и переименуйте его в .env. Для линукс это команда mv .env.example .env
  • Откройте любым текстовым редактором файл config.py и отредактируйте подставив нужные данные. Период проверки новостей в минутах, айди рассылки ВИОМС (можно узнать зайдя на страницу рассылки через браузер. Например https://www.vioms.ru/email_lists/151 айди это пследные цифры - 151). Название лок-файла можно не менять, обязательно укажите ссылку на какую-то картинку, замените существующую. Поменяйте название вашего новостного канала. Сохраните файл.
  • python3 vioms2tg.py - запуск в тестовом режиме. Бот будет продолжать работать пока выне закроете терминал или не отключитесь от сервера.

Запуск в рабочем режиме

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

  • Скачивайте NodeJS версии LTS для вашей системы отсюда. Для windows устанавливается как обычная программа, на сервер устанавливается немного иначе. Для сервера на Debian/Ubuntu инструкции здесь
  • Проверяем, удалась ли установка nodejs node -v - должно показать версию, которую вы устанавливали
  • Устанавливавем менеджер процессов для запуска бота, как процесса, чтобы он автоматически запускался при перезагрузке компьютера npm install pm2 -g
  • Запускаем бота как процесс. Запускать нужно из папки с программой pm2 start vioms2tg.py --interpreter=/путь/к/папке/с/программой/от/корня/системы/env/bin/python3
  • Менеджер pm2 отобразит табличку с запущенными через него процессами и покажет их статус. Вызывается такая табличка командой pm2 list

Связаться со мной можно через телеграм бота @hkminsk_news_bot или через сайт https://sashagra.site/