Я использую reddit-flair-bot для моего subreddit.Unicode Ошибка при попытке обработать пустой текст символа в PRAW
Если вы не знакомы с этим, это питон скрипт, который обрабатывает входящие PMs от пользователей, где он принимает тему как класс чутье и содержание ПМ как текст чутье.
Это всего лишь немного контекста, но вот важная часть - по умолчанию вы не можете отправить пустой PM на reddit. Это означает, что пользователи должны иметь текст при отправке PM (что означает, что они также должны иметь текст рядом с их именем).
Мы недавно нашли обходной путь к этой проблеме, где вместо этого вы можете вставить пустой символ, и он будет идентифицирован как символ (поэтому PM отправит), но он будет отображаться как ничего рядом с вашим именем , Я говорю о фактическом пустом символе, а не о пустоте (alt+0143
и alt+0173
соответствуют этим критериям).
Проблема в том, что бот использует PRAW, и PRAW, похоже, не может обнаружить пустой символ Юникода. Таким образом, скрипт работает неправильно.
Он поставляется с ошибкой:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 19-20: ordinal not in range(128)
Есть ли способ обойти это? Надеюсь, я ясно объяснил свою ситуацию.
При включении сообщения об ошибке Python обычно полезно отображать весь стек вызовов. Это облегчает определение, откуда исходит ошибка. –
@MarkRansom Что-то вроде [this?] (Https://i.imgur.com/24MGL08.png) – antonlab
Точно, хотя было бы лучше, если бы вы скопировали/вставляли непосредственно в вопрос. Он указывает, что ошибка возникает в 'logfile.write', которая говорит мне, что это файл текстового режима, в котором вы не указали кодировку. –