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

时间:2019-04-16 06:01:21

标签: python python-3.6 discord 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>")

控制台似乎什么也没发生,也没有任何错误出现。

3 个答案:

答案 0 :(得分:1)

最好的方法就是给你的表情符号的名字/str/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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

第二种方法用于异步。 您正在使用嵌齿轮吗?如果没有,请从self.bot转到bot 您还确定该机器人是否在服务器中,它试图获取的表情符号在其中? 您可能输入了错误的ID,下面的代码应该可以正常工作,并且您没有告诉我们您遇到的错误,因此,如果您遇到错误提示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)