mirror of
https://gitea.phreedom.club/localhost_frssoft/FMN_bot
synced 2024-11-01 02:09:18 +02:00
71 lines
5.4 KiB
Markdown
71 lines
5.4 KiB
Markdown
# Fediverse Movie Night Bot (FMN Bot)
|
||
|
||
Бот для автоматизации сбора предложений фильмов на FMN и создания голосования
|
||
Special for [XXIVProduction](https://xxivproduction.video/) and [drq@mastodon.ml](https://mastodon.ml/@drq).
|
||
|
||
## Первичная инициализация
|
||
* Установка зависимостей 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.example описан каждый параметр, который можно менять сделайте его копию в каталог с ботом убрав расширение .example
|
||
```
|
||
cp config.py.example config.py
|
||
```
|
||
|
||
## Запуск
|
||
```
|
||
python3 fmn_bot.py
|
||
```
|
||
|
||
## Использование
|
||
Просто упомяните бота (упоминающий должен быть прописан в администраторах бота см. config.py), в воскресенье/понедельник, когда Fediverse Movie Night окончен. Бот инициализирует сборщика предложений и будет собирать фильмы, которые будут поступать в виде ссылок на imdb.com (также теперь есть поддержка фронтедов [libremdb](https://github.com/zyachel/libremdb)) и kinopoisk.ru в том треде, где его упомянули. Сбор будет завершен во вторник 16:00 (по-умолчанию) MSK+3. После этого всех кто не успел предложить фильм бот будет уведомлять, что сбор завершен и даст ссылку на голосовалку. По завершению голосовалки (суббота 16:00), будет вычисляться фильм-победитель на FMN, если у нескольких фильмов одинаковые голоса, то будет создан tie breaker. Победивший фильм будет записан сразу как "просмотренный", чтобы не добавлять его на следующий FMN повторно. Далее бот будет ждать очередного упоминания.
|
||
|
||
Note: Рекомендуется использовать ссылки на imdb.com, так как локальная база IMDB надёжнее, чем сетевой сторонний API Кинопоиска.
|
||
Note2: Список доступных для приёма инстансов libremdb обновляется вручную и может не соотвествовать официальному.
|
||
|
||
## Список поддерживаемых инстансов libremdb:
|
||
* https://libremdb.herokuapp.com
|
||
* https://libremdb.pussthecat.org
|
||
* https://libremdbeu.herokuapp.com
|
||
* https://lmdb.tokhmi.xyz/
|
||
* https://libremdb.esmailelbob.xyz/
|
||
* http://libremdb.lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd.onion/
|
||
|
||
## Правила оформления постов с фильмами (рекомендательное)
|
||
|
||
* Пользователь может предложить несколько фильмов в посте, но только при условии, что он берёт их с одного и того же источника
|
||
* Пользователь может предлагать фильмы несколькими постами, но лучше избежать этого.
|
||
* Ссылки можно располагать любым удобным способом, но рекомендуется расположить их как список:
|
||
```
|
||
[ваш реплей на пост]
|
||
https://www.imdb.com/title/tt0087544/
|
||
https://www.imdb.com/title/tt0120655/
|
||
```
|
||
|