Привязка MyAnimeList
С привязкой MyAnimeList каждый игрок может привязать свой аккаунт MyAnimeList и начинать раунд, выбирая аниме прямо из своего списка (вариант Мой список MAL). Это необязательно: без привязки всё остальное работает так же, просто этого варианта нет.
1. Зарегистрируйте приложение MyAnimeList
Заголовок раздела «1. Зарегистрируйте приложение MyAnimeList»Зарегистрируйте бесплатное приложение на странице
API config MyAnimeList: App Type web,
Authorization Code Grant с PKCE. Так вы получите MAL_CLIENT_ID и
MAL_CLIENT_SECRET.
2. Опубликуйте страницу возврата
Заголовок раздела «2. Опубликуйте страницу возврата»После того как игрок разрешит доступ, MyAnimeList отправит его браузер на
маленькую страницу с кодом, который нужно прислать Nani Pix. Эта страница,
docs/site/public/mal-callback.html, публикуется на GitHub Pages вместе с этим
гайдом через workflow docs.yml из репозитория.
В своём форке:
- Откройте Settings → Pages и выберите Source: GitHub Actions.
- На вкладке Actions включите workflows для форка.
- Запустите 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 — адрес зависит от его имени.
3. Создайте ключ шифрования
Заголовок раздела «3. Создайте ключ шифрования»Токены MyAnimeList игроков хранятся зашифрованными. Сгенерируйте ключ и укажите
его в MAL_TOKEN_ENCRYPTION_KEY. Точная команда — в комментариях .env.example
прямо над параметрами MAL_*. Держите ключ в секрете. Если вы его поменяете или
потеряете, ничего не сломается: старые привязки просто перестанут работать, и
Nani Pix попросит игроков снова отправить /linkmal.
Проверка
Заголовок раздела «Проверка»Все четыре параметра MAL_* задаются вместе. Если задана только часть, Nani Pix при
запуске напишет в лог предупреждение со списком недостающих и оставит привязку
выключенной. Неверный ключ шифрования тоже будет замечен при запуске. Когда всё
задано, вариант Мой список MAL появляется у всех игроков, а /linkmal работает.
