首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让用户选择嵌入命令的十六进制颜色?| Discord.py

在 中,可以使用 discord.Colour 类来创建十六进制颜色,并将其嵌入到命令中供用户选择。下面是一个示例代码:

代码语言:txt
复制
import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='!')

@bot.command()
async def choose_color(ctx):
    # 创建颜色选择菜单
    color_menu = discord.Embed(title="选择颜色", description="请选择一种颜色:")

    # 添加颜色选项
    color_menu.add_field(name="红色", value="1️⃣", inline=True)
    color_menu.add_field(name="绿色", value="2️⃣", inline=True)
    color_menu.add_field(name="蓝色", value="3️⃣", inline=True)

    # 发送颜色选择菜单
    menu_message = await ctx.send(embed=color_menu)

    # 添加颜色反应
    await menu_message.add_reaction("1️⃣")
    await menu_message.add_reaction("2️⃣")
    await menu_message.add_reaction("3️⃣")

    # 等待用户选择颜色
    def check(reaction, user):
        return user == ctx.author and str(reaction.emoji) in ["1️⃣", "2️⃣", "3️⃣"]

    try:
        reaction, _ = await bot.wait_for('reaction_add', timeout=60.0, check=check)
    except asyncio.TimeoutError:
        await ctx.send("超时!请选择一个颜色。")
        return

    # 根据用户选择的颜色设置嵌入的颜色
    if str(reaction.emoji) == "1️⃣":
        color = discord.Colour.red()
    elif str(reaction.emoji) == "2️⃣":
        color = discord.Colour.green()
    elif str(reaction.emoji) == "3️⃣":
        color = discord.Colour.blue()

    # 创建带有选定颜色的嵌入
    embed = discord.Embed(title="你选择了颜色", description="这是你选择的颜色。", color=color)

    # 发送带有选定颜色的嵌入
    await ctx.send(embed=embed)

bot.run("YOUR_BOT_TOKEN")

这个代码创建了一个 choose_color 命令,当用户输入 !choose_color 时,会发送一个颜色选择菜单。用户可以通过点击菜单中的反应来选择颜色。根据用户的选择,代码会创建一个带有选定颜色的嵌入,并发送给用户。

请注意,这只是一个示例代码,你可以根据自己的需求进行修改和扩展。关于 的更多信息和文档,请参考 Discord.py 文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券