diff options
| -rw-r--r-- | bot/cogs/tags.py | 63 | 
1 files changed, 21 insertions, 42 deletions
diff --git a/bot/cogs/tags.py b/bot/cogs/tags.py index d9bee6608..578f5e7c8 100644 --- a/bot/cogs/tags.py +++ b/bot/cogs/tags.py @@ -181,7 +181,7 @@ class Tags:              return          if tag_name is not None: -            tag = await self.bot.api_client.get(f'/bot/tags/{tag_name}') +            tag = await self.bot.api_client.get(f'bot/tags/{tag_name}')              if ctx.channel.id not in TEST_CHANNELS:                  self.tag_cooldowns[tag_name] = {                      "time": time.time(), @@ -190,7 +190,7 @@ class Tags:              await ctx.send(embed=Embed.from_data(tag['embed']))          else: -            tags = await self.bot.api_client.get('/bot/tags') +            tags = await self.bot.api_client.get('bot/tags')              if not tags:                  await ctx.send(embed=Embed(                      description="**There are no tags in the database!**", @@ -207,50 +207,42 @@ class Tags:                      max_lines=15                  ) -    @tags_group.command(name='set', aliases=('add', 'edit', 's')) +    @tags_group.command(name='set', aliases=('add', 's'))      @with_role(Roles.admin, Roles.owner, Roles.moderator)      async def set_command(          self,          ctx: Context,          tag_name: TagNameConverter, +        *,          tag_content: TagContentConverter, -        image_url: ValidURL = None      ):          """ -        Create a new tag or edit an existing one. +        Create a new tag or update an existing one.          :param ctx: discord message context          :param tag_name: The name of the tag to create or edit.          :param tag_content: The content of the tag. -        :param image_url: An optional image for the tag.          """ -        tag_name = tag_name.lower().strip() -        tag_content = tag_content.strip() +        body = { +            'title': tag_name.lower().strip(), +            'embed': { +                'title': tag_name, +                'description': tag_content +            } +        } -        embed = Embed() -        embed.colour = Colour.red() -        tag_data = await self.post_tag_data(tag_name, tag_content, image_url) +        await self.bot.api_client.post('bot/tags', json=body) -        if tag_data.get("success"): -            log.debug(f"{ctx.author} successfully added the following tag to our database: \n" -                      f"tag_name: {tag_name}\n" -                      f"tag_content: '{tag_content}'\n" -                      f"image_url: '{image_url}'") -            embed.colour = Colour.blurple() -            embed.title = "Tag successfully added" -            embed.description = f"**{tag_name}** added to tag database." -        else: -            log.error("There was an unexpected database error when trying to add the following tag: \n" -                      f"tag_name: {tag_name}\n" -                      f"tag_content: '{tag_content}'\n" -                      f"image_url: '{image_url}'\n" -                      f"response: {tag_data}") -            embed.title = "Database error" -            embed.description = ("There was a problem adding the data to the tags database. " -                                 "Please try again. If the problem persists, see the error logs.") +        log.debug(f"{ctx.author} successfully added the following tag to our database: \n" +                  f"tag_name: {tag_name}\n" +                  f"tag_content: '{tag_content}'\n") -        return await ctx.send(embed=embed) +        await ctx.send(embed=Embed( +            title="Tag successfully added", +            description=f"**{tag_name}** added to tag database.", +            colour=Colour.blurple() +        ))      @tags_group.command(name='delete', aliases=('remove', 'rm', 'd'))      @with_role(Roles.admin, Roles.owner) @@ -289,19 +281,6 @@ class Tags:          return await ctx.send(embed=embed) -    @get_command.error -    @set_command.error -    @delete_command.error -    async def command_error(self, ctx, error): -        if isinstance(error, BadArgument): -            embed = Embed() -            embed.colour = Colour.red() -            embed.description = str(error) -            embed.title = random.choice(ERROR_REPLIES) -            await ctx.send(embed=embed) -        else: -            log.error(f"Unhandled tag command error: {error} ({error.original})") -  def setup(bot):      bot.add_cog(Tags(bot))  |