#python #discord #bots #discord.py #discord.py-rewrite
#python #Discord #боты #discord.py
Вопрос:
Это код, который у меня есть для изменения аватара до сих пор:
with open("image.png", "rb") as file:
await discord.ClientUser.edit(self=, avatar=file)
Во-первых, я даже не знаю, так ли вы меняете изображение профиля бота. Если это так, я не знаю, что мне нужно добавить после self=
. Я пытался читать документы и спрашивать людей, как это сделать, но я не нашел ничего, чтобы решить эту проблему. Любая помощь будет оценена.
Вот как я определяю своего клиента: client = commands.Bot(command_prefix='.')
Комментарии:
1. Находится ли эта команда внутри файла cog?
2. @Nurqm нет, он находится внутри файла .py, который содержит остальную часть кода бота.
Ответ №1:
Приведенный выше ответ имеет правильную идею, но чего-то не хватает.
Вот как это сделать:
with open('image.png', 'rb') as image:
await client.user.edit(avatar=image.read())
Ответ №2:
Вы можете использовать ClientUser
для изменения изображения профиля, но вам нужно вызвать класс. Вы не можете этого сделать discord.ClientUser.edit
. Для изменения аватара вам нужен объект, подобный байтам. Итак, это должно сработать:
with open('image.png', 'rb') as image:
await client.user.edit(avatar=image)
Комментарии:
1. Я получаю эту ошибку: AttributeError: объект ‘Bot’ не имеет атрибута ‘edit’
2. Можете ли вы отредактировать свой вопрос с помощью кодовой строки, которую вы определяете
client
? А также, какой у вас префикс для команд?3. Я уже пробовал использовать
client.user.edit.(avatar=...)
. Это выдает мне такую ошибку:AttributeError: '_io.BufferedReader' object has no attribute 'startswith
‘4. Использование
client.edit(avatar=image)
выдает мне эту ошибкуAttributeError: 'Bot' object has no attribute 'edit'
и эту ошибкуdiscord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Bot' object has no attribute 'edit'
5. Nvm Я забыл, что мне нужно вызвать класс. Я пойду это сделаю