Как в discord.py добавить смайл на сервер?
Я хочу при использовании команды добавлять смайл на сервер
@client.command
async def добавить(ctx):
with open("check-mark-microsoft") as img:
img_byte = img.read()
await ctx.guild.create_custom_emoji(name = ("ok"), image = img_byte)
Пока только так... В чём ошибка?
Если что пишу на replit
Ответы (1 шт):
Автор решения: Universall
→ Ссылка
Ошибка в открытии файла. Вам нужен байт-код, значит в аргументах в with open() нужно указать режим "rb". Как-то так:
@bot.command()
async def create_emoji(ctx: commands.Context, filename: str, name: str):
with open(filename, "rb") as image:
img_byte = image.read()
await ctx.guild.create_custom_emoji(name=name, image=img_byte)
Чтобы удалить смайл можно воспользоваться await ctx.guild.delete_custom_emoji(guild id, emoji id)
@bot.command()
async def delete_emoji(ctx: commands.Context, emoji: discord.Emoji):
await ctx.guild.delete_custom_emoji(ctx.guild.id, emoji.id)