这是我在多次挠头和恼怒之后能够想出的,但你瞧,它不起作用。
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)
答案 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
才能进行比较!