/InjBot-OpenSource

pBase for create VK bots | Group: https://vk.com/injbots

Primary LanguageJavaScriptMIT LicenseMIT

Установка

Установка NodeJS (Windows)

Переходим на этот сайт: NodeJS
Загружаем NodeJS последней версии, на данный момент это 9.7.1
Устанавливаем, открываем консоль (win+r => cmd) и пишем node -v

Установка NodeJS (Ubuntu)

Открываем терминал и пишем

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

Если у вас вдруг нету curl, то пишем:

sudo apt-get install curl

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

На данный момент в "ядро" входит только 2 модуля:
FS - системный модуль для работы с файловой системой, устанавливается вместе с NodeJS
vk-io - модуль для работы с VKAPI, именно 3.2.0
Установка VK-IO 3.2.0:

npm install vk-io@3.2.0

Настройка

Открываем index.js, ищем строку access_token, вставляем сюда свой токен
Токен можно получить здесь - ТЫК

Запуск

Открываем терминал/консоль в папке с index.js, или переходим с помощью cd
Прописываем node index и вуаля, бот работает :)

Если хотим чтобы бот сам перезапускался

Устанавливаем модуль pm2:

npm install pm2 -g

Запускаем бота через команду:

pm2 start index.js

Добавление новых команд

Добавлять новые команды можно по шаблону:

bot.on(pattern, description, function (message, core) {
    code
}, admin)
Название Описание
Pattern Регулярное выражение, сайт для теста регулярок
Description Описание команды
Function Исполняемый код
Admin Является ли команда административной, по умолчанию false

Доп. информация

В ядро входят различные полезные утилиты в виде:

  • random(x,y) - генерация случайного числа в промежутке, причем y не является обязательным
  • randomPick(array) - выбирает случайный элемент из массива
  • filter(text) - примитивный фильтр на ссылки типа vk.com и любые другие, не защитит от "unicode values"
  • nDay - склонение времени
Для сообщений:
  • message.args[] - пустой массив или группы после match
  • message.plain(text) - добавляет first_name к тексту
  • message.body - пустая строка, заполняется средствами message.append()
  • message.append(text) - добавление новой строки
  • message.apply(params) - отправка message.body

To do list:

  • Автодобавление в друзья + автоотписка
  • Мини-игры
  • Авто-статус
  • Другие мусорные команды