无法发送不和谐按钮

Cant send discord button

我没有收到任何错误消息。使用最新版本的 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]])

编辑: 我切换到 nextcord 使事情变得更容易。

from nextcord.ext import commands
import nextcord

只需将所有“discord”命令替换为“nextcord”命令即可。使用 nextcord 的新命令如下所示:

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

感谢大家的回答!

discord.py 中您需要定义一个视图以使用 UI 组件。

这用于消息命令:

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

这用于斜杠命令:

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