Refactor module imports to ensure project root is included in sys.path for both run_helper and voice_bot. Enhance database user insertion with backward compatibility for emoji column. Update user info handling to check username and full name more robustly. Improve emoji handling with fallback options for environments lacking the emoji package.
This commit is contained in:
@@ -134,10 +134,23 @@ class BotDB:
|
||||
self.logger.info(f"Попытка добавить пользователя в базу данных: user_id={user_id}, first_name={first_name}")
|
||||
try:
|
||||
self.connect()
|
||||
self.cursor.execute("INSERT INTO 'our_users' ('user_id', 'first_name', 'full_name', 'username', 'is_bot', "
|
||||
"'language_code', 'emoji', 'date_added', 'date_changed') VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
||||
(user_id, first_name, full_name,
|
||||
username, is_bot, language_code, emoji, date_added, date_changed))
|
||||
try:
|
||||
# Новая схема с колонкой emoji
|
||||
self.cursor.execute(
|
||||
"INSERT INTO 'our_users' ('user_id', 'first_name', 'full_name', 'username', 'is_bot', "
|
||||
"'language_code', 'emoji', 'date_added', 'date_changed') VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
||||
(user_id, first_name, full_name, username, is_bot, language_code, emoji, date_added, date_changed)
|
||||
)
|
||||
except sqlite3.OperationalError as e:
|
||||
# Обратная совместимость: старая схема без колонки emoji
|
||||
if 'no column named emoji' in str(e):
|
||||
self.cursor.execute(
|
||||
"INSERT INTO 'our_users' ('user_id', 'first_name', 'full_name', 'username', 'is_bot', "
|
||||
"'language_code', 'date_added', 'date_changed') VALUES (?, ?, ?, ?, ?, ?, ?, ?)",
|
||||
(user_id, first_name, full_name, username, is_bot, language_code, date_added, date_changed)
|
||||
)
|
||||
else:
|
||||
raise
|
||||
self.conn.commit()
|
||||
self.logger.info(
|
||||
f"Новый пользователь добавлен в базу: user_id={user_id}, first_name={first_name}, emoji={emoji}")
|
||||
|
||||
Reference in New Issue
Block a user