diff --git a/cogs/fun/__init__.py b/cogs/fun/__init__.py index 8cb0e7c..a08fc44 100644 --- a/cogs/fun/__init__.py +++ b/cogs/fun/__init__.py @@ -13,6 +13,44 @@ class Fun(commands.GroupCog, name="fun"): self.bot = bot super().__init__() + @commands.group(name="fun", invoke_without_command=True) + async def fun_group(self, context: Context): + embed = discord.Embed( + title="Fun Commands", + description="Use `.fun ` or slash `/fun `.", + color=0x7289DA + ) + embed.set_author(name="Fun", icon_url="https://yes.nighty.works/raw/eW5lLm.webp") + embed.add_field(name="Available", value="coinflip, 8ball, minesweeper, randomfact, rps", inline=False) + await context.send(embed=embed) + + async def _invoke_hybrid(self, context: Context, name: str, **kwargs): + command = self.bot.get_command(name) + if command is not None: + await context.invoke(command, **kwargs) + else: + await context.send(f"Unknown fun command: {name}") + + @fun_group.command(name="coinflip") + async def fun_group_coinflip(self, context: Context): + await self._invoke_hybrid(context, "coinflip") + + @fun_group.command(name="8ball") + async def fun_group_8ball(self, context: Context, *, question: str): + await self._invoke_hybrid(context, "8ball", question=question) + + @fun_group.command(name="minesweeper") + async def fun_group_minesweeper(self, context: Context): + await self._invoke_hybrid(context, "minesweeper") + + @fun_group.command(name="randomfact") + async def fun_group_randomfact(self, context: Context): + await self._invoke_hybrid(context, "randomfact") + + @fun_group.command(name="rps") + async def fun_group_rps(self, context: Context): + await self._invoke_hybrid(context, "rps") + @commands.hybrid_command( name="coinflip", description="Make a coin flip, but give your bet before."