Слогировал операции с БД

This commit is contained in:
bogdan zažigin 2023-04-08 17:26:41 +03:00
parent e958afb5b7
commit aafe4889f5
Signed by: zaboal
GPG key ID: C9918166D559FE8A

View file

@ -4,6 +4,9 @@
from os import environ, remove
# Получение переменных среды и удаление файлов —
# https://docs.python.org/3.12/library/os.html
import logging
# Логирование логики бота —
# https://docs.python.org/3/library/logging.html
import msgpack
# Бинарная сериализация, создание машинной базы данных —
# https://github.com/msgpack/msgpack-python/blob/main/README.md
@ -12,13 +15,17 @@ import gitlab, discord
# АПИ Дискорда — https://discordpy.readthedocs.io/en/latest
logging.error("Открытие базы данных…")
database = open("database.msgpack", "a+") # создать базу данных если её нет
'''database.close()'''
logging.error("Получение информации из базы данных…")
try: # декодирует базу данных если она есть
database_spisok = msgpack.unpackb(database.read())
logging.error("Декодирован MessagePack из базы данных…")
except:
database_spisok = dict()
logging.error("Декодирование не удалось, создан словарь…")
gitlab_instance = gitlab.Gitlab(url = 'https://gitlab.megu.one', private_token = environ.get("TOKEN_GITLAB")) # определение адреса и токена экземляра ГитЛаба
@ -69,16 +76,16 @@ async def on_message(message): # обработка каждого сообще
await reply(database_spisok.get(int(message.channel.id)))
else:
await reply("данных нет, введите id для подключения через /project (id проекта), ^w^")
if command('/speak'):
await reply("я бот для создания проектов на gitlab через дискорд созданный Артёмом (ака: TheRandomFurryGuy) и Богданом богом данным (ака: Zaboal) | [идея сделать меня фурри была предложена 1-м ради шутки]")
await reply("====================================")
await reply("список комманд которые я выполняю:\n/issue - создание задачи на gitlab\n/project - подключение id канала discord с id канала gitlab\n/remove - удаление id\n/show - показ id (к каждому каналу discord подключён отдельный id gitlab)\n/speak - я расскажу немного о себе (что сейчас и делаю)")
if command('/save'):
database.write(msgpack.packb(database_spisok, use_bin_type = True))
database.write(str(msgpack.packb(database_spisok, use_bin_type = False)))
discord_bot.run(environ.get("TOKEN_DISCORD")) # авторизация бота по токену из среды и запуск
discord_bot.run(environ.get("TOKEN_DISCORD"), log_handler=None) # авторизация бота по токену из среды и запуск
# TODO: Регистрировать команды бота в Команды Приложения —