FMN_bot/src/listener_mention.py

43 lines
2.3 KiB
Python
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.

from src.fedi_api import get_notifications, mark_as_read_notification, post_status
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
import threading, time
acct_admin_bot=main_admin_bot
def get_control_mention(acct_admin_bot=str):
while True:
notif = get_notifications()
for i in notif:
if i['account']['acct'] == acct_admin_bot and i['pleroma']['is_seen'] == False and i['status']['in_reply_to_id'] == None:
st_id = i['status']['id']
post_status(start_collect_movies_text(), st_id)
time.sleep(0.2)
mark_as_read_notification(i['id'])
add_state('last_thread_id', st_id)
time.sleep(30)
def start_collect_movies_text():
text = f'''
Начинаем прием заявок на следующий вечерний киносеанс, запланированный на $дата_следующего_киносеанса в 21:00 по Москве.
Напоминаем правила:
- Мы принимаем на просмотр полнометражные художественные фильмы;
- Прием варианта осуществляется путем публикации ссылки на этот фильм на IMDB или Кинопоиске в этом треде;
- Нам не подходят: сериалы, короткометражные и документальные фильмы;
- Максимальное количество вариантов, предложенных одним человеком не должно превышать {limit_movies_per_user};
- Всего может быть собрано до {limit_all_movies_poll} фильмов;
- Заявки принимаются до крайнего срока, после чего будет объявлено голосование по собранным вариантам.
Крайний срок подачи заявки - $датаедлайна.
Желаем удачи.
'''.replace('\t', '')
return text
def run_scan_notif():
scan_notif = threading.Thread(target=get_control_mention, args=(acct_admin_bot,), daemon=True)
scan_notif.start()