Как сменить никнейм, когда член присоединяется? - PullRequest
0 голосов
/ 04 апреля 2020

Итак, я запускаю сервер, на котором мы меняем псевдонимы участников (мы добавляем ︻ デ ═ 一 перед их именем), когда они присоединяются, и я хочу бот, который может это сделать. Я застрял, пытаясь выяснить команды. Ребята, вы можете мне помочь? Мой код:

@client.event
async def on_member_join(member: discord.Member):
    async def on_member_join(ctx):
        async def on_member_join(nick):
            await member.edit(nick="︻デ═一")
            await ctx.send("Nickname was changed for {member.mention} ")

1 Ответ

0 голосов
/ 04 апреля 2020

Редактировать (Поскольку ОП изменил вопрос): Это зависит от того, как вы хотите изменить никнейм участников.

Аналогичное решение от Stackoverflow: Как изменить ник (discord.py)

Согласно Clonexy: Например, вы можете использовать:

@client.command(pass_context=True)
async def chnick(ctx, member: discord.Member, nick):
    await member.edit(nick=nick)
    await ctx.send(f'Nickname was changed for {member.mention} ')

Не забывайте о важном: бот ДОЛЖЕН иметь разрешение на изменение псевдонимов и не может менять псевдоним владельца сервера. Протестируйте его на других ботах или участниках сервера

(Это больше не поддерживается в более новых версиях discord.py.) Другое решение от github: https://github.com/Rapptz/discord.py/issues/1044

Согласно Ghost: Если вам известен идентификатор пользователя участника или из контекста в событии (например, в on_message), вы можно использовать change_nickname().

Первый аргумент - это член, для которого вы хотите изменить псевдоним, второй - строка с новым псевдонимом.

Так, например, когда NewUser#999 присоединяется к серверу. Желаемый результат будет ︻デ═一 NewUser Я рекомендую проверить документацию: Discord.Py API Документация

Попробуйте предоставить Минимальный воспроизводимый пример , чтобы мы могли помочь вам решить вашу проблему? Покажите нам код с тем, что вы пытались и что пошло не так.

...