我想创建一个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'
答案 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")