在 中,可以使用 discord.Colour
类来创建十六进制颜色,并将其嵌入到命令中供用户选择。下面是一个示例代码:
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 文档。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云