Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
ropox
7 лет назад

Выложил Node-RED сценарий для бота на GitHub

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

Делаем своего бота для уведомлений на Node-RED для golos.io. Часть первая.
Делаем своего бота для уведомлений на Node-RED для golos.io. Часть вторая, телеграмная.
Делаем своего бота для уведомлений на Node-RED для golos.io. Часть третья, разделительная
Делаем своего бота для уведомлений на Node-RED для golos.io. Часть четвертая, заключительная

Мне мой бот понравился (такая корова нужна самому), и я решил ковырять его и дальше для себя. Сценарий бота я переработал, сделал более приятные моему глазу сообщения для telegram. Поправил форматирование. Добавил перевод GESTS в M. GESTS. Все убрал в Sub Flows и разбил на логические блоки. Бот в данный момент извещает о комментариях, отданных за меня голосах, переводов наличности, и о авторских и кураторских гонорарах. В планах добавить сообщения из внутреннего рынка о купле/продажи, актуальной цене и тенденциях. Ну и наверное сделаю голосовального бота.

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

https://github.com/gropox/nodered-golosbot

Сценарий бота выглядит примерно так.

А так выглядят сообщения моего бота.

Дальше инструкция для желающих попробовать.

Установка Node-RED

Установка Node-RED описана в интернете достаточно хорошо. Вот тут инструкция для Ubuntu. Я пробовал на своей 16.10 и все прекрасно установилось.

Запускается Node-RED командой node-red. По умолчанию node-red сервер слушает на 1880 порту, но можно задать и свой порт параметром “-p 1971”, где 1971 номер порта.

После первого запуска в домашней папке будет создана папка “.node-red”.

golosbot:~$ node-red -p 1971 &
[1] 13600
golosbot:~$ 26 Feb 16:36:17 - [info] 

Welcome to Node-RED
===================

26 Feb 16:36:17 - [info] Node-RED version: v0.16.2
26 Feb 16:36:17 - [info] Node.js  version: v6.10.0
26 Feb 16:36:17 - [info] Linux 4.8.0-39-generic x64 LE
26 Feb 16:36:18 - [info] Loading palette nodes
26 Feb 16:36:21 - [warn] ------------------------------------------------------
26 Feb 16:36:21 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
26 Feb 16:36:21 - [warn] ------------------------------------------------------
26 Feb 16:36:21 - [info] Settings file  : /home/golosbot/.node-red/settings.js
26 Feb 16:36:21 - [info] User directory : /home/golosbot/.node-red
26 Feb 16:36:21 - [info] Flows file     : /home/golosbot/.node-red/flows_georg-Inspiron-1370.json
26 Feb 16:36:21 - [info] Creating new flow file
26 Feb 16:36:21 - [info] Starting flows
26 Feb 16:36:21 - [info] Started flows
26 Feb 16:36:21 - [info] Server now running at http://127.0.0.1:1971/
Чтобы проверить, запустился ли сервер, откройте в своем браузере эту ссылку (порт замените на свой) http://localhost:1971

Telegram-Bot

Для бота понадобится telegram-Модуль, который надо будет доставить. Для этого в меню выберите “Manage palette”.

В панели слева, на вкладке “Install” введите в поиск “telegram” и установите первый модуль в списке, без приставки plus.

Проконтролируйте, что у вас на палитре появились ноды для Telegram бота.

Импорт сценария

В консоли перейдите в паку “~/.node-red/lib/flows”

golosbot:~$ cd ~/.node-red/lib/flows

В эту папку надо либо скачать сценарий с ботом

golosbot:~/.node-red/lib/flows$ wget -O golos.notifier https://raw.githubusercontent.com/gropox/nodered-golosbot/master/golos.notifier

Либо клонировать в эту папку репозиторий.

Затем, открыть окно баузера с Node-RED и перезагрузить страницу (чтобы Node-RED перечитал содержимое папки). Или элегантно перестартуйте Node-RED.

golosbot:~/.node-red/lib/flows$ killall node-red & node-red -p 1971 &

Теперь можно импортировать сценарий. Для этого в меню выберите “Import -> Library -> golosbot_notifier”

и разместите сценарий на Flow. Почему то портится кодировка при экспорте-импорте и поэтому некоторые имена нод выглядят странно. В палитре сверху должны добавиться SubFlow с подсценариями бота.

Финальная настройка

Осталось настроить бота. Для этого попросите бота telegram “BotFather”, что бы он создал вам бота и скопируйте токен бота. На сценарии откройте свойства ноды "Голос бот".

И в строке "Bot" нажмите на кнопочку справа, с карандашом. Откроются свойства бота. Там вы впишите или вставьте токен бота и сохраните свойства бота и ноды.

Задеплойте все и справа откройте отладочную панель “Debug”, там возможно будет уже несколько сообщений. На данном шаге нужно узнать chatId, для этого начните чат с вашим ботом в клиенте telegram и напишите, что нибудь.

Промотайте окно “Debug” в самый низ, там должно быть ваше сообщение боту и искомый chatId

Осталось отредактировать ноду “Настройки”. Вместо “ropox” введите имя вашего аккаунта и вместо моего chatId введите ID чата с вашим ботом.

Если теперь задеплоить все, вы должны будете получить горсть сообщений в чат telegram.

Спасибо за внимание

61
1245.606 GOLOS
На Golos с February 2017
Комментарии (6)
Сортировать по:
Сначала старые