* Added README
* Custom browser variable for auth_helper.sh
* Fix requirements
* Fix dataset converter
This commit is contained in:
localhost_frssoft 2022-09-03 02:00:23 +03:00
parent 09b31528f9
commit b8b7b6f70b
4 changed files with 40 additions and 4 deletions

36
README.md Normal file
View File

@ -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 описан каждый параметр, который можно менять

View File

@ -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"

View File

@ -1,3 +1,3 @@
requests requests
dateutil python-dateutil

View File

@ -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