Слогировал операции с БД
This commit is contained in:
parent
e958afb5b7
commit
aafe4889f5
1 changed files with 10 additions and 3 deletions
|
@ -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: Регистрировать команды бота в Команды Приложения —
|
||||
|
|
Loading…
Add table
Reference in a new issue