我正在为我的服务器中没有nitro的用户做一个“nitro替换”,当有人发送一个动画表情:test:
而他们没有nitro时,bot会删除消息,然后发送动画表情
role = ["-『🦾』· 𝙽𝙴𝙾𝙽-𝚂𝚝𝚊𝚏𝚏"]
@bot.listen("on_message")
async def nitro(msg):
if ":" == msg.content[0] and ":" == msg.content[-1] and role in msg.author.roles:
emoji_name = msg.content[1:-1]
for emoji in msg.guild.emojis:
if emoji_name == emoji.name:
await msg.channel.send(f"{msg.author.mention}{str(emoji)}")
await msg.delete()
bot会运行,但由于某些原因,当包含 and role in msg.author.roles:
部分时,bot无法工作。它只留下我的:test:
文本
机器人应如何工作与如何工作:
我做错了什么
您正在将列表(
role
)与角色对象(msg.author.roles
)进行比较。这句话永远不会是真的。 您可以通过getter函数获得角色,如或者,与角色名称进行比较
相关问题 更多 >
编程相关推荐