📅  最后修改于: 2023-12-03 15:36:19.357000             🧑  作者: Mango
在 Discord 机器人开发中,我们经常需要获取用户的反应,以此触发某些特定的操作。本篇文章将介绍如何从消息中获取反应,使用的语言是 Python。
import discord
client = discord.Client()
@client.event
async def on_message(message):
# Do something
使用 wait_for
函数获取用户的反应。这个函数需要以下参数:
event
:要等待的事件类型,这里是 on_reaction_add
。check
:一个函数,用于检查所接收的事件是否满足某些条件。我们可以在这里指定只处理特定的消息或反应。timeout
:等待事件的超时时间。在本例中,我们等待用户对消息添加反应,并且反应为指定的 emoji。
import discord
client = discord.Client()
@client.event
async def on_message(message):
def check(reaction, user):
return user == message.author and str(reaction.emoji) == '😄'
await message.add_reaction('😄')
try:
reaction, user = await client.wait_for('reaction_add', timeout=60.0, check=check)
except asyncio.TimeoutError:
await message.remove_reaction('😄', client.user)
else:
await message.channel.send(f'{user} 反应了 😄')
client.run('TOKEN')
通过这个例子,您已经知道了如何从 Discord 消息中获取反应。您可以使用此功能触发其他操作,例如将消息添加到数据库或执行某些计算。