from typing import Dict

from database import RoleRegion

# Настройка экспорта
__all__ = ("genshin_roles", "hsr_roles", "ID_TO_ROLE", "all_roles",)

# Словарь с ID пользователей и их ролями
ID_TO_ROLE: Dict[int, str] = {
    6639261502: "Рацио",
    7435095514: "Панталоне",
    6250345032: "Сандэй",
    5683309573: "Хохо",
    833230790: "Сампо",
    6688236743: "Аглая",
    459453807: "Флинс",
    7831579419: "Анакса",
    7749831743: "Венти",
    1364984004: "Аргенти",
    1369873051: "Альбедо",
    1222399228: "Химеко",
    8199185983: "Лоча",
    7576341592: "Фуга",
    5426987140: "Варка",
    1316852704: "Аха",
    1764269904: "Цзин Юань",
    1992416693: "Бутхилл",
    1314539668: "Кафка",
    1207917053: "Топаз",
    5025299829: "Вельт",
    991994028: "Авантюрин",
    1362425172: "Цифер",
    2006013059: "Жуань Мэй",
    7794291575: "Стивен Ллойд",
    6751720805: "Дотторе",
    5260895056: "Фэйсяо",
    1438721683: "Бай Чжу",
}

genshin_roles: list = [
    # Мондштадт
    ("Альбедо", RoleRegion.MONDSTADT),
    ("Барбара", RoleRegion.MONDSTADT),
    ("Беннет", RoleRegion.MONDSTADT),
    ("Венти", RoleRegion.MONDSTADT),
    ("Далия", RoleRegion.MONDSTADT),
    ("Джинн", RoleRegion.MONDSTADT),
    ("Дилюк", RoleRegion.MONDSTADT),
    ("Диона", RoleRegion.MONDSTADT),
    ("Кли", RoleRegion.MONDSTADT),
    ("Кэйа", RoleRegion.MONDSTADT),
    ("Лиза", RoleRegion.MONDSTADT),
    ("Мика", RoleRegion.MONDSTADT),
    ("Мона", RoleRegion.MONDSTADT),
    ("Ноэлль", RoleRegion.MONDSTADT),
    ("Розария", RoleRegion.MONDSTADT),
    ("Рэйзор", RoleRegion.MONDSTADT),
    ("Сахароза", RoleRegion.MONDSTADT),
    ("Фишль", RoleRegion.MONDSTADT),
    ("Эмбер", RoleRegion.MONDSTADT),
    ("Эола", RoleRegion.MONDSTADT),

    # Ли Юэ
    ("Бай Чжу", RoleRegion.LIYUE),
    ("Бэй Доу", RoleRegion.LIYUE),
    ("Гань Юй", RoleRegion.LIYUE),
    ("Е Лань", RoleRegion.LIYUE),
    ("Ка Мин", RoleRegion.LIYUE),
    ("Кэ Цин", RoleRegion.LIYUE),
    ("Лань Янь", RoleRegion.LIYUE),
    ("Нин Гуан", RoleRegion.LIYUE),
    ("Син Цю", RoleRegion.LIYUE),
    ("Синь Янь", RoleRegion.LIYUE),
    ("Сян Лин", RoleRegion.LIYUE),
    ("Сянь Юнь", RoleRegion.LIYUE),
    ("Сяо", RoleRegion.LIYUE),
    ("Ху Тао", RoleRegion.LIYUE),
    ("Ци Ци", RoleRegion.LIYUE),
    ("Чжун Ли", RoleRegion.LIYUE),
    ("Чун Юнь", RoleRegion.LIYUE),
    ("Шэнь Хэ", RoleRegion.LIYUE),
    ("Юнь Цзинь", RoleRegion.LIYUE),
    ("Янь Фэй", RoleRegion.LIYUE),
    ("Яо Яо", RoleRegion.LIYUE),

    # Инадзума
    ("Аяка", RoleRegion.INAZUMA),
    ("Аято", RoleRegion.INAZUMA),
    ("Горо", RoleRegion.INAZUMA),
    ("Ёимия", RoleRegion.INAZUMA),
    ("Итто", RoleRegion.INAZUMA),
    ("Кадзуха", RoleRegion.INAZUMA),
    ("Кирара", RoleRegion.INAZUMA),
    ("Кокоми", RoleRegion.INAZUMA),
    ("Мидзуки", RoleRegion.INAZUMA),
    ("Райдэн Макото", RoleRegion.INAZUMA),
    ("Райдэн Эи", RoleRegion.INAZUMA),
    ("Сара", RoleRegion.INAZUMA),
    ("Саю", RoleRegion.INAZUMA),
    ("Синобу", RoleRegion.INAZUMA),
    ("Тиори", RoleRegion.INAZUMA),
    ("Тома", RoleRegion.INAZUMA),
    ("Хэйдзо", RoleRegion.INAZUMA),
    ("Яэ Мико", RoleRegion.INAZUMA),

    # Сумеру
    ("Аль-Хайтам", RoleRegion.SUMERU),
    ("Дори", RoleRegion.SUMERU),
    ("Дэхья", RoleRegion.SUMERU),
    ("Кавех", RoleRegion.SUMERU),
    ("Кандакия", RoleRegion.SUMERU),
    ("Коллеи", RoleRegion.SUMERU),
    ("Лайла", RoleRegion.SUMERU),
    ("Нахида", RoleRegion.SUMERU),
    ("Нилу", RoleRegion.SUMERU),
    ("Руккхадевата", RoleRegion.SUMERU),
    ("Сайно", RoleRegion.SUMERU),
    ("Сетос", RoleRegion.SUMERU),
    ("Странник", RoleRegion.SUMERU),
    ("Тигнари", RoleRegion.SUMERU),
    ("Фарузан", RoleRegion.SUMERU),

    # Фонтейн
    ("Клоринда", RoleRegion.FONTAINE),
    ("Линетт", RoleRegion.FONTAINE),
    ("Лини", RoleRegion.FONTAINE),
    ("Навия", RoleRegion.FONTAINE),
    ("Нёвиллет", RoleRegion.FONTAINE),
    ("Ризли", RoleRegion.FONTAINE),
    ("Сиджвин", RoleRegion.FONTAINE),
    ("Фокалорс", RoleRegion.FONTAINE),
    ("Фремине", RoleRegion.FONTAINE),
    ("Фурина", RoleRegion.FONTAINE),
    ("Шарлотта", RoleRegion.FONTAINE),
    ("Шеврёз", RoleRegion.FONTAINE),
    ("Эмилия", RoleRegion.FONTAINE),
    ("Эскофье", RoleRegion.FONTAINE),

    # Натлан
    ("Ахав", RoleRegion.NATLAN),
    ("Вареса", RoleRegion.NATLAN),
    ("Иансан", RoleRegion.NATLAN),
    ("Ифа", RoleRegion.NATLAN),
    ("Качина", RoleRegion.NATLAN),
    ("Кинич", RoleRegion.NATLAN),
    ("Мавуика", RoleRegion.NATLAN),
    ("Муалани", RoleRegion.NATLAN),
    ("Оророн", RoleRegion.NATLAN),
    ("Ситлали", RoleRegion.NATLAN),
    ("Часка", RoleRegion.NATLAN),
    ("Шилонен", RoleRegion.NATLAN),

    # Снежная
    ("Арлекино", RoleRegion.SNEZHNAYA),
    ("Дотторе", RoleRegion.SNEZHNAYA),
    ("Капитано", RoleRegion.SNEZHNAYA),
    ("Коломбина", RoleRegion.SNEZHNAYA),
    ("Панталоне", RoleRegion.SNEZHNAYA),
    ("Пульчинелла", RoleRegion.SNEZHNAYA),
    ("Пьеро", RoleRegion.SNEZHNAYA),
    ("Сандроне", RoleRegion.SNEZHNAYA),
    ("Синьора", RoleRegion.SNEZHNAYA),
    ("Царица", RoleRegion.SNEZHNAYA),
    ("Тарталья", RoleRegion.SNEZHNAYA),

    # Каэнри'ах
    ("Айно", RoleRegion.KHAENRIAH),
    ("Алиса", RoleRegion.KHAENRIAH),
    ("Варка", RoleRegion.KHAENRIAH),
    ("Дурин", RoleRegion.KHAENRIAH),
    ("Инеффа", RoleRegion.KHAENRIAH),
    ("Лаума", RoleRegion.KHAENRIAH),
    ("Нефер", RoleRegion.KHAENRIAH),
    ("Николь", RoleRegion.KHAENRIAH),
    ("Флинс", RoleRegion.KHAENRIAH),
    ("Ягода", RoleRegion.KHAENRIAH),

    # Другие (Genshin Impact)
    ("Дайнслейф", RoleRegion.GENSHIN_OTHER),
    ("Итэр", RoleRegion.GENSHIN_OTHER),
    ("Люмин", RoleRegion.GENSHIN_OTHER),
    ("Паймон", RoleRegion.GENSHIN_OTHER),
    ("Рэйндоттир", RoleRegion.GENSHIN_OTHER),
    ("Скирк", RoleRegion.GENSHIN_OTHER),
    ("Элой", RoleRegion.GENSHIN_OTHER),
]

# Роли для Honkai: Star Rail
hsr_roles: list = [
    # Звездный экспресс
    ("Вельт", RoleRegion.HSR_STAR),
    ("Дань Хэн", RoleRegion.HSR_STAR),
    ("Келус", RoleRegion.HSR_STAR),
    ("Март 7", RoleRegion.HSR_STAR),
    ("Стелла", RoleRegion.HSR_STAR),
    ("Химеко", RoleRegion.HSR_STAR),

    # Космическая станция Герта
    ("Арлан", RoleRegion.HSR_GERTA),
    ("Аста", RoleRegion.HSR_GERTA),
    ("Великая Герта", RoleRegion.HSR_GERTA),
    ("Жуань Мэй", RoleRegion.HSR_GERTA),
    ("Полька Какамонд", RoleRegion.HSR_GERTA),
    ("Скрюллум", RoleRegion.HSR_GERTA),
    ("Стивен Ллойд", RoleRegion.HSR_GERTA),

    # Ярило-VI
    ("Броня", RoleRegion.HSR_YARILO),
    ("Гепард", RoleRegion.HSR_YARILO),
    ("Зеле", RoleRegion.HSR_YARILO),
    ("Клара", RoleRegion.HSR_YARILO),
    ("Коколия", RoleRegion.HSR_YARILO),
    ("Лука", RoleRegion.HSR_YARILO),
    ("Наташа", RoleRegion.HSR_YARILO),
    ("Пела", RoleRegion.HSR_YARILO),
    ("Рысь", RoleRegion.HSR_YARILO),
    ("Сампо", RoleRegion.HSR_YARILO),
    ("Сервал", RoleRegion.HSR_YARILO),
    ("Хук", RoleRegion.HSR_YARILO),

    # Лофу Сяньчжоу
    ("Байлу", RoleRegion.HSR_LOFU),
    ("Байхэн", RoleRegion.HSR_LOFU),
    ("Гуйнайфэнь", RoleRegion.HSR_LOFU),
    ("Линша", RoleRegion.HSR_LOFU),
    ("Лоча", RoleRegion.HSR_LOFU),
    ("Моцзэ", RoleRegion.HSR_LOFU),
    ("Сушан", RoleRegion.HSR_LOFU),
    ("Сюэи", RoleRegion.HSR_LOFU),
    ("Фу Сюань", RoleRegion.HSR_LOFU),
    ("Фуга", RoleRegion.HSR_LOFU),
    ("Фэйсяо", RoleRegion.HSR_LOFU),
    ("Ханья", RoleRegion.HSR_LOFU),
    ("Хохо", RoleRegion.HSR_LOFU),
    ("Цзинлю", RoleRegion.HSR_LOFU),
    ("Цзин Юань", RoleRegion.HSR_LOFU),
    ("Цзяоцю", RoleRegion.HSR_LOFU),
    ("Цинцюэ", RoleRegion.HSR_LOFU),
    ("Юйкун", RoleRegion.HSR_LOFU),
    ("Юньли", RoleRegion.HSR_LOFU),
    ("Яньцин", RoleRegion.HSR_LOFU),

    # Пенакония
    ("Ахерон", RoleRegion.HSR_PENACONY),
    ("Воскресенье", RoleRegion.HSR_PENACONY),
    ("Галлахер", RoleRegion.HSR_PENACONY),
    ("Мистер Река", RoleRegion.HSR_PENACONY),
    ("Зарянка", RoleRegion.HSR_PENACONY),
    ("Искорка", RoleRegion.HSR_PENACONY),
    ("Миша", RoleRegion.HSR_PENACONY),
    ("Рацио", RoleRegion.HSR_PENACONY),
    ("Чёрный Лебедь", RoleRegion.HSR_PENACONY),

    # Амфореус
    ("Аглая", RoleRegion.HSR_AMPHOREUS),
    ("Анаксагор", RoleRegion.HSR_AMPHOREUS),
    ("Гиацина", RoleRegion.HSR_AMPHOREUS),
    ("Гисиленса", RoleRegion.HSR_AMPHOREUS),
    ("Кастория", RoleRegion.HSR_AMPHOREUS),
    ("Керидра", RoleRegion.HSR_AMPHOREUS),
    ("Кирена", RoleRegion.HSR_AMPHOREUS),
    ("Ликург", RoleRegion.HSR_AMPHOREUS),
    ("Мидей", RoleRegion.HSR_AMPHOREUS),
    ("Трибби", RoleRegion.HSR_AMPHOREUS),
    ("Фаенон", RoleRegion.HSR_AMPHOREUS),
    ("Цифер", RoleRegion.HSR_AMPHOREUS),

    # Охотники за Стеллар
    ("Блэйд", RoleRegion.HSR_HUNTER),
    ("Кафка", RoleRegion.HSR_HUNTER),
    ("Светлячок", RoleRegion.HSR_HUNTER),
    ("Серебряный Волк", RoleRegion.HSR_HUNTER),
    ("Элио", RoleRegion.HSR_HUNTER),

    # КММ
    ("Авантюрин", RoleRegion.HSR_KMM),
    ("Агат", RoleRegion.HSR_KMM),
    ("Алмаз", RoleRegion.HSR_KMM),
    ("Обсидиан", RoleRegion.HSR_KMM),
    ("Опал", RoleRegion.HSR_KMM),
    ("Перламутр", RoleRegion.HSR_KMM),
    ("Сапфир", RoleRegion.HSR_KMM),
    ("Сугилит", RoleRegion.HSR_KMM),
    ("Топаз", RoleRegion.HSR_KMM),
    ("Янтарь", RoleRegion.HSR_KMM),
    ("Яшма", RoleRegion.HSR_KMM),

    # Эоны
    ("Акивили", RoleRegion.HSR_EONS),
    ("Аха", RoleRegion.HSR_EONS),
    ("Клипот", RoleRegion.HSR_EONS),
    ("Лань", RoleRegion.HSR_EONS),
    ("Нанук", RoleRegion.HSR_EONS),
    ("Нус", RoleRegion.HSR_EONS),
    ("Ороборос", RoleRegion.HSR_EONS),
    ("Тайззиронт", RoleRegion.HSR_EONS),
    ("Фили", RoleRegion.HSR_EONS),
    ("Шипе", RoleRegion.HSR_EONS),
    ("Эна", RoleRegion.HSR_EONS),
    ("Яоши", RoleRegion.HSR_EONS),
    ("IX", RoleRegion.HSR_EONS),

    # Вечногорящий особняк
    ("Акаш", RoleRegion.HSR_FIRE_MANSION),
    ("Герцог Инферно", RoleRegion.HSR_FIRE_MANSION),
    ("Дубра", RoleRegion.HSR_FIRE_MANSION),
    ("Катерина", RoleRegion.HSR_FIRE_MANSION),
    ("Констанция", RoleRegion.HSR_FIRE_MANSION),

    # Лорды Опустошители
    ("Асат Прамад", RoleRegion.HSR_LORDS),
    ("Зефиро", RoleRegion.HSR_LORDS),
    ("Оростелла", RoleRegion.HSR_LORDS),
    ("Фантилия", RoleRegion.HSR_LORDS),

    # Прочие (Honkai: Star Rail)
    ("Аргенти", RoleRegion.HSR_OTHER),
    ("Бутхилл", RoleRegion.HSR_OTHER),
    ("Раппа", RoleRegion.HSR_OTHER),
    ("Архив Пустоты", RoleRegion.HSR_OTHER),

    # Фейт
    ("Арчер", RoleRegion.HSR_FATE),
    ("Сейбер", RoleRegion.HSR_FATE),
]

# Общий список ролей
all_roles: list = genshin_roles + hsr_roles
