Идея #13
Интеграция c ботом
Иногда поступают прям экзотические запросы, которые требуют нежелательной доработки бота (в целом или на данном этапе).
Для таких запросов подойдет интеграционное API. Со стороны бота разрабатывается модуль для получения запросов, отправки ответов, а вы реализуете фичу
Этап 1: HTTP Callback API, для уведомления внешнего сервера о событиях, которые происходят на боте.
Список событий:
- Игрок вошел в игру
- Игрок покинул игру
- Сообщение в чат от игрока
- Тик игрового времени + действия (SendAllActions в ваш callback)
Этап 2: HTTP LongPoll API, для получения команд с вашего сервера на исполнение в лобби.
Список команд:
Манипуляция игровыми слотами (все, что может !editslot)
Отправка сообщений от имени бота
Отправка действий от лица fakeplayer
Исключить игрока
Начать игру
Не входит: исполнение чат команд (те, которые пишутся игроками через !)
Этап 3: Разработка интерфейса по интеграции моста между вашим сервером и картой.
Я давно хочу встроить в игру возможность переносить какие-то данные из карты на сервер и обратно.
Выглядеть будет это примерно так:
С вашего сервера к боту подтягиваются переменные, привязанные к игроку. Бот формирует трафик для игры, и отправляет его в вашу карту. Бот читает трафик карты и отправляет его обратно вам на сервер в виде обновления переменных.
Этап включает библиотеку на JASS с использование API передачи данных через хештаблицу (UjApi) с применением FakePlayer
Цели:
Этап 1: 2000
Этап 2: 2000
Этап 3: 3000 (реализуется независимо от HTTP Callback и HTTP LongPoll)
Дополнительно можно запросить реализацию других команд в HTTP LongPoll или в HTTP Callback. Или реализацию интеграции сервер -> карта на другом транспорте