diff options
Diffstat (limited to 'utils.py')
-rw-r--r-- | utils.py | 25 |
1 files changed, 23 insertions, 2 deletions
@@ -11,6 +11,7 @@ from telegram.ext import ContextTypes from collections import deque +from typing import Optional def context_init(context: ContextTypes.DEFAULT_TYPE): """ @@ -37,8 +38,28 @@ def create_users_string(users: list[str]) -> str: return "`" + ", ".join(users) + "`" -def choose_next_user(users: list[dict]) -> list[dict]: - users = deque(users) +def choose_next_user(context: ContextTypes.DEFAULT_TYPE) -> list[dict]: + users = deque(context.chat_data["users"]) users.rotate(-1) # -1 moves list to left by 1 element + init_new_event(context, users[0]) + return list(users) + + +def init_new_event(context: ContextTypes.DEFAULT_TYPE, user: dict, movie: Optional[str] = None): + events = context.chat_data["events"] + + last_event = events[-1] if events != [] else None + + init_event = dict( + when=None, + where=None, + movie=movie, + user=user + ) + + if last_event and last_event["movie"] is None: + events[-1] = init_event + else: + events.append(init_event) |