mirror of
https://gitea.phreedom.club/localhost_frssoft/FMN_bot.git
synced 2024-11-21 21:41:26 +00:00
Add multiple admins support
Теперь бота может упомянуть один из нескольких админов
This commit is contained in:
parent
600b022e8a
commit
b5738f5ff8
|
@ -1,6 +1,7 @@
|
|||
main_admin_bot = '' # Ник админа бота
|
||||
bot_acct = '' # Ник бота на инстансе
|
||||
instance = '' # Инстанс, где будет запущен бот
|
||||
admins_bot = ('drq@mastodon.ml',) # Адреса админов бота, которые могут упомянуть бота для инициализации FMN
|
||||
# Example: ('admin_user', 'another_admin_user2@example.example') or ('admin_user',)
|
||||
bot_acct = 'fmn' # Ник бота на инстансе
|
||||
instance = 'expired.mentality.rip' # Инстанс, где будет запущен бот
|
||||
limit_movies_per_user = 2 # Ограничение количества фильмов на одного пользователя
|
||||
limit_all_movies_poll = 20 # Сколько можно добавить всего фильмов
|
||||
hour_poll_posting=16 # Час в который будет создан пост с голосовалкой
|
||||
|
|
|
@ -1,26 +1,29 @@
|
|||
from src.fedi_api import get_notifications, mark_as_read_notification, post_status, upload_attachment
|
||||
from src.fmn_states_db import add_state
|
||||
from config import main_admin_bot, limit_movies_per_user, limit_all_movies_poll, hour_poll_posting
|
||||
from src.fmn_states_db import add_state, get_state
|
||||
from config import admins_bot, limit_movies_per_user, limit_all_movies_poll, hour_poll_posting
|
||||
|
||||
import threading, time
|
||||
from datetime import datetime
|
||||
from dateutil.parser import parse as dateutilparse
|
||||
from dateutil.relativedelta import relativedelta, TU, SU
|
||||
|
||||
acct_admin_bot=main_admin_bot
|
||||
|
||||
def get_control_mention(acct_admin_bot=str):
|
||||
def get_control_mention():
|
||||
while True:
|
||||
now_week = datetime.now().weekday()
|
||||
if now_week not in (0, 6):
|
||||
time.sleep(30)
|
||||
continue
|
||||
if get_state('last_thread_id'):
|
||||
time.sleep(30)
|
||||
continue
|
||||
|
||||
notif = get_notifications()
|
||||
for i in notif:
|
||||
seen = i['pleroma']['is_seen']
|
||||
acct_mention = i['account']['acct']
|
||||
reply_to_id = i['status']['in_reply_to_id']
|
||||
if acct_mention == acct_admin_bot and seen == False and reply_to_id == None and now_week in (0, 6):
|
||||
if acct_mention in admins_bot and seen == False and reply_to_id == None and now_week in (0, 6):
|
||||
st_id = i['status']['id']
|
||||
st_date = i['status']['created_at']
|
||||
thread_created_at = dateutilparse(st_date)
|
||||
|
@ -60,6 +63,6 @@ def start_collect_movies_text(movies_accept_time=str, next_movie_watching=str):
|
|||
return text
|
||||
|
||||
def run_scan_notif():
|
||||
scan_notif = threading.Thread(target=get_control_mention, args=(acct_admin_bot,), daemon=True)
|
||||
scan_notif = threading.Thread(target=get_control_mention, daemon=True)
|
||||
scan_notif.start()
|
||||
|
||||
|
|
Loading…
Reference in a new issue