mirror of
https://gitea.phreedom.club/localhost_frssoft/FMN_bot
synced 2024-11-22 16:19:22 +02:00
Changes listener mention
* Расчет даты следующего FMN * Установка времени когда прекращать сканировать тред на фильмы
This commit is contained in:
parent
a26bd29e58
commit
6033095e89
|
@ -1,7 +1,11 @@
|
||||||
from src.fedi_api import get_notifications, mark_as_read_notification, post_status
|
from src.fedi_api import get_notifications, mark_as_read_notification, post_status
|
||||||
from src.fmn_states_db import add_state
|
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 config import main_admin_bot, limit_movies_per_user, limit_all_movies_poll, hour_poll_posting
|
||||||
|
|
||||||
import threading, time
|
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
|
acct_admin_bot=main_admin_bot
|
||||||
|
|
||||||
|
@ -11,16 +15,28 @@ def get_control_mention(acct_admin_bot=str):
|
||||||
for i in notif:
|
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:
|
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']
|
st_id = i['status']['id']
|
||||||
post_status(start_collect_movies_text(), st_id)
|
st_date = i['status']['created_at']
|
||||||
|
thread_created_at = dateutilparse(st_date)
|
||||||
|
delta = relativedelta(hour=hour_poll_posting, minute=0, second=0, weekday=TU(1))
|
||||||
|
next_movie_watching_delta = relativedelta(hour=21, minute=0, second=0, weekday=SU(1))
|
||||||
|
stop_thread_scan = thread_created_at + delta
|
||||||
|
next_movie_watching = thread_created_at + next_movie_watching_delta
|
||||||
|
next_movie_watching = next_movie_watching.strftime('%d.%m.%Y')
|
||||||
|
movies_accept_time = stop_thread_scan.strftime('%H:%M %d.%m.%Y MSK')
|
||||||
|
stop_thread_scan = time.mktime(time.struct_time(stop_thread_scan.timetuple()))
|
||||||
|
|
||||||
|
post_status(start_collect_movies_text(movies_accept_time, next_movie_watching), st_id)
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
mark_as_read_notification(i['id'])
|
mark_as_read_notification(i['id'])
|
||||||
|
add_state('stop_thread_scan', int(stop_thread_scan))
|
||||||
add_state('last_thread_id', st_id)
|
add_state('last_thread_id', st_id)
|
||||||
|
break
|
||||||
time.sleep(30)
|
time.sleep(30)
|
||||||
|
|
||||||
|
|
||||||
def start_collect_movies_text():
|
def start_collect_movies_text(movies_accept_time=str, next_movie_watching=str):
|
||||||
text = f'''
|
text = f'''
|
||||||
Начинаем прием заявок на следующий вечерний киносеанс, запланированный на $дата_следующего_киносеанса в 21:00 по Москве.
|
Начинаем прием заявок на следующий вечерний киносеанс, запланированный на {next_movie_watching} в 21:00 по Москве.
|
||||||
|
|
||||||
Напоминаем правила:
|
Напоминаем правила:
|
||||||
- Мы принимаем на просмотр полнометражные художественные фильмы;
|
- Мы принимаем на просмотр полнометражные художественные фильмы;
|
||||||
|
@ -30,7 +46,7 @@ def start_collect_movies_text():
|
||||||
- Всего может быть собрано до {limit_all_movies_poll} фильмов;
|
- Всего может быть собрано до {limit_all_movies_poll} фильмов;
|
||||||
- Заявки принимаются до крайнего срока, после чего будет объявлено голосование по собранным вариантам.
|
- Заявки принимаются до крайнего срока, после чего будет объявлено голосование по собранным вариантам.
|
||||||
|
|
||||||
Крайний срок подачи заявки - $дата_дедлайна.
|
Крайний срок подачи заявки - {movies_accept_time}.
|
||||||
|
|
||||||
Желаем удачи.
|
Желаем удачи.
|
||||||
'''.replace('\t', '')
|
'''.replace('\t', '')
|
||||||
|
|
Loading…
Reference in New Issue