mirror of
https://gitea.phreedom.club/localhost_frssoft/FMN_bot
synced 2024-11-22 16:19:22 +02:00
Update:
* Added README * Custom browser variable for auth_helper.sh * Fix requirements * Fix dataset converter
This commit is contained in:
parent
09b31528f9
commit
b8b7b6f70b
|
@ -0,0 +1,36 @@
|
||||||
|
# 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 описан каждый параметр, который можно менять
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
default_auth_browser()
|
default_auth_browser()
|
||||||
{
|
{
|
||||||
w3m $@
|
$browser $@
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir -m 711 -p .app_sessions
|
mkdir -m 711 -p .app_sessions
|
||||||
|
@ -10,7 +10,7 @@ mkdir -m 711 -p .app_sessions
|
||||||
echo 'Input instance (example.example)'
|
echo 'Input instance (example.example)'
|
||||||
read instance
|
read instance
|
||||||
|
|
||||||
echo 'Input client/app name'
|
echo 'Input client/app name (Example: FMN_bot)'
|
||||||
read client_name
|
read client_name
|
||||||
|
|
||||||
export instance_point="https://$instance/api/v1"
|
export instance_point="https://$instance/api/v1"
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
requests
|
requests
|
||||||
dateutil
|
python-dateutil
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ def convert_tsv_to_db(title_basics_tsv):
|
||||||
if counter >= 1000:
|
if counter >= 1000:
|
||||||
c.executemany("INSERT OR REPLACE INTO titles(tt_id, type, original_name, ru_name, year) VALUES (?, ?, ?, ?, ?)", write_dataset)
|
c.executemany("INSERT OR REPLACE INTO titles(tt_id, type, original_name, ru_name, year) VALUES (?, ?, ?, ?, ?)", write_dataset)
|
||||||
write_dataset = []
|
write_dataset = []
|
||||||
|
counter = 0
|
||||||
except Exception as E:
|
except Exception as E:
|
||||||
print(E)
|
print(E)
|
||||||
pass
|
pass
|
||||||
|
@ -83,6 +84,5 @@ def get_title_by_id(films_ids=list):
|
||||||
for i in films_ids:
|
for i in films_ids:
|
||||||
tt_film = c.execute(f"SELECT * FROM titles WHERE tt_id={i}").fetchone()
|
tt_film = c.execute(f"SELECT * FROM titles WHERE tt_id={i}").fetchone()
|
||||||
tt_list.append(tt_film)
|
tt_list.append(tt_film)
|
||||||
print(tt_list)
|
|
||||||
return tt_list
|
return tt_list
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue