如何使用discord.py添加随机十六进制代码命令?

2024-05-15 01:42:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用%randhex等命令生成一个显示随机十六进制代码的命令,但到目前为止,我还没有找到任何有效的解决方案。有人知道我怎么做吗?我尝试过做类似的事情,但是有单独的代码,但是太多了。以下是我尝试过的一种方法:

@client.command(pass_context=True)
async def randcolor(ctx):
    variable = [
        "blue",
        "red",
        "green",
        "yellow",
        "purple",
        "orange",
        "white",
        "black",
        "violet",
        "brown",
        "aqua",
        "cyan",
        "maroon",
        "grey"]
    await client.say(ctx.message.channel, "{}".format(random.choice(variable)))

Tags: 方法代码命令clienttrueasyncdefcontext
2条回答

您可以从discord.Colour.random获得随机的不协调颜色

colour = discord.Colour.random()
# get colour value
value = colour.value

参考:

您可以使用几乎相同的方法定义一个变量,该变量包含一个hexcode可能包含的所有字符(例如variable = "ABCDEFGHIKLMNOPQRSTUVWXYZ1234567890"),然后执行random.sample(variable, 6),这样它就可以从variable中随机获得6个字符。然后只需将其转换为十六进制

另外,我不知道是否存在ctx.say或以下内容,所以我这样做。如果不对,就把它换回来

这看起来像

@client.command(pass_context=True) 
async def randcolor(ctx): 
    variable = "ABCDEFGHIKLMNOPQRSTUVWXYZ1234567890" 
    await ctx.channel.send(hex("".join(random.sample(variable, 6))))

相关问题 更多 >

    热门问题