diff --git a/source/gitlab-discord_bot/gitlab-discord_bot.py b/source/gitlab-discord_bot/gitlab-discord_bot.py index 38c8e84..028a99f 100644 --- a/source/gitlab-discord_bot/gitlab-discord_bot.py +++ b/source/gitlab-discord_bot/gitlab-discord_bot.py @@ -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: Регистрировать команды бота в Команды Приложения —