diff --git a/source/gitlab-discord_bot/bot.py b/source/gitlab-discord_bot/bot.py index 39ae46a..1f4eca4 100644 --- a/source/gitlab-discord_bot/bot.py +++ b/source/gitlab-discord_bot/bot.py @@ -54,11 +54,11 @@ async def on_message(message): # обработка каждого сообще except: await reply("не удалось сохранить ссылку на проект")''' - if command('/project'): + if command('/setup'): try: - content = message.content.replace("/project ","").split(" ") + content = message.content.replace("/setup ","").split(" ") setup = GitlabDiscordBinding(content[0], content[1], int(message.channel.id), int(message.author.id)) - database.gitlab_discord_bindings.append(setup) + database.update(setup) await reply(database) except: await reply("asdadadfa") diff --git a/source/gitlab-discord_bot/database.py b/source/gitlab-discord_bot/database.py index b76844e..c84d53a 100644 --- a/source/gitlab-discord_bot/database.py +++ b/source/gitlab-discord_bot/database.py @@ -73,4 +73,12 @@ class GitlabDiscordDatabase: def get_project(self, discord_channel_id: int): for binding in range(len(self.gitlab_discord_bindings)): if self.gitlab_discord_bindings[binding].discord_channel_id == discord_channel_id: - return self.gitlab_discord_bindings[binding].gitlab_project_url \ No newline at end of file + return self.gitlab_discord_bindings[binding].gitlab_project_url + + + def update(self, current_binding: GitlabDiscordBinding): + for binding in range(len(self.gitlab_discord_bindings)): + if self.gitlab_discord_bindings[binding].discord_channel_id == current_binding.discord_channel_id and self.gitlab_discord_bindings[binding].discord_user_id == current_binding.discord_user_id: + self.gitlab_discord_bindings[binding] = current_binding + elif self.gitlab_discord_bindings[binding].gitlab_project_url != current_binding.gitlab_project_url and self.gitlab_discord_bindings[binding].discord_user_gitlab_token != current_binding.discord_user_gitlab_token: + self.gitlab_discord_bindings.append(current_binding) \ No newline at end of file