📌  相关文章
📜  discord.py 在成员加入时添加角色 - Python (1)

📅  最后修改于: 2023-12-03 15:30:28.013000             🧑  作者: Mango

discord.py 在成员加入时添加角色

简介

本文介绍如何使用 discord.py 在成员加入 Discord 服务器时自动添加指定角色,以及如何在成员离开时自动移除角色。

目录
  1. 准备工作
  2. 添加角色
  3. 移除角色
  4. 完整代码
准备工作

在开始之前,你需要做一些准备工作:

  1. 安装 discord.py。你可以通过 pip 安装,命令为 pip install discord.py
  2. 获取 Discord Bot 的 Token。你需要先创建一个 Bot 并获取 Token,具体流程可以参考 Discord 官方文档
  3. 获取要添加的角色的 ID。在 Discord 界面中,右键单击角色即可看到 ID。
添加角色

使用 Member.add_roles() 方法即可为成员添加指定角色。以下是添加角色的示例代码:

@client.event
async def on_member_join(member):
    role = member.guild.get_role(123456789)  # 123456789 替换成要添加的角色的 ID
    await member.add_roles(role, reason="自动添加角色")

在这个示例代码中,我们使用 on_member_join() 事件来监听成员加入操作,并使用 Member.add_roles() 方法来添加角色。其中,123456789 替换成你要添加的角色的 ID。

移除角色

使用 Member.remove_roles() 方法即可为成员移除指定角色。以下是移除角色的示例代码:

@client.event
async def on_member_remove(member):
    role = member.guild.get_role(123456789)  # 123456789 替换成要移除的角色的 ID
    await member.remove_roles(role, reason="自动移除角色")

在这个示例代码中,我们使用 on_member_remove() 事件来监听成员离开操作,并使用 Member.remove_roles() 方法来移除角色。其中,123456789 替换成你要移除的角色的 ID。

完整代码

以下为完整代码,仅供参考:

import discord

client = discord.Client()

@client.event
async def on_member_join(member):
    role = member.guild.get_role(123456789)  # 123456789 替换成要添加的角色的 ID
    await member.add_roles(role, reason="自动添加角色")

@client.event
async def on_member_remove(member):
    role = member.guild.get_role(123456789)  # 123456789 替换成要移除的角色的 ID
    await member.remove_roles(role, reason="自动移除角色")

client.run("BOT_TOKEN")  # 将 BOT_TOKEN 替换成你的 Bot 的 Token
结论

本文介绍了如何在 Discord 中使用 discord.py 实现成员加入时自动添加角色和成员离开时自动移除角色。这可以帮助我们更好地管理服务器成员,并提供更好的用户体验。