40 lines
2.7 KiB
Markdown
40 lines
2.7 KiB
Markdown
## Предупреждаю сразу. Код может показаться плохим, и возможно, так оно и есть. Некоторые элементы переписываются со временем.
|
||
|
||
# godotbot
|
||
Godette Bot for Godot Engine Russian community
|
||
|
||
Кармабот и бот-триггер в одном. Подсчитывает общую карму для всех заданных чатов, реагирует на кодовые наборы символов и отправляет в ответ сообщения из базы.
|
||
|
||
### Зависимости проетка:
|
||
|
||
- [node-telegram-bot-api](https://github.com/yagop/node-telegram-bot-api)
|
||
- [Mongoose](https://mongoosejs.com/)
|
||
|
||
### Что нужно для запуска:
|
||
|
||
- 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`:
|
||
|
||
```json
|
||
{
|
||
"trigger": "selfLike",
|
||
"text": "Самолайк - залог плохой кармы",
|
||
"show": true
|
||
}
|
||
```
|