#python #discord.py
#питон #discord.py #python
Вопрос:
@client.command()
async def vmute(ctx, user, time, * reason) :
role = discord.utils.get(ctx.guild.roles, name="VcMuted" )
await user.add_roles(role)
print(user, role, time)
Я буквально понятия не имею, что я делаю не так. С user
Я заканчиваю с:
AttributeError: 'str' object has no attribute 'add_roles'
с клиентом (он же бот) В итоге я получаю:
AttributeError: 'Bot' object has no attribute 'add_roles'
Я искал около 10 страниц стека, страницу API и гуглил в течение 1 часа. Я понятия не имею, чего мне здесь не хватает. Если бы кто-нибудь мог сказать мне, что такое оператор для удаления ролей, я был бы признателен. это своего рода моя единственная команда, и я новичок в python. Это просто такая мелочь, которую я не могу заставить запустить.
Ответ №1:
user
параметр возвращает строку, укажите тип, используя type hints
вот так user: discord.Member
.
@client.command()
async def vmute(ctx, user: discord.Member, time, *reason):
role = discord.utils.get(ctx.guild.roles, name="VcMuted")
await user.add_roles(role)
print(user, role, time)
Комментарии:
1. Я так сильно тебя люблю. Теперь это работает… Я выстрелил в себя 200 раз. Вся моя штуковина работает
2. теперь я понял все остальное. давайте посмотрим