pycord icon indicating copy to clipboard operation
pycord copied to clipboard

Command duplication in cog help

Open solaluset opened this issue 2 years ago • 8 comments

Summary

Bridge commands are duplicated in cog help

Reproduction Steps

  1. Create a bridge command in a cog.
  2. Request help for that cog

Minimal Reproducible Code

from os import getenv

import discord
from discord.ext import bridge, commands


class MyCog(commands.Cog):
    @discord.command()
    async def slash_command(self, ctx):
        await ctx.respond("Hi")

    @commands.command()
    async def prefix_command(self, ctx):
        await ctx.respond("Hi")

    @bridge.bridge_command()
    async def bridge_command(self, ctx):
        await ctx.respond("Hi")


bot = bridge.Bot()
bot.add_cog(MyCog())

bot.run(getenv("TOKEN"))

Expected Results

Screenshot_20240101-134341782 (1)

Actual Results

Screenshot_20240101-133650329 (1)

Intents

None

System Information

/data/data/com.termux/files/home/tests/lib/python3.11/site-packages/discord/__main__.py:33: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  import pkg_resources
- Python v3.11.6-final
- py-cord v2.4.1-final
- aiohttp v3.9.1
- system info: Linux 4.14.232-QuicksilveR™-ReloadedOS-Edition #1 SMP PREEMPT Wed May 26 07:08:17 UTC 2021

Checklist

  • [X] I have searched the open issues for duplicates.
  • [X] I have shown the entire traceback, if possible.
  • [X] I have removed my token from display, if visible.

Additional Context

I've made two attempts to fix it, I can open a PR if you find one of them satisfying: https://github.com/Krutyi-4el/pycord/tree/help-fix-v1 https://github.com/Krutyi-4el/pycord/tree/help-fix-v2

solaluset avatar Jan 01 '24 11:01 solaluset

Please check this bug with our git master version

Lulalaby avatar Jan 01 '24 12:01 Lulalaby

I've already done this

solaluset avatar Jan 01 '24 12:01 solaluset

This is still an issue.

solaluset avatar Jan 18 '24 14:01 solaluset

Looking at the code a bit more makes me think that this is only a problem with the help command itself

Blue-Robin-Taken avatar Mar 31 '24 12:03 Blue-Robin-Taken

Nvm I think this is already fixed image

Blue-Robin-Taken avatar Mar 31 '24 13:03 Blue-Robin-Taken

@Blue-Robin-Taken it's not. Try help MyCog.

solaluset avatar Apr 01 '24 13:04 solaluset

Oh true

[<discord.ext.bridge.core.BridgeExtCommand object at 0x000001EED35FE490>, <discord.ext.bridge.core.BridgeCommand object at 0x000001EED35FFAD0>, <discord.ext.commands.core.Command object at 0x000001EED35FE850>]

is what's printed from def add_indented_commands(self, commands, *, heading, max_size=None): in help.py I only have 2 commands & it dupes the bridge cause it's in text and in slash I think

Blue-Robin-Taken avatar Apr 03 '24 11:04 Blue-Robin-Taken

Ok I think I fixed it & I'm going to make a PR. If you don't print one of the types, it works. image

Blue-Robin-Taken avatar Apr 03 '24 11:04 Blue-Robin-Taken