33 lines
1.3 KiB
Python
33 lines
1.3 KiB
Python
from sqlitedict import SqliteDict
|
|
from bot.common import bot
|
|
from bot.config import DB_CHAT, DB
|
|
from aiogram.types import InputFile, InputMediaDocument
|
|
from aiogram.utils.exceptions import MessageToEditNotFound
|
|
import time
|
|
from .meta import DBMeta
|
|
|
|
|
|
class DBTables:
|
|
tables = ['config', 'cooldown']
|
|
config = "config"
|
|
cooldown = "cooldown"
|
|
|
|
|
|
class DBDict(SqliteDict):
|
|
async def write(self):
|
|
try:
|
|
DBMeta()[DBMeta.update_time] = time.time_ns()
|
|
await bot.edit_message_media(media=InputMediaDocument(InputFile(DB)),
|
|
chat_id=DB_CHAT, message_id=DBMeta()[DBMeta.message_id])
|
|
await bot.edit_message_caption(
|
|
caption=DBMeta(), chat_id=DB_CHAT, message_id=DBMeta()[DBMeta.message_id]
|
|
)
|
|
except MessageToEditNotFound:
|
|
DBMeta()[DBMeta.update_time] = time.time_ns()
|
|
self['db_message_id'] = (await bot.send_document(chat_id=DB_CHAT, document=InputFile(DB),
|
|
disable_notification=True)).message_id
|
|
DBMeta()[DBMeta.message_id] = self['db_message_id']
|
|
await bot.edit_message_caption(
|
|
caption=DBMeta(), chat_id=DB_CHAT, message_id=self.get('db_message_id')
|
|
)
|