/ChatBots

Решение задач трека Чат-боты команды "Не творог, а творог"

Primary LanguageGo

Чат-боты

Решение задач трека чат-боты команды "Не творог, а творог"

ВНИМАНИЕ

В связи с тем, что бот хостится на heroku, где бесплатный тариф требует ежедневного шестичасового сна, наш бот тоже будет спать (с 21:00 до 3:00 GMT или же с 0:00 до 6:00 МСК)

СПАСИБО ЗА ВНИМАНИЕ!

ВНИМАНИЕ

Если бот спит в рабочее время, то перейдите на сайт, чтобы его разбудить (в ответе должно появиться pong)

СПАСИБО ЗА ВНИМАНИЕ!

Как запускать

Для корректной работы с VK API потребуется два токена: групповой токен и access токен. Гайды по их получению:

В корне проекта создать файл .env следующего вида:

# .env
GROUP_TOKEN=TOP_SECRET_TOKEN
SECRET=TOP_SECRET_TOKEN

Для запуска потребуется go1.14

Запуск без сборки:

go run .

Запуск со сброкой:

go build .

C последующим запуском бинарного файла

Как пользоваться

Все существующие команды (часть из которых активна в разное время):

Старт

Команда для начала взаимодействия с роботом. Активна в то время, когда игрок не находится в игровой сессии

Покинуть игру

Покинуть текущую игровую сессию. Если игра не началась, а вы являетесь хостом сессии, то всех игроков автоматически отключит от текущей сессии

Подключиться

Выводит список доступных игровых сессий. Активна в то время, когда игрок не находится в игровой сессии

Начать новую игру

Создает новую игру. Игрок, создавший игру, становится хостом. Хост может выбрать колоду для игры, выслав ссылку на подходящий альбом (пример), а также может начать игру

Начать игру

Начинает игру. Возможность активировать данную команду есть только у хоста

Результаты

Выводит результаты игроков

Выполненные задачи

10

На сообщение «Старт» от пользователя выведите 5 случайных неповторяющихся и ещё не использованных изображений из колоды, отправьте их пользователю в одном сообщении.

Релиз: v0.1.0

20

Для каждого из изображений напишите несколько ключевых слов. Как и в задании за 10, выберите 5 случайных карт из колоды. Для выбранной пятёрки найдите ключевое слово, которое будет применимо только к одной из выбранных картинок. Отправьте это слово следующим после изображений карт. Попросите пользователя угадать, какая из карт соответствует ключевому слову. Если пользователь угадает — получит 3 балла. Если ошибётся — получит 0 баллов.

Релиз: v0.2.0

30

Поддержите загрузку своего набора изображений. Если пользователь отправит вам ссылку на альбом с фотографиями ВКонтакте, переключайтесь на них как на колоду карт. Все слова в описании фотографии считайте описаниями карт.

Релиз: v0.3.0

40

Поддержите мультиплеер! Приглашайте игроков регистрироваться на игру в личных сообщениях бота. Показывайте список ещё идущих игр — и приглашайте присоединиться к ним. На каждом круге предлагайте участникам одинаковый набор из пяти картинок и ключевое слово, подходящее к одной из них. Всем игрокам, правильно угадавшим загаданное изображение, начисляется по 3 балла. А по команде «результаты» показывайте текущее количество набранных всеми игроками баллов.

Релиз: v0.3.0

Пример работы

1 2 3 4