Проблема с записью в файл message.content с emojis Discord.py - PullRequest
0 голосов
/ 23 февраля 2020

Это ошибка, которую я получаю, когда пытаюсь записать сообщение. Содержание сообщения, содержащего смайлики. Как мне этого избежать?

discord.ext.commands.errors.CommandInvokeError: Команда вызвала исключение: UnicodeEncodeError: код 'charmap' c не может кодировать символ '\ U0001f609' в позиции 81: символ отображается на

Заранее спасибо.

Это код, который я использую:

async def posts(ctx):
    f = open("file.txt", "w")
    for channel in ctx.guild.text_channels:
        f.write(message.content + "\n")

    f.close()

1 Ответ

0 голосов
/ 23 февраля 2020

Проблема в том, что вы не используете кодировку utf-8. Стандартная кодировка, которую использует функция open (), не поддерживает эмодзи. Таким образом, ошибка.

Чтобы противостоять этой проблеме, вам необходимо добавить encoding="utf-8" в ваш код:

async def posts(ctx):
    f = open("file.txt", "w", encoding="utf-8")
    for channel in ctx.guild.text_channels:
        f.write(message.content + "\n")

    f.close()
...