有没有办法可以检查嵌入是否为特定颜色?

时间:2021-02-25 17:50:28

标签: discord discord.py

这是我在多次挠头和恼怒之后能够想出的,但你瞧,它不起作用。

import discord

client = discord.Client()

@client.event
async def on_ready():
    print("Bot is ready")

@client.event
async def on_message(message):
    if (message.channel.id == "the-channel-id-here"):
        embeds = message.embeds
        if not embeds:
            return
        else:
            embed = (message.embeds)[0]
            if (embed.color == 4caf50 or e53935):
                print('I got that')
            else:
                return

client.run(BOT_TOKEN)

1 个答案:

答案 0 :(得分:0)

discord.py 总是返回一个 Color 对象,而不是一个 integer,所以你现在比较的是一个 Color 的实例(定义为 {{3 }} 顺便说一句)和一个数字。 Color 对象有一个属性 value,它返回颜色的整数表示,因此您可以使用它来将其与数字进行比较。

这个代码片段应该可以工作:

import discord

client = discord.Client()

@client.event
async def on_ready():
    print("Bot is ready")

@client.event
async def on_message(message):
    if (message.channel.id == "the-channel-id-here"):
        embeds = message.embeds
        if not embeds:
            return
        else:
            embed = (message.embeds)[0]
            if (embed.color.value == 4caf50 or embed.color.value == e53935):
                print('I got that')
            else:
                return

client.run(BOT_TOKEN)

请注意,我稍微修改了您的 if 表达式,您对 or 的使用是错误的,您必须再次重复 embed.color.value 才能进行比较!