#discord.py
Вопрос:
Я пытаюсь создать простую команду без аргументов, кроме идентификатора пользователя/упоминания, чтобы автоматически изменить часть псевдонима упомянутого пользователя с помощью нотации среза. Я работаю администратором на сервере Discord, и у всех там есть какой-то идентификатор в начале их псевдонима; однако, когда я выполняю эту команду, я хочу, чтобы только часть идентификатора упомянутого пользователя была установлена в «Гость», а остальная часть имени упомянутого пользователя сохранялась. Вот что я сделал до сих пор:
@commands.has_permissions(administrator=True) @commands.command() async def terminate(self, ctx, user_id: discord.Member): user_inf = ctx.guild.get_member(user_id.id) user_roles = [user_role.id for user_role in user_inf.roles] if 866317136061792277 in user_roles: await ctx.send(user_inf.display_name[1:8]) # This is just a test to see if I can get the id from my nickname await user_inf.edit(nick=user_inf.display_name[1:8] = "Guest") else: await ctx.send("User is not a community member!")
Сейчас, очевидно nick=user_inf.display_name[1:8] = "Guest"
, это не работает, но это идея. Я не мог найти никакого другого решения этой проблемы, несмотря на мои усилия.
Ответ №1:
Строки-это неизменяемый тип в python. Вы можете сделать что-то вроде этого:
await user_inf.edit(nick=user_inf.display_name[0] "Guest" user_inf.display_name[8:])