hii伙计们!
欢迎来到此Discord.py教程#3。
今天,我们将在Discord.py中讨论
discord.py中的事件是什么?
discord.py中的事件是特定的动作(或事件),当发生此特定动作时,我们的功能就会发射。
事件类型:
有几种类型的事件:
-
on_ready():当机器人成功连接到Discord并准备开始处理事件时,触发了。
-
on_message(消息):在机器人可以访问的频道中发送消息时被解雇。
-
on_message_edit(之前,之后):在频道中编辑消息时提出。
-
on_message_delete(消息):在频道中删除消息时呼叫。
-
on_member_join(成员):成员加入服务器时调用。
-
on_member_remove(成员):成员离开服务器时执行。
-
on_member_update(之前,之后):当更新会员的信息(例如,昵称,角色)时触发。
-
on_guild_join(guild):当机器人加入新公会(服务器)时被解雇。
-
on_guild_remove(guild):从公会中删除机器人时提出。
-
on_reaction_add(反应,用户):添加反应时调用。
-
on_reaction_remove(反应,用户):从消息中删除反应时调用。
-
on_raw_message_delete(有效载荷):在频道中删除消息时触发,包括两周以上的消息。
-
on_command_error(ctx,错误):当命令有错误或没有该名称的命令时触发。
如何使用事件:
现在要做的是实用的事情。让我们看看到底发生了什么事件
on_ready事件:
要创建一个事件,我们需要添加一个bot.event的装饰器,例如...
@bot.event
在此下,我们将使用事件名称创建异步def,
async def on_ready():
# Logic here
现在,当机器人准备使用时,这次事件的作用是在上述效果上,即我们已成功地与我们的机器人联系。
因此,让我们在此def中创建逻辑。
@bot.event
async def on_ready():
print(f"Logged in as {bot.user.name}")
现在,当机器人准备使用时,这将打印我们的机器人的用户名。
on_message事件:
当任何用户发送消息(包括我们的bot)时,就会发射此事件。
所以让我们首先创建此事件
@bot.event
async def on_message(message):
await bot.process_commands(message)
print(message.content)
-
我们在这里做什么是将函数定义为事件,on_message,当有人发送任何消息时,它会调用。这里param
message
是用户发送的消息。 -
在此功能中,我等待bot.process_commands(消息)。它的作用是检查消息中是否有任何命令,处理命令,然后运行下一个代码。
-
然后,我正在使用打印语句打印消息的内容。
今天就这样。我希望大家尝试所有剩下的事件。
github:https://github.com/MannuVilasara
折射:https://discordpy.readthedocs.io/
不和谐:https://discord.gg/pvvJvZU6nS
接下来:
- 注册slash(/)命令。
- 错误处理。