From fcb72c122506833980e3115af5d2e3afa5ee2930 Mon Sep 17 00:00:00 2001 From: iDutchy <42503862+iDutchy@users.noreply.github.com> Date: Thu, 2 Sep 2021 02:16:01 +0200 Subject: [PATCH] Create slash_only.py Basic example for slash commands --- examples/slash_commands/slash_only.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 examples/slash_commands/slash_only.py diff --git a/examples/slash_commands/slash_only.py b/examples/slash_commands/slash_only.py new file mode 100644 index 00000000..22c7fe26 --- /dev/null +++ b/examples/slash_commands/slash_only.py @@ -0,0 +1,26 @@ +from discord.ext.commands import Bot, Cog, Option + +bot = Bot(slash_commands=True, normal_commands=False) # Setting normal_commands to False will make this slash commands only +bot.add_cog(Info(bot)) + +@bot.command(slash=True) +async def hello(ctx): + await ctx.send(f"Hey, {ctx.author.mention}!") + +# And in a cog + +class Info(Cog): + def __init__(self, bot): + self.bot = bot + + @commands.command(slash=True) + async def userinfo(self, ctx, member: discord.Member = Option(description="The user to get info about")): # Note that it must use the description kwarg + """Get info about a member""" + await ctx.send(f"ID: {member.id}") + + @commands.command(slash=True) + async def ban(self, ctx, member: discord.Member = Option(description="The member to ban"), reason: str = Option("No reason", description="Why to ban them")): # The first arg here will be used as default if nothing was provided + await member.ban(reason=reason) + await ctx.send("They have been banned", ephemeral=True) + +bot.run("token")