mirror of
https://git.phreedom.club/localhost_frssoft/FMN_bot.git
synced 2025-04-17 23:56:30 +02:00
36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
|
import sqlite3
|
||
|
import logging
|
||
|
|
||
|
|
||
|
logger = logging.getLogger('fmn_states_database')
|
||
|
|
||
|
conn = sqlite3.connect("fmn_states.sqlite", check_same_thread=False)
|
||
|
c = conn.cursor()
|
||
|
|
||
|
c.execute(
|
||
|
'''CREATE TABLE IF NOT EXISTS states(key VARCHAR (500) UNIQUE DEFAULT NULL, value VARCHAR (500) UNIQUE DEFAULT NULL)''')
|
||
|
|
||
|
conn.commit()
|
||
|
|
||
|
|
||
|
def add_state(key, value):
|
||
|
'''Создание стейта, если существует - будет заменен'''
|
||
|
c.execute("INSERT OR REPLACE INTO states(key, value) VALUES (?, ?)", (key, value))
|
||
|
conn.commit()
|
||
|
logger.warning(f'Добавлен стейт {key}: {value}')
|
||
|
|
||
|
|
||
|
def get_state(key):
|
||
|
'''Получение стейта по ключу'''
|
||
|
value = c.execute("SELECT value FROM states WHERE key = (?)", (key,)).fetchone()
|
||
|
if value:
|
||
|
return value[0]
|
||
|
|
||
|
|
||
|
def remove_state(key):
|
||
|
'''Удалить стейт по ключу'''
|
||
|
c.execute("DELETE FROM states WHERE key = (?)", (key,))
|
||
|
conn.commit()
|
||
|
logger.warning(f'Удален стейт {key}')
|
||
|
|