https://github.com/kreipikc/mattermost-botpoll
https://github.com/kreipikc/mattermost-botpoll
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kreipikc/mattermost-botpoll
- Owner: kreipikc
- Created: 2025-03-24T17:50:30.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2025-03-27T11:16:42.000Z (about 2 months ago)
- Last Synced: 2025-03-27T12:27:23.299Z (about 2 months ago)
- Language: Go
- Size: 93.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mattermost Bot-poll
## Быстрый старт
### 1. Клонируем репозиторий в удобное для вас место на устройстве:
```
git clone https://github.com/kreipikc/mattermost-botpoll.git
```
### 2. Настраиваем переменные окружения:
1. Находим файл `.env.example` в корне проекта;
2. Создаем в этой же директории файл `.env`;
3. Вставляем все данные из `.env.example`;
4. При необходимости меняем данные.Дальше настраиваем переменные окружения в самом боте.
Находим `/app/envs/.env.example`, проделываем те же шаги, что и с первым файлом окружения, но при изменении данных нужно учитывать:
- *TARANTOOL_USER* и *TARANTOOL_PASSWORD* должны быть одинаковыми в обоих `.env` файлах;
- Для запуска через docker (с настройками по умолчанию) не нужно менять ничего кроме *MATTERMOST_TOKEN* (токен бота из Mattermost).### 3. Запускаем все через `docker-compose`:
```
cd /mattermost-botpoll
docker-compose up
```### 4. Все готово! Теперь можно протестировать бота в Mattermost по ссылке - http://localhost:8065/
Для посмотра всех команд для работы с голосованиями напишите в чат: `!help`## Общая информация
Работа была выполнена в соответствии с ТЗ.Все команды бота:
1. `!hello` - тестовая команда для проверки работы бота;
2. `!help` - вывод всех команд для работы с голосованиями;
3. `!poll ` - создание голосования;
4. `!info_poll ` - вывод данных о голосовании;
5. `!vote_poll ` - проголосовать за вариант;
6. `!end_poll ` - завершение голосования (только автор);
7. `!delete_poll ` - удаление голосования (только автор).Все сервисы в `docker-compose`:
- **postgres** - сервис с базой данных PostgresSQL для работы Mattermost;
- **mattermost** - сервис с мессенджером Mattermost;
- **tarantool** - сервис с базой данных Tarantool для хранения информации о голосованиях;
- **bot** - сервис с ботом на Golang, обрабатывающий команды.## Возможные вопросы
- Откуда взять *MATTERMOST_TOKEN*?Чтобы получить данный токен, вам нужно зарегистрироваться в мессенджере **Mattermost** и создать его в настройках профиля.