如何在用户加入服务器时更改某人的昵称 || Discord.py

时间:2021-05-11 15:06:17

标签: python discord discord.py

当有人加入服务器时,我希望我的机器人在用户名中添加一个氏族标签,但我不知道如何去做。您的帮助将不胜感激

2 个答案:

答案 0 :(得分:2)

如果您使用齿轮,

import discord
from discord.ext import commands
intents = discord.Intents.all()
bot = commands.Bot(command_prefix=config.prefix,intents = intents)
# You can find Intents in Bot entries on the discord developer site.

------------------------------------------------------------------------------------
# change someone's nickname when a user joins the server

@commands.Cog.listener()
async def on_member_join(self, member):
    await member.edit(nick="nickname here")

答案 1 :(得分:0)

机器人可以检测到新成员何时加入带有 on_member_join() event reference 的公会。然后您可以使用 Member.nick 获取成员的昵称,您可以使用 Member.edit 更改成员的昵称,传递 nick= 关键字参数。

CLAN_TAG = "TAG"

@bot.event
async def on_member_join(member):
    await member.edit(nick=f"[{CLAN_TAG}]{member.nick}")

如果会员的原始昵称是昵称,他们的新昵称将是[TAG]昵称