Files
TeleDiffusionBot/bot/db/db_model.py
2023-02-13 19:51:25 +02:00

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')
)