繁体   English   中英

向消息添加反应。 Discord.py 重写

[英]Adding reactions to a message. Discord.py rewrite

我正在尝试使用自定义表情符号对消息添加反应,出于某种原因,我在网上找不到太多关于此的信息,并且在过去的 30m 中我一直在试图找出不同的方法。 到目前为止没有任何效果。

这是齿轮内部。

第一种方法

accept_decline = await ctx.send("Test")
cross = self.bot.get_emoji(558322190060093441)
checkM = self.bot.get_emoji(558322116685070378)
await accept_decline.add_reaction(checkM)
await accept_decline.add_reaction(cross)

另一种方法

accept_decline = await ctx.send("Test")
await self.bot.add_reaction(accept_decline, emoji="<:greenCheckmark:558322116685070378>")
await self.bot.add_reaction(accept_decline, emoji="<:redCross:423541694600970243>")

控制台中似乎没有任何事情发生,也没有任何错误出现。

从表情中删除<>
await self.bot.add_reaction(accept_decline, emoji="redCross:423541694600970243")应该可以工作。

第二种方法是异步的。 你在用齿轮吗? 如果没有将self.bot转为bot另外您确定该 bot 在服务器中,它试图获取的表情符号在其中吗? 你可能有一个错误的 ID,下面的这个应该可以正常工作,你没有告诉我们你得到的错误,所以很难 uncdertsnad 是什么问题,如果你收到错误说self is not defined那么你'没有使用齿轮,应该将self.bot更改为bot因为下面的脚本对我来说效果很好:

accept_decline = await ctx.send("Test")
cross = self.bot.get_emoji(558322190060093441)
checkM = self.bot.get_emoji(558322116685070378)
await accept_decline.add_reaction(checkM)
await accept_decline.add_reaction(cross)

最好的方法是给你的表情符号的名称/字符串/unicode 符号:

'\\N{竖起大拇指}'

'\\U0001F44D'

'👍'

然后创建一个包含它的变量:

emoji = '\N{THUMBS UP SIGN}'

然后你可以发送你的消息并添加反应:

message = await ctx.send('test')
await message.add_reaction(emoji)

最后,你应该得到:

@client.command()
async def test(ctx):
    message = await ctx.send('test')
    emoji = '\N{THUMBS UP SIGN}'
    await message.add_reaction(emoji)

检查常见问题: https : //discordpy.readthedocs.io/en/stable/faq.html#how-can-i-add-a-reaction-to-a-message

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM