我想在此代码中添加2个反应:
@client.event
async def on_message(message):
if message.content.startswith('<:JAX1:764860878512062505> offer'):
member = message.mentions[0]
await message.channel.send(f'{member.mention} Has been offered by <:JAX1:764860878512062505>.')
if message.content.startswith(f"{member.mention} Has been offered by <:JAX1:764860878512062505>"):
emoji = get(client.get_all_emojis(), name='<:Accept:764926510673952859>')
await client.add_reaction(message, emoji)
但是问题是,
if message.content.startswith(f"{member.mention} Has been offered by <:JAX1:764860878512062505>"):
emoji = get(client.get_all_emojis(), name='<:Accept:764926510673952859>')
await client.add_reaction(message, emoji)
不给我错误信息,但也没有增加任何反应,请帮助我。
答案 0 :(得分:0)
client.add_reaction
和client.get_all_emojis()
来自旧版本的discord.py。
我相信这就是您要尝试的事情:
@client.event
async def on_message(message):
if message.content.startswith('<:JAX1:764860878512062505> offer'):
member = message.mentions[0]
msg = await message.channel.send(f'{member.mention} Has been offered by <:JAX1:764860878512062505>.')
await msg.add_reaction('<:Accept:764926510673952859>')
答案 1 :(得分:0)
client
没有属性add_reaction
。您应该使用message.add_reaction
。因此,您只需执行await message.add_reaction(emoji)
或message.add_reaction('<:Accept:764926510673952859>')
。
此外,也无法在代码中添加响应,因为首先,您正在检查消息内容是否以'<:JAX1:764860878512062505> offer'
开头,如果是,则尝试检查相同消息内容的开头是否为f"{member.mention} Has been offered by <:JAX1:764860878512062505>"
。