I get no errors or anything. Using newest version of discord.py v2.
@client.command(aliases = ["Rock Paper Scissors", "RPS", "Rockpaperscissors", "rockpaperscissors"])
async def check(ctx):
buttonchoosebot = discord.ui.Button(style = discord.ButtonStyle.primary, label="Play bot")
buttonchoosemember = discord.ui.Button(style = discord.ButtonStyle.primary, label="Play member")
await ctx.send("Would you like to play against a bot or a member?", components=[[buttonchoosebot, buttonchoosemember]])
EDIT: I switched to nextcord to make things a whole lot easier.
from nextcord.ext import commands
import nextcord
Just replace all "discord" commands with "nextcord" ones. The new command using nextcord would look like this:
@client.command()
async def check(ctx):
buttonchoosebot = nextcord.ui.Button(style = nextcord.ButtonStyle.primary, label="Play bot")
buttonchoosemember = nextcord.ui.Button(style = nextcord.ButtonStyle.primary, label="Play member")
buttons_view = nextcord.ui.View()
buttons_view.add_item(buttonchoosebot)
buttons_view.add_item(buttonchoosemember)
await ctx.send("Test", view=buttons_view)
Thanks for all the answers!
In discord.py
you need to define a view to use UI components.
This is for message commands:
@client.command()
async def check(ctx):
buttonchoosebot = discord.ui.Button(style = discord.ButtonStyle.primary, label="Play bot")
buttonchoosemember = discord.ui.Button(style = discord.ButtonStyle.primary, label="Play member")
buttons_view = discord.ui.View()
buttons_view.add_item(buttonchoosebot)
buttons_view.add_item(buttonchoosemember)
await ctx.send("Test", view=buttons_view)
This is for slash commands:
@client.tree.command(name='check', guild = discord.Object(id=658947832392187906))
async def help(interaction: discord.Interaction):
buttonchoosebot = discord.ui.Button(style = discord.ButtonStyle.primary, label="Play bot")
buttonchoosemember = discord.ui.Button(style = discord.ButtonStyle.primary, label="Play member")
buttons_view = discord.ui.View()
buttons_view.add_item(buttonchoosebot)
buttons_view.add_item(buttonchoosemember)
await interaction.response.send_message("Test", view=buttons_view)