summaryrefslogtreecommitdiff
path: root/src/home/telegram/_botdb.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/home/telegram/_botdb.py')
-rw-r--r--src/home/telegram/_botdb.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/home/telegram/_botdb.py b/src/home/telegram/_botdb.py
new file mode 100644
index 0000000..9e9cf94
--- /dev/null
+++ b/src/home/telegram/_botdb.py
@@ -0,0 +1,32 @@
+from home.database.sqlite import SQLiteBase
+
+
+class BotDatabase(SQLiteBase):
+ def __init__(self):
+ super().__init__()
+
+ def schema_init(self, version: int) -> None:
+ if version < 1:
+ cursor = self.cursor()
+ cursor.execute("""CREATE TABLE IF NOT EXISTS users (
+ id INTEGER PRIMARY KEY,
+ lang TEXT NOT NULL
+ )""")
+ self.commit()
+
+ def get_user_lang(self, user_id: int, default: str = 'en') -> str:
+ cursor = self.cursor()
+ cursor.execute('SELECT lang FROM users WHERE id=?', (user_id,))
+ row = cursor.fetchone()
+
+ if row is None:
+ cursor.execute('INSERT INTO users (id, lang) VALUES (?, ?)', (user_id, default))
+ self.commit()
+ return default
+ else:
+ return row[0]
+
+ def set_user_lang(self, user_id: int, lang: str) -> None:
+ cursor = self.cursor()
+ cursor.execute('UPDATE users SET lang=? WHERE id=?', (lang, user_id))
+ self.commit()