#3. discord.py中的事件。
#初学者 #教程 #python #discord

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(消息)。它的作用是检查消息中是否有任何命令,处理命令,然后运行下一个代码。

  • 然后,我正在使用打印语句打印消息的内容。

sending message

getting message content

今天就这样。我希望大家尝试所有剩下的事件。


github:https://github.com/MannuVilasara
折射:https://discordpy.readthedocs.io/
不和谐:https://discord.gg/pvvJvZU6nS


接下来:

  • 注册slash(/)命令。
  • 错误处理。