Мне нужно изменить аватар бота python discord (изображение профиля), используя discord.py переписать

#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 Я забыл, что мне нужно вызвать класс. Я пойду это сделаю