Я пытаюсь изменить аватар в discord.py, и мне нужно загрузить изображение, чтобы установить его в качестве аватара, но я не знаю, как получить изображение в client.wait_for.
Я действительно не пробовал много, кроме
def check(m):
return m.author.id == ctx.author.id
message_1 = await client.wait_for("message", check=check)
message = message_1.content
Пожалуйста, помогите!
Вы можете проверить, содержит ли message_1
какие-либо вложения, и если да, то является ли content_type
первого вложения изображением, например:
def check(m):
return m.author.id == ctx.author.id
message_1 = await client.wait_for("message", check=check)
if message_1.attachments:
if m.attachments[0].content_type.startswith("image"):
print("yes")
# do whatever here
Или то, что вы также можете сделать, это добавить эти операторы if напрямую в свой check
:
def check(m):
return (
m.author.id == ctx.author.id
and m.attachments
and m.attachments[0].content_type.startswith("image")
)
message_1 = await client.wait_for("message", check=check)
print("yes")
# do whatever here
Так что это вроде сработало, но когда я попытался изменить аватар с помощью
await client.user.edit(avatar=message_1.attachments[0])
, это выдало мне эту ошибкуAttributeError: 'Attachment' object has no attribute 'startswith'