Перейти к содержимому

Привязка MyAnimeList

С привязкой MyAnimeList каждый игрок может привязать свой аккаунт MyAnimeList и начинать раунд, выбирая аниме прямо из своего списка (вариант Мой список MAL). Это необязательно: без привязки всё остальное работает так же, просто этого варианта нет.

Зарегистрируйте бесплатное приложение на странице API config MyAnimeList: App Type web, Authorization Code Grant с PKCE. Так вы получите MAL_CLIENT_ID и MAL_CLIENT_SECRET.

После того как игрок разрешит доступ, MyAnimeList отправит его браузер на маленькую страницу с кодом, который нужно прислать Nani Pix. Эта страница, docs/site/public/mal-callback.html, публикуется на GitHub Pages вместе с этим гайдом через workflow docs.yml из репозитория.

В своём форке:

  1. Откройте Settings → Pages и выберите Source: GitHub Actions.
  2. На вкладке Actions включите workflows для форка.
  3. Запустите workflow Docs на ветке master (сам по себе push его не публикует).

После этого страница будет по адресу:

https://<ваш-github-username>.github.io/nani-pix-bot/mal-callback.html

Зарегистрируйте ровно этот адрес как redirect URL своего приложения MyAnimeList и укажите его же в MAL_REDIRECT_URI в .env. Не переименовывайте репозиторий nani-pix-bot — адрес зависит от его имени.

Токены MyAnimeList игроков хранятся зашифрованными. Сгенерируйте ключ и укажите его в MAL_TOKEN_ENCRYPTION_KEY. Точная команда — в комментариях .env.example прямо над параметрами MAL_*. Держите ключ в секрете. Если вы его поменяете или потеряете, ничего не сломается: старые привязки просто перестанут работать, и Nani Pix попросит игроков снова отправить /linkmal.

Все четыре параметра MAL_* задаются вместе. Если задана только часть, Nani Pix при запуске напишет в лог предупреждение со списком недостающих и оставит привязку выключенной. Неверный ключ шифрования тоже будет замечен при запуске. Когда всё задано, вариант Мой список MAL появляется у всех игроков, а /linkmal работает.