Скрипт - приложение, которое поможет вам автоматически транслировать разные события из голоса в свой аккаунт на Twitter. Скрипт можно запустить на своем пк, vps или на бесплатных сервисах с возможностью deploy js.

Для демонстрации работы приложения я создал аккаунт https://twitter.com/g0los и теперь каждый мой апвоут (c заданной силой более 24%) отображается статусом рекомендацией в твиттере.

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

Учитывая широкие возможности API голоса и твиттера - поле для деятельности очень широкое и не ограниченное таким функционалом. Реализовать можно множество разных алгоритмов для бота:

Публикация ваших постов

Статусы с полученными голосами

Статусы об упоминаниях

Статусы о транзакциях

Прайс фиды

Изменение репутации

Общие события на голосе

И многое-многое другое!

Так же есть удобная реализация SMS уведомлений которую можно выгодно использовать:

Вы можете подписаться или предложить друзьям подписаться на ваш аккаунт твиттера включив SMS уведомления и тогда ваши новые статусы будут приходить вашим подписчикам в SMS!

Установка

Подробное руководство к установке

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

Для новичков я опишу как запустить бот в бесплатных сервисах glitch.com и heroku.com

Для тех, кто готов установить node на windows будет инструкция по запуску

Для владельцев VPS или linux будут команды

Начинаем

В первую очередь нам понадобится получить необходимые ключи для использования своего твиттера на странице

https://apps.twitter.com/



Создаем приложение, заполняем описание, а в настройках копируем себе ключи





В конечном счете у вас будет 4 ключа, скопируйте их куда-то, а позднее мы надежно спрячем их как переменные среды

wikipedia:environment variable.

Работает на nodejs, при желании можно развернуть и в браузере:

Новичкам: запуск в браузере благодаря glitch

Самый быстрый старт - это скопировать код скрипта и запустить его на Глич - это бесплатная платформа для онлайн тестирования nodejs приложений. В таком режиме бот будет работать тогда, когда вы активны на глич.

Входим на https://glitch.com через FB или github, переходим на страницу нашего бота https://glitch.com/edit/#!/crack-toad

Жмем remix - это склонирует проект в ваш аккаунт.

Переходим на файл с env и значком ключика, прописываем ключи полученные на твиттере (знак ключа указывает на то, что они не будут видны пользователям, можете не переживать)

В файле gotweet.js редактируем настройки интервалов, логина и прочее

Нажав на logs откроется консоль, где вы будете видеть ход работы приложения.

Минусы глича - он не позволит вам постоянно держать приложение активным, у heroku c этим по-лучше, о нем ниже:

Новичкам: запуск на бесплатном сервере от Heroku

О хероку я писал ранее в посте о бесплатных сервисах https://golos.io/x/@vik/free, для легкого старта вам понадобится залогиниться на https://www.heroku.com c помощью github и форкнуть себе проект https://github.com/vikxx/twitbot

После чего в настройках деплоя вы указываете путь к форку в рамках своего аккаунта и можете запустить на серверах heroku приложение прямо с гитхаб. Имея возможность редактировать файлы на github и запускать приложение на heroku

Разумеется указывать секретные ключи твиттера публично на github мы не будем, а укажем их в настройках heroku как переменные среды

На бесплатном плане heroku позволяет работать приложению 18 часов в сутки, но засыпать оно будет каждые 30 минут, т.е. небходимо периодически его будить активностью :) Если у вас есть постоянно работающий пк с выходом в сеть - вам удобнее будет запустить приложение на node js локально. Об этом далее:

Энтузиастам на WINDOWS + node js

Вы можете запускать бот на своем пк предварительно установив node js

Скачайте git и распакуйте в желаемую папку на ПК

Запустите консоль, например powershell

Перейдите в папку с проектом и установите так же twitter и golos пакеты:

cd / путь к папке с распакованным приложением npm install twitter npm install golos

Теперь вам нужно безопасно задать переменные среды, выполните код ниже заменив xxxx ключами в соответствии с ключами полученными на https://apps.twitter.com/

$env:TWITTER_CONSUMER_KEY = "xxxxxxxxxxxxxxxxxxxxxxx" $env:TWITTER_CONSUMER_SECRET = "xxxxxxxxxxxxxxxxxxx" $env:TWITTER_ACCESS_TOKEN_KEY = "xxxxxxxxxxxxxxxxxxx" $env:TWITTER_ACCESS_TOKEN_SECRET = "xxxxxxxxxxxxxxx"

Теперь можете произвести запуск приложения, находясь в папке с репозиторием запустите команду:

npm start

Вы увидите статус работы бота в консоли

В настройках бота есть возможность указать временной отступ offset (например публиковать старые голоса или только новые) интервал работы interval , а именно интервал проверки ваших голосов и интервал публикации в твитов twitinterval . Естественно вы можете указать чужой логин u и тогда твиты будут содержать информацию о голосовании пользователя, которого вы указали.

// Настройки аккаунта и интервалов работы // Логин голосующего u='vik', // Учитывать голоса за последние N минут. Например 1440 это сутки. offset = 30, // Проверять новые голоса каждые 10 секунд interval = 10*k, // Интервал публикации постов в твиттер в миллисекундах // Не ставьте слишком короткий интервал - // это поможет избежать ошибок и придаст естественный вид твитам. twitinterval = 3000,

В файле gotweet.js вы найдете шаблон сообщения, который можно отредактировать под себя.

(При желании добавить рэндомные фразы)

var tweet =u+' проголосовал за пост в #блокчейн #голос https://golos.io/x/@'+d[i].link;

Просто расположите в строке переменные с ссылкой и именем как вам удобно.

Так же в файле gotweet.js есть строка

if (time > t && res[x].percent/100 > 24)

Число 24 - это порог силы голоса в % после которого ваш апвоут будет опубликован на твиттере. Т.е. если вы проголосуете на 24% или ниже - публикации не будет. Вы можете изменить значение. Например поднять до 99 и тогда публиковаться будут только голоса в полную силу.

Владельцам VPS ubuntu, centos и др.

Просто установите зависимости, клонируйте скрипт с githib и пропишите ключи, который предоставил твиттер, а после команда npm start .

git clone https://github.com/vikxx/twitbot.git npm install twitter npm install golos export TWITTER_CONSUMER_KEY = export TWITTER_CONSUMER_SECRET = export TWITTER_ACCESS_TOKEN_KEY = export TWITTER_ACCESS_TOKEN_SECRET = npm start

Заключение

Как писал в начале - вариантов для алгоритма работы может быть много. Если у вас есть идеи того, как должен работать бот - на какие события реагировать и какие статусы публиковать - поделитесь в комментариях или пишите в t.me/vikxx

Чуть позднее я так же выложу референс кода, что поможет начинающим пользователям создавать ботов под свои нужды.