diff options
author | Evgeny Zinoviev <me@ch1p.io> | 2023-06-10 23:20:37 +0300 |
---|---|---|
committer | Evgeny Zinoviev <me@ch1p.io> | 2023-06-10 23:20:37 +0300 |
commit | a6d8ba93056c1a4e243d56da447e241b2504fae2 (patch) | |
tree | 3ee5372ef4e4a2b8532bf8bc57d7151d77d96f71 /include/py/homekit/telegram/_botdb.py | |
parent | b0bf43e6a272d42a55158e657bd937cb82fc3d8d (diff) |
move files again
Diffstat (limited to 'include/py/homekit/telegram/_botdb.py')
-rw-r--r-- | include/py/homekit/telegram/_botdb.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/py/homekit/telegram/_botdb.py b/include/py/homekit/telegram/_botdb.py new file mode 100644 index 0000000..4e1aec0 --- /dev/null +++ b/include/py/homekit/telegram/_botdb.py @@ -0,0 +1,32 @@ +from homekit.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() |