# This file is part of python-cinema-club-bot # contributed in 2024 by Mikhail Kirillov (~w96k) # To the extent possible under law, the author(s) have dedicated all copyright # and related and neighboring rights to this software to the public domain # worldwide. This software is distributed without any warranty. # You should have received a copy of the CC0 Public Domain Dedication along # with this software. If not, see: # from telegram.ext import ContextTypes from collections import deque def context_init(context: ContextTypes.DEFAULT_TYPE): """ Initialize chat context with starting values """ if "users" not in context.chat_data: context.chat_data["users"]: list[str] = [] if "movies" not in context.chat_data: context.chat_data["movies"]: list[dict] = [] if "events" not in context.chat_data: context.chat_data["events"]: list[dict] = [] return context def normalize_username(username: str): return username.replace("@", "") def create_users_string(users: list[str]) -> str: return "`" + ", ".join(users) + "`" def choose_next_user(users: list[dict]) -> list[dict]: users = deque(users) users.rotate(-1) # -1 moves list to left by 1 element return list(users)