我的一个Cog文件中有一个任务功能,如下所示。这不是命令,只是每30秒作为后台任务运行一次。我想对刚刚发送的邮件添加反应。我该怎么办?
async def _say_hello(self, channelId):
channel = self.client.get_channel(channelId)
await channel.send("Hi everyone")
await channel.add_reaction(':heart:') # This part gives me an error
答案 0 :(得分:1)
发送消息时,可以将其放入变量中并将其用作discord.Message
对象,如下所示:
async def _say_hello(self, channelId):
channel = self.client.get_channel(channelId)
msg = await channel.send("Hi everyone")
await msg.add_reaction('❤') # heart's unicode is \u2764
添加反应时,您想使用实际的表情符号(如果您的编辑器支持的话)或unicode,您可以从this网站上获取。
async def _say_hello(self, channelId):
channel = self.client.get_channel(channelId)
msg = await channel.send("Hi everyone")
emoji = discord.utils.get(ctx.guild.emojis, name="emojiname")
# emoji = discord.utils.get(ctx.guild.emojis, id=112233445566778899) alternative method
await msg.add_reaction(emoji)
obj = discord.utils.get(iter, attr="something")
# examples
member = discord.utils.get(ctx.guild.members, id=112233445566778899)
channel = discord.utils.get(ctx.guild.text_channels, name="general")
查找特定对象时,可以使用该对象具有的任何属性。如果需要任何提示,请参考docs。