Godette Bot for Godot Engine Russian community
Go to file
Vlad Rud c8f6679aeb Fixed CarmaShots filtering 2021-08-17 11:17:51 +03:00
.gitattributes Initial commit 2021-03-08 22:55:20 +03:00
.gitignore New emojis, getting stats for any user 2021-03-09 21:45:39 +03:00
Dockerfile Fixed Dockerfile 2021-03-08 23:19:12 +03:00
LICENSE.MD Small fix 2021-03-09 10:36:12 +03:00
README.MD Update README.MD 2021-03-09 10:46:07 +03:00
index.js Fixed CarmaShots filtering 2021-08-17 11:17:51 +03:00
package.json Changed hierarchy 2021-03-08 23:13:21 +03:00
schemas.js Fixes in DB, again 2021-04-12 23:12:03 +03:00
yarn.lock Changed hierarchy 2021-03-08 23:13:21 +03:00

README.MD

Предупреждаю сразу. Код может показаться плохим, и возможно, так оно и есть. Некоторые элементы переписываются со временем.

godotbot

Godette Bot for Godot Engine Russian community

Кармабот и бот-триггер в одном. Подсчитывает общую карму для всех заданных чатов, реагирует на кодовые наборы символов и отправляет в ответ сообщения из базы.

Зависимости проетка:

Что нужно для запуска:

  • MongoDB сервер
  • Docker не обязателен, можно запустить напрямую на основной машине, установив зависимости через yarn install

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

  • MONGO_HOST - адрес и порт сервера MongoDB. Без mongodb://. Создаётся база данных godot.
  • TOKEN - токен для доступа к Telegram Bot API
  • NEW_CHATS - ставится на первое время для того, чтобы в БД записалась информация о нужных чатах. Как только чаты появятся в godot.chats, можно перезапустить бота без данной переменной, и он не будет принимать сообщения из других чатов. Можно поставить NEW_CHATS=1, например.

В коллекцию godot.triggers желательно добавить по одной фразе для триггеров:

  • tooFast - слишком быстрые изменения кармы;
  • selfLike - самолайк;
  • offtop - применяется, если у данного чата есть отдельный чат для оффтопа, на который также надо будет указать ссылку. Пока делается напрямую в коде;
  • docs - кидает ссылку на поиск по документации. Можно вырезать целиком, если не нужно.
  • karmaForMe и minusForMe - изменения кармы для самого бота.

Как выглядят записи триггеров в коллекции godot.triggers:

{
  "trigger": "selfLike",
  "text": "Самолайк - залог плохой кармы",
  "show": true
}