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

Взаимодействие с Node.js | #2

В предыдущем посте мы подготовили необходимые инструменты для запуска роботов под Node.js

В качестве тестового примера, я немного модифицировал код @gemini. Он настроен на работу с одним или двумя аккаунтами.

Если у вас есть два аккаунта, то один будет выступать в качестве апвотящего робота, а другой в качестве инициатора вызова робота для апвоута. Если нет двух, то в качестве и робота, и инициатора будет один аккаунт - ваш. Так как возможно использование одного аккаунта, то в код добавлена временная задержка постинга ответного комментария робота (22 секунды). Это связано с тем, что в ГОЛОСе существует спам-защита в 20 секунд между комментариями одного пользователя. Робот проголосует сразу, как услышит ключевое слово, а разместит ответный комментарий только через 22 секунды.

Код шаблона я разместил в репозитории на github. Чтобы его оттуда скопировать (клонировать) необходимо установить утилиту GIT. (В дальнейшем, с помощью этой утилиты будем клонировать и других роботов размещённых на github.com)

Установка GIT

Заходим на сайт https://git-scm.com и кликаем Download

Выбираем операционную систему (кликаем по ссылке мышей)

В открывшейся странице выбираем вариант установочного пакета для своей операционной системы и скачиваем (в пример выбран пакет для Windows 64 бит)

После скачивания запускаем установку (кликаем на скаченном файле)

Проходим по всем шагам мастера установки, кликая клавишу Next (все параметры оставляем по-умолчанию, ничего не меняем).

Когда утилита установится (мастер завершит установку) начинаем работу с Node.js.

Командная строка Node.js

Все взаимодействия с Node.js осуществляются в командной строке. Она расположена в каталоге, где установлена Node.js.

Для запуска в Windows зайдите в меню Пуск > Все программы > Node.js > Node.js command promt (для удобства, при частом обращении к Node.js, можно отправить ярлык на рабочий стол или добавить в Панель быстрого запуска) 

откроется окно для работы в командной строке Node.js

В окне информация о версии Node и родительский путь (рабочий каталог Node) установленный по-умолчанию. У вас имена могут отличаться.

Для копирования кода шаблона-примера, а также установки модулей требуемых конкретным кодом, нужно перейти в каталог созданный ранее (описывал в предыдущем посте).

Ручками на клавиатуре набираем в окне коммандной строки Node следующую команду:

cd C:\robots\test

Жмём клавишу ввод (Enter)

В окне должен отобразиться путь в каталог test

  • Теперь все установки будут производиться непосредственно в этот каталог.

Клонирование репозитория

Для клонирования файлов (репозитория) нашего кода примера из github в окне командной строки набираем ручками (или копируем мышей и вставляем в окно также мышей) текст:

git clone https://github.com/fxcomtrader/curator.git

Жмём ввод (Enter)

В окне отобразятся операции производимые Node и, по окончании, вернёмся в исходный каталог test

  • После этой операции в каталоге test появится новый каталог. Его мы и скопировали с github. (Можно открыть проводник Windows и посмотреть)

Внутри папки curator находятся два файла

curator.js - это файл с кодом шаблона. Именно этот файл мы предварительно отредактируем и будем запускать в работу (файл робота)

README.md - файл описания (информационный для пользователя). Его можно прочитать любым текстовым редактором.

Установка модулей

Для выполнения кода в файле робота (curator.js) требуются дополнительные модули:

  • steem
  • bluebird
  • lodash

Их надо установить в каталог с роботом (папка curator). Для этого нам надо перейти в окне командной строки в этот каталог. Набираем ручками (или копируем мышей):

cd C:\robots\test\curator

Жмём ввод (Enter)

В окне отобразится следующее:

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

Устанавливаем модуль steem. Набираем ручками:

npm install steem

Жмём ввод (Enter)

Node найдёт модуль и запустит его установку, по окончании вернётся в наш каталог (C:\robots\test\curator>)

В точности так же устанавливаем и другие. Модуль bluebird, набираем:

npm install bluebird

Жмём ввод (Enter)

Модуль lodash, набираем:

npm install lodash

Жмём ввод (Enter)

  • Всё, все модули установлены. Осталось только отредактировать файл шаблона-примера и запустить робота.

Окно командной строки рекомендую не закрывать, но если вы его закрыли - не проблема. Робот может запускаться из любого каталога.

Редактирование шаблона

Запускаем ранее установленную программу Notepad++. (Для удобства запуска программы можно её ярлык отправить на Рабочий стол или добавить в Панель быстрого запуска).

  • В программном окне Notepad++ сразу же откроется новый файл new 1 для написания кода. Так как мы будем использовать уже готовый шаблон, надо открыть файл этого шаблона (curator.js).

Заходим в меню Файл > Открыть

  • В открывшемся окне ищем скопированный нами файл curator.js (он находится в нашем каталоге C:\robots\test\curator) и жмём Открыть.

В окне редактора появится вкладка curator.js с кодом:

В секции "Данные робота (обязательно)" (с 9-й по 13 строки)

Меняем XХХХ на требуемые параметры:

В 10-й строке вписываем аккаунт который будет апвоутить

  • аккаунт пишется без собачки (@) и обязательно внутри одинарных кавычек (пример синтаксиса: 'vasyapupkin')

В 11-й строке меняем иксы на Приватный постинг ключ аккаунта, который вписали выше (в 10-й строке). Постинг ключ также должен быть прописан внутри кавычек.

  • В 12-й строке указана сила апвоута. 10000 соответствует 100%, 100 - это 1%. Можете изменить на требуемую вами.

Последняя правка в коде, в секции "Назначаем пользователя для отклика робота" (строки 46 - 48).

В 47-й строке иксы  меняем на аккаунт того пользователя, кто будет вызывать робота для апвоута. 

  • Если у вас один аккаунт в ГОЛОСе, то пишите свой ник (или приятеля, для теста). Аккаунт пишется без собачки и внутри одинарных кавычек (пример синтаксиса: 'vasyapupkin')

Все изменения сделаны и файл надо сохранить. Меню Файл > Сохранить.

Запуск робота

Если вы не закрывали окно командной строки Node.js и находитесь в каталоге curator (C:\robots\test\curator>) то ручками набираем:

node curator.js

Жмём ввод (Enter)

Робот запущен. Об этом вас уведомляет мигающий курсор в начале строки (под путём к каталогу).

Если вы ранее закрывали окно командной строки, то вновь его откройте. В окне будет установлен путь по умолчанию. (Та же самая картинка, какая была при первом запуске  окна командной строки Node.js)

Для запуска робота отсюда, надо набрать команду запуска (node) и указать полный путь к файлу робота

node C:\robots\test\curator\curator.js

Жмём ввод (Enter

Внимание! Если вы закроете окно командной строки, то робот прекратит работу, т.е. вы отключите Node.js.

Тест

Заходим в ГОЛОС. Под любым постом оставляем комментарий (под постом, а не под чьим-нибудь комментарием!)  с ключевой фразой:

curator!

(всё латиницей, восклицательный знак в конце - обязателен)

  • Робот услышит ключевую фразу, проголосует за пост и в окне командной строки отобразит отчет о голосовании

Спустя 22 секунды робот разместит ответный комментарий в ГОЛОСе о том, что он проголосовал, а в командной строке отобразит отчёт

  • Когда в окне командной строки отобразился отчёт, можно обновить страницу на ГОЛОСе и увидеть ответный комментарий

Если у вас это получилось, то всё ок. Задача выполнена!

* * *

@investigator


2
5.870 GOLOS
На Golos с January 2017
Комментарии (48)
Сортировать по:
Сначала старые