FMN_bot/README.md
2022-09-03 08:46:42 +03:00

49 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Fediverse Movie Night Bot (FMN Bot)
Бот для автоматизации сбора предложений фильмов на FMN и создания голосования
## Первичная инициализация
* Установка зависимостей python3
```
pip install -r requirements.txt
```
* Обновите\создайте базу imdb
Убедитесь, что у вас есть минимум 850~ мегабайт свободного места.
```
python3 update_imdb_database.py
```
Этот процесс довольно продолжительный (5~ минут). После завершения, загруженные датасеты \*.tsv.gz можно удалить.
База может весить около 390~ мегабайт.
* [Зарегистрируйтесь](https://kinopoiskapiunofficial.tech/signup) и получите токен-ключ для неофициального API Кинопоиска
Имейте ввиду, что даже будучи неофициальным - они не принимают анонимную почту, так что нужно ещё иметь какой-нибудь настоящий ящик для всякой всячины. Скопируйте токен.
```
touch .auth_kinopoisk
chmod 600 .auth_kinopoisk
```
Вставьте без пробелов ваш токен в файл .auth_kinopoisk
* Авторизация в Fediverse (гарантированно работает с Pleroma)
Убедитесь, что у вас есть curl, jq и любой браузер (в т.ч. консольные w3m, links, lynx...)
```
browser=links ./auth_helper.sh
```
Следуйте указаниям скрипта, залогиньтесь в ваш аккаунт и скопируйте код-ключ с браузера, закройте и вставьте в появившееся поле ввода.
* Настройка бота
В файле config.py описан каждый параметр, который можно менять
## Запуск
```
python3 fmn_bot.py
```
## Использование
Просто упомяните бота (упоминающий должен быть прописан в администраторах бота см. config.py), в воскресенье/понедельник, когда Fediverse Movie Night окончен. Бот инициализирует сборщика предложений и будет собирать фильмы, которые будут поступать в виде ссылок на imdb.com и kinopoisk.ru в том треде, где его упомянули. Сбор будет завершен во вторник 16:00 (по-умолчанию) MSK+3. После этого всех кто не успел предложить фильм бот будет уведомлять, что сбор завершен и даст ссылку на голосовалку. По завершению голосовалки (суббота 16:00), будет вычисляться фильм-победитель на FMN, если у нескольких фильмов одинаковые голоса, то будет создан tie breaker. Победивший фильм будет записан сразу как "просмотренный", чтобы не добавлять его на следующий FMN повторно. Далее бот будет ждать очередного упоминания.
Note: Рекомендуется использовать ссылки на imdb.com, так как локальная база IMDB надёжнее, чем сетевой сторонний API Кинопоиска.