gpt4 book ai didi

python-3.x - 有什么方法可以将表情符号与不和谐的 py 进行比较吗?

转载 作者:行者123 更新时间:2023-12-01 07:45:05 25 4
gpt4 key购买 nike

我正在尝试制作一个选择屏幕,其中包含用户可以使用react的两个选项(两个 react ),并且机器人现在将了解用户选择的 react

我试过比较
react !=“👌”或 react !=“✋”还尝试过: react != u"\U0001F44C"或 react != u"\u270B"使用统一码。还用 reaction.emoji、str(reaction/reaction.emoji) 尝试了相同的代码。还尝试比较表情符号的 id 但 reaction.emoji.id 引发异常说 reaction.emoji 是一个 str 而字符串没有 id(因为我不知道为什么它返回一个 str 而不是一个 emoji 对象)我已经阅读了文档,它说它支持 != 操作,但我不知道要比较什么

@bot.event
async def on_reaction_add(reaction,user):
print(reaction) #It prints the two emojis on my console (👌 and ✋)
if user.bot:
print('I am a bot')
return
if reaction != "👌" or reaction != "✋":
print('Did not found the emoji')
return
else:
print('Found the emoji')
#And then some code which will decide if the user that reacted is valid and what to do with it


#The embed the user have to react to if this helps
embed = discord.Embed(title = 'VS',color=0x00fff5)
embed.set_author(name = message.author.name,icon_url=message.author.avatar_url)
embed.set_footer(text = message.mentions[0].name , icon_url = mensaje.mentions[0].avatar_url)
response = await message.channel.send(embed = embed)
await response.add_reaction("👌") #OK emoji
await response.add_reaction("✋") #STOP emoji

我希望机器人能够识别表情符号,但不知道如何识别。

最佳答案

长话短说

  1. 切换为
  2. 使用 str(reaction.emoji)(参见 discordpy 中的示例 docs)

解释:

De Morgan's Laws会这么说

if str(reaction.emoji) != "👌" or str(reaction.emoji) != "✋":

和写一样

if not (str(reaction.emoji) ==  "👌" and str(reaction.emoji) == "✋"):

并且由于 react 不能同时是 OK STOP,所以 if 语句总是返回 True 和“没有找到表情符号”总是打印。

有点像

     if str(reaction.emoji) != "👌" and str(reaction.emoji) != "✋":
print('Did not found the emoji')
return
else:
print('Found the emoji')

会起作用。

编辑:恕我直言,一个更具可读性的解决方案是检查 set 中是否存在表情符号。 .

     if str(reaction.emoji) not in { "👌", "✋"}:
print('Did not find the emoji')
return
else:
print('Found the emoji')

关于python-3.x - 有什么方法可以将表情符号与不和谐的 py 进行比较吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56956644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com