A pycord extension that allows splitting command groups into multiple cogs.
Requires pycord v2.5 or higher.
$ pip install pycord-multicog
from pycord.multicog import Bot
bot = Bot(...)
# cog number 1, a normal cog with a slash command group
class Cog1(Cog):
group = SlashCommandGroup("group")
@group.command()
async def subcommand1(self, ctx):
await ctx.respond("This is a normal subcommand.")
# cog number 2, has commands decorated with @subcommand
from pycord.multicog import subcommand
class Cog2(Cog):
@subcommand("group") # this subcommand depends on the group defined in Cog1
@slash_command()
async def subcommand2(self, ctx):
await ctx.respond("This subcommand is inside a different cog.")
@subcommand("group", independent=True) # this subcommand is independent
@slash_command()
async def subcommand2(self, ctx):
await ctx.respond("This subcommand is also inside a different cog.")