Запуска storybot для начинающих программистов
- Скачайте данный репозиторий из github (для Windows желательно установить GitBash)
git clone https://github.com/ciricc/storybot-for-beginners.git && cd storybot-for-beginners
- Установите Node.JS 10 версии nodejs.org
- Откройте командную строку в папке
storybot-for-beginners
(этот шаг можно пропустить, если вы вводили команды из прошлых шагов полностью)
- Введите команду
npm i
- Настройте бота по собственным нуждам следуя инструкциям из документации storybot
Об этом ниже
Настройка ботов
Так как настройка бота - дело непростое для тех, кто не владеет навыками программирования, я постарался сделать максимально доступную форму конфигурации. Чтобы понять что к чему, пройдем дальше.
Папка bots
Папка bots
- это список YAML
(.yml) файлов с конфигурацией ботов. Каждый новый файл - новый конфиг для нового бота. Если в конфигурации бота не указывается его название, то название берется из имени файла без расширения (пр. example.yml
- name: example
). Для удобства редактирования конфигурации я рекомендую использовать программу Notepad++. При редактировании конфигурации не используйте TAB'ы (символ \t) и соблюдайте уровни вложенности (1-2 пробела)! Большая часть ошибок в настройке - именно в неправильном использовании языка YAML (он проще, чем кажется)
Простейший пример конфига бота:
accounts/new_bot.yml
:
bot:
name: "New_Bot"
groupIds: [1, 2, 3]
collector:
tokens: ["token_1", "token_2"]
target:
sex: 1
viewers:
liza:
account:
username: "liza-iza@gmailinbox.com"
password: "AzaRaLize45067!"
Проще некуда! Но это не все! Новое обновление приносит новые фичи (и баги)!
Папка accounts
Данная папка служит для хранения .json
файлов с данными аккаунтов, которые будут использоваться в ботах. Не рекомендуется изменять ее содержимое вручную (удалять/переименовывать файлы), так как она генерируется автоматически на основе конфигов. То есть все изменения нужно проводить только в конфигах.
Как настраивать конфиг, чтобы не вводить токены, взятые с неба.
Уровень accounts
Для настройки аккаунтов используется уровень accounts в конфиге бота, в нем вы указываете имена аккаунтов и их данные, а также можете указать, нужно ли обновить токен для данного аккаунта. Пример ниже
accounts/a.yml
:
accounts:
liza:
username: "liza-iza@gmailinbox.com"
password: "AzaRaLize45067!"
reauth: false
kirill:
username: "kiryha2008god@yandex.ru"
password: "_FiramirTHEBEST00956"
bot:
name: "Bot_1"
collector:
tokens: ["liza"]
viewers:
viewer_first:
account: "kirill"
Если вы используете много ботов, то необязательно снова и снова настраивать в каждом боте аккаунты.
Достаточно указать их в самом верхнем боте (самый первый файл конфига в алфавитном порядке). А в остальных конфигах просто не указывать.
accounts/b.yml
:
bot:
name: "Bot_2"
collector:
tokens: ["kirill"]
viewers:
viewer_first:
account: "liza"
На этом все, осталось только запустить
Запуск
- Запустите бота через команду
npm run start
Чтобы остановить бота, можно закрыть окно консоли или нажать сочетание Ctrl + C
Запуск в фоне
Для запуска в фоне рекомендую использовать утилиту pm2
Установить:
npm i -g pm2
Запустить в фоне:
pm2 start index.js
Посмотреть лог:
pm2 logs 0
Также можно посмотреть лог в файле лога (~/.pm2/logs/index-(out|error).txt
),
для пользователей Windows: C:\Users\User\.pm2\logs\index-(out|error).txt
Перезапустить:
pm2 restart 0
Остановить:
pm2 stop 0
Вместо 0
может быть ID процесса pm2, посмотреть весь список можно следующей командой
pm2 list