如何使用消息ID向消息添加响应

时间:2019-11-01 15:11:15

标签: python discord message discord.py

我想创建一个Bot命令,当给定表情符号和消息ID时,它会对消息添加响应。

为了使代码正常工作,我似乎需要将从原始消息中获得的字符串转换为discord.Message类,但是我找不到任何方法。

我已经阅读了文档,只是说 “没有必要手动创建其中之一。”

import discord
token = "Token Here"
client = discord.Client()
@client.event
async def on_message(message):
    if message.content.lower().startswith("e react"):
        msg_id = message.content[8:26] #This filters out the ID
        emoji = message.content[27:] #This filters out the Emoji
        await msg_id.add_reaction(emoji)

client.run(token)

我收到以下错误:
AttributeError: 'str' object has no attribute 'add_reaction'

1 个答案:

答案 0 :(得分:0)

使用converters可以使操作变得更加容易。具体来说,我们可以使用MessageConverter获取目标Message对象,并使用PartialEmojiConverter获取我们想要与之反应的表情符号:

from discord.ext.commands import Bot
from discord import Message, PartialEmoji

bot = Bot("e ")

@bot.command()
async def react(ctx, message: Message, emoji: PartialEmoji):
    await message.add_reaction(emoji)

bot.run("TOKEN")