1.8 Новая таблица с персонажами флуда
This commit is contained in:
@@ -7,10 +7,13 @@ from ProjectsFiles import BotVar
|
|||||||
# Настройка экспорта в модули
|
# Настройка экспорта в модули
|
||||||
__all__ = ("create_user_db",)
|
__all__ = ("create_user_db",)
|
||||||
|
|
||||||
|
|
||||||
# Функция создания базы данных
|
# Функция создания базы данных
|
||||||
async def create_user_db(bd_name: str = BotVar.bd_names):
|
async def create_user_db(bd_name: str = BotVar.bd_names):
|
||||||
with sqlite3.connect(bd_name) as db:
|
with sqlite3.connect(bd_name) as db:
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
|
|
||||||
|
# Таблица пользователей
|
||||||
cursor.execute('''
|
cursor.execute('''
|
||||||
CREATE TABLE IF NOT EXISTS users (
|
CREATE TABLE IF NOT EXISTS users (
|
||||||
user_id INTEGER PRIMARY KEY,
|
user_id INTEGER PRIMARY KEY,
|
||||||
@@ -18,10 +21,12 @@ async def create_user_db(bd_name: str = BotVar.bd_names):
|
|||||||
username TEXT,
|
username TEXT,
|
||||||
first_name TEXT,
|
first_name TEXT,
|
||||||
last_name TEXT,
|
last_name TEXT,
|
||||||
role TEXT DEFAULT 'active',
|
role TEXT DEFAULT NULL,
|
||||||
status TEXT DEFAULT 'user'
|
status TEXT DEFAULT 'active',
|
||||||
|
user TEXT DEFAULT 'user'
|
||||||
);''')
|
);''')
|
||||||
|
|
||||||
|
# Таблица сообщений пользователей
|
||||||
cursor.execute('''
|
cursor.execute('''
|
||||||
CREATE TABLE IF NOT EXISTS user_messages (
|
CREATE TABLE IF NOT EXISTS user_messages (
|
||||||
user_id INTEGER PRIMARY KEY, -- Уникальный ключ
|
user_id INTEGER PRIMARY KEY, -- Уникальный ключ
|
||||||
@@ -32,7 +37,147 @@ async def create_user_db(bd_name: str = BotVar.bd_names):
|
|||||||
messages_per_week INTEGER DEFAULT 0,
|
messages_per_week INTEGER DEFAULT 0,
|
||||||
messages_per_month INTEGER DEFAULT 0,
|
messages_per_month INTEGER DEFAULT 0,
|
||||||
total_messages INTEGER DEFAULT 0,
|
total_messages INTEGER DEFAULT 0,
|
||||||
FOREIGN KEY (user_id) REFERENCES users (user_id)
|
FOREIGN KEY (user_id) REFERENCES users (user_id) ON DELETE CASCADE
|
||||||
);''')
|
);''')
|
||||||
|
|
||||||
|
# Таблица персонажей
|
||||||
|
cursor.execute('''
|
||||||
|
CREATE TABLE IF NOT EXISTS characters (
|
||||||
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
region TEXT NOT NULL,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
status TEXT DEFAULT 'Свободно',
|
||||||
|
user_id INTEGER DEFAULT NULL,
|
||||||
|
comment TEXT DEFAULT '',
|
||||||
|
FOREIGN KEY (user_id) REFERENCES users (user_id) ON DELETE SET NULL
|
||||||
|
);''')
|
||||||
|
|
||||||
|
characters = [
|
||||||
|
# Мондштадт
|
||||||
|
("Мондштадт", "Венти", "Свободно", ""),
|
||||||
|
("Мондштадт", "Кэйа", "Свободно", ""),
|
||||||
|
("Мондштадт", "Альбедо", "Свободно", ""),
|
||||||
|
("Мондштадт", "Дилюк", "Свободно", ""),
|
||||||
|
("Мондштадт", "Мика", "Свободно", ""),
|
||||||
|
("Мондштадт", "Беннет", "Свободно", ""),
|
||||||
|
("Мондштадт", "Рэйзор", "Свободно", ""),
|
||||||
|
("Мондштадт", "Эола", "Свободно", ""),
|
||||||
|
("Мондштадт", "Мона", "Свободно", ""),
|
||||||
|
("Мондштадт", "Джинн", "Свободно", ""),
|
||||||
|
("Мондштадт", "Диона", "Свободно", ""),
|
||||||
|
("Мондштадт", "Лиза", "Свободно", ""),
|
||||||
|
("Мондштадт", "Ноэлль", "Свободно", ""),
|
||||||
|
("Мондштадт", "Сахароза", "Свободно", ""),
|
||||||
|
("Мондштадт", "Розария", "Свободно", ""),
|
||||||
|
("Мондштадт", "Эмбер", "Свободно", ""),
|
||||||
|
("Мондштадт", "Фишль", "Свободно", ""),
|
||||||
|
("Мондштадт", "Барбара", "Свободно", ""),
|
||||||
|
|
||||||
|
# Ли Юэ
|
||||||
|
("Ли Юэ", "Чжун Ли", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Сяо", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Син Цю", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Чун Юнь", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Бай Чжу", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Е Лань", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Шень Хэ", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Гань Юй", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Ци Ци", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Кэ Цин", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Янь Фэй", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Нин Гуан", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Бэй Доу", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Яо Яо", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Ка Мин", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Сянь Юнь", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Юнь Цзинь", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Ху Тао", "Свободно", ""),
|
||||||
|
("Ли Юэ", "Лань Янь", "Свободно", ""),
|
||||||
|
|
||||||
|
# Инадзума
|
||||||
|
("Инадзума", "Итто", "Свободно", ""),
|
||||||
|
("Инадзума", "Горо", "Свободно", ""),
|
||||||
|
("Инадзума", "Аято", "Свободно", ""),
|
||||||
|
("Инадзума", "Хэйдзо", "Свободно", ""),
|
||||||
|
("Инадзума", "Тома", "Свободно", ""),
|
||||||
|
("Инадзума", "Кадзуха", "Свободно", ""),
|
||||||
|
("Инадзума", "Кирара", "Свободно", ""),
|
||||||
|
("Инадзума", "Кудзё Сара", "Свободно", ""),
|
||||||
|
("Инадзума", "Ёимия", "Свободно", ""),
|
||||||
|
("Инадзума", "Аяка", "Свободно", ""),
|
||||||
|
("Инадзума", "Сангономия Кокоми", "Свободно", ""),
|
||||||
|
("Инадзума", "Яэ Мико", "Свободно", ""),
|
||||||
|
("Инадзума", "Райдэн Эи", "Свободно", ""),
|
||||||
|
("Инадзума", "Саю", "Свободно", ""),
|
||||||
|
("Инадзума", "Куки Синобу", "Свободно", ""),
|
||||||
|
("Инадзума", "Мидзуки", "Свободно", ""),
|
||||||
|
|
||||||
|
# Сумеру
|
||||||
|
("Сумеру", "Аль-Хайтам", "Свободно", ""),
|
||||||
|
("Сумеру", "Кавех", "Свободно", ""),
|
||||||
|
("Сумеру", "Сайно", "Свободно", ""),
|
||||||
|
("Сумеру", "Тигнари", "Свободно", ""),
|
||||||
|
("Сумеру", "Сетос", "Свободно", ""),
|
||||||
|
("Сумеру", "Нилу", "Свободно", ""),
|
||||||
|
("Сумеру", "Нахида", "Свободно", ""),
|
||||||
|
("Сумеру", "Лайла", "Свободно", ""),
|
||||||
|
("Сумеру", "Кандакия", "Свободно", ""),
|
||||||
|
("Сумеру", "Дори", "Свободно", ""),
|
||||||
|
("Сумеру", "Дэхья", "Свободно", ""),
|
||||||
|
("Сумеру", "Коллеи", "Свободно", ""),
|
||||||
|
("Сумеру", "Фарузан", "Свободно", ""),
|
||||||
|
|
||||||
|
# Фонтейн
|
||||||
|
("Фонтейн", "Лини", "Свободно", ""),
|
||||||
|
("Фонтейн", "Ризли", "Свободно", ""),
|
||||||
|
("Фонтейн", "Невиллет", "Свободно", ""),
|
||||||
|
("Фонтейн", "Фремине", "Свободно", ""),
|
||||||
|
("Фонтейн", "Линетт", "Свободно", ""),
|
||||||
|
("Фонтейн", "Эмилия", "Свободно", ""),
|
||||||
|
("Фонтейн", "Клоринда", "Свободно", ""),
|
||||||
|
("Фонтейн", "Навия", "Свободно", ""),
|
||||||
|
("Фонтейн", "Шарлотта", "Свободно", ""),
|
||||||
|
("Фонтейн", "Фурина", "Свободно", ""),
|
||||||
|
("Фонтейн", "Тиори", "Свободно", ""),
|
||||||
|
("Фонтейн", "Сиджвин", "Свободно", ""),
|
||||||
|
|
||||||
|
# Натлан
|
||||||
|
("Натлан", "Кинич", "Свободно", ""),
|
||||||
|
("Натлан", "Оророн", "Свободно", ""),
|
||||||
|
("Натлан", "Муалани", "Свободно", ""),
|
||||||
|
("Натлан", "Ситлали", "Свободно", ""),
|
||||||
|
("Натлан", "Шилонен", "Свободно", ""),
|
||||||
|
("Натлан", "Иансан", "Свободно", ""),
|
||||||
|
("Натлан", "Мавуика", "Свободно", ""),
|
||||||
|
("Натлан", "Часка", "Свободно", ""),
|
||||||
|
|
||||||
|
# Фатуи
|
||||||
|
("Фатуи", "Тарталья", "Свободно", ""),
|
||||||
|
("Фатуи", "Панталоне", "Свободно", ""),
|
||||||
|
("Фатуи", "Дотторе", "Свободно", ""),
|
||||||
|
("Фатуи", "Капитано", "Свободно", ""),
|
||||||
|
("Фатуи", "Пьеро", "Свободно", ""),
|
||||||
|
("Фатуи", "Пульничелла", "Свободно", ""),
|
||||||
|
("Фатуи", "Синьора", "Свободно", ""),
|
||||||
|
("Фатуи", "Арлекино", "Свободно", ""),
|
||||||
|
("Фатуи", "Коломбина", "Свободно", ""),
|
||||||
|
("Фатуи", "Царица", "Свободно", ""),
|
||||||
|
("Фатуи", "Странник", "Свободно", ""),
|
||||||
|
|
||||||
|
# Иные персонажи
|
||||||
|
("Иные персонажи", "Итэр", "Свободно", ""),
|
||||||
|
("Иные персонажи", "Люмин", "Свободно", ""),
|
||||||
|
("Иные персонажи", "Элой", "Свободно", ""),
|
||||||
|
("Иные персонажи", "Паймон", "Свободно", ""),
|
||||||
|
("Иные персонажи", "Дайнслейф", "Свободно", ""),
|
||||||
|
]
|
||||||
|
|
||||||
|
# Проверяем, пуста ли таблица characters
|
||||||
|
cursor.execute("SELECT COUNT(*) FROM characters;")
|
||||||
|
if cursor.fetchone()[0] == 0:
|
||||||
|
cursor.executemany('''
|
||||||
|
INSERT INTO characters (region, name, status, comment)
|
||||||
|
VALUES (?, ?, ?, ?);
|
||||||
|
''', characters)
|
||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|||||||
Reference in New Issue
Block a user