我正在制作一个不一致的python机器人代码,如果我用表情符号做出反应,则该机器人将在频道上发送一条消息。
async def on_reaction_add(reaction, user):
if (reaction.emoji == '\N{VICTORY HAND}'):
await message.channel.send('hello')
但是我无法发送消息... (我的英语太糟了。对不起)
答案 0 :(得分:0)
要考虑的几个项目。
on_reaction_add
来捕获所有消息响应,而不仅仅是缓存的响应。emoji.demojize()
获取表情符号的文本表示形式。 pypi emoji 0.5.4。 Discord认为胜利手的表情符号不是'\ N {VICTORY HAND}',而只是:V:。如果将鼠标悬停在上面,将会看到。尝试:
import emoji
@client.event
async def on_raw_reaction_add(payload):
if emoji.demojize(str(payload.emoji)) == ':victory_hand:':
channel = client.get_channel(payload.channel_id)
await channel.send('hello')