РАБОТАЕТ!!!

This commit is contained in:
TheRandomFurryGuy 2023-04-08 19:11:40 +03:00
parent 2ae2254c97
commit 0c1f7efb82

View file

@ -11,21 +11,18 @@ import gitlab, discord
# Обертка АПИ ГитЛаба — https://python-gitlab.readthedocs.io/en/latest и
# АПИ Дискорда — https://discordpy.readthedocs.io/en/latest
try:
with open("database.msgpack", "rb") as database:
database_content = database.read()
print(str(database_content))
database_spisok = msgpack.unpackb(database_content, strict_map_key=False)
except:
database_spisok = dict()
gitlab_instance = gitlab.Gitlab(url = 'https://gitlab.megu.one', private_token = environ.get("TOKEN_GITLAB")) # определение адреса и токена экземляра ГитЛаба
project = gitlab_instance.projects.get(13) # определение проекта в котором нужно создавать задачи
'''project = gitlab_instance.projects.get(13)''' # определение проекта в котором нужно создавать задачи
# TODO: Привязка экзепмляра и проекта к Дискорд Каналу в БД, а не в коде
@ -46,6 +43,7 @@ async def on_message(message): # обработка каждого сообще
issue_text = message.content.replace("/issue ","") # получение текста команды «issue»
if command('/issue'): # команда создания задачи на ГитЛабе
if database_spisok.get(int(message.channel.id)):
project = gitlab_instance.projects.get(database_spisok.get(int(message.channel.id)))
if project.issues.create({'title': issue_text}):
await reply("Задача «" + issue_text + "» создана успешно, ^w^")
else:
@ -56,6 +54,7 @@ async def on_message(message): # обработка каждого сообще
if command('/project'):
try:
database_spisok[int(message.channel.id)] = int(message.content.replace("/project ",""))
open("database.msgpack", "wb").write(msgpack.packb(database_spisok))
await reply("данные сохранены ^w^")
except:
await reply("не удалось сохранить id")
@ -78,8 +77,8 @@ async def on_message(message): # обработка каждого сообще
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'):
open("database.msgpack", "wb").write(msgpack.packb(database_spisok))
'''if command('/save'):
open("database.msgpack", "wb").write(msgpack.packb(database_spisok))'''
discord_bot.run(environ.get("TOKEN_DISCORD")) # авторизация бота по токену из среды и запуск