Implement a least breaking approach to slash commands #39

Merged
Gnome-py merged 42 commits from 2.0 into 2.0 2021-09-18 23:28:11 +00:00
Showing only changes of commit fcb72c1225 - Show all commits

View File

@@ -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")