An open API service indexing awesome lists of open source software.

https://github.com/kreipikc/mattermost-botpoll


https://github.com/kreipikc/mattermost-botpoll

Last synced: about 2 months ago
JSON representation

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** и создать его в настройках профиля.