在discord.py中,可以使用wait_for
命令来等待特定的反应。wait_for
函数可以用于等待用户在消息中添加特定的反应。
下面是一个示例代码,演示如何使用wait_for
命令来查看两个不同的反应:
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.reactions = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'Logged in as {bot.user.name}')
@bot.command()
async def watch_reactions(ctx):
message = await ctx.send('请添加反应')
await message.add_reaction('👍')
await message.add_reaction('👎')
def check(reaction, user):
return user != bot.user and str(reaction.emoji) in ['👍', '👎']
try:
reaction, user = await bot.wait_for('reaction_add', timeout=60.0, check=check)
await ctx.send(f'{user.name} 添加了反应 {reaction.emoji}')
except asyncio.TimeoutError:
await ctx.send('等待超时')
bot.run('YOUR_BOT_TOKEN')
在上面的代码中,我们创建了一个名为watch_reactions
的命令。当用户使用!watch_reactions
命令时,机器人会发送一条消息,并添加两个反应:👍和👎。然后,机器人会等待用户添加其中一个反应。
check
函数用于检查用户是否是机器人本身,并且反应是否是我们感兴趣的反应(👍或👎)。如果满足条件,wait_for
函数将返回反应和用户对象。
最后,机器人会发送一条消息,显示添加了反应的用户和所添加的反应。
请注意,上述代码仅是一个示例,您可以根据自己的需求进行修改和扩展。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云