Skip to content

IkorJefocur/discord-message-split

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord Message Split

Программа для разделения больших частей текста на несколько сообщений в Discord

Лимит длины сообщения в Discord - 2000 символов (4000 для nitro). Порой возникает необходимость публиковать большие текста в виде сообщений. Данная программа помогает автоматизировать подобный постинг, разделяя текст на куски, длина которых гарантированно будет меньше лимита.

Что учитывается

Это не просто разделение строки на равные лимиту части. Программа сначала пытается сохранить целостность абзацев в сообщении. Если встречается абзац длиной больше лимита, происходит разделение с сохранением целостности предложений. И только когда встречается предложение длиннее лимита, применяется описанное в начале грубое разделение.

Discord образает пробелы и переносы в начале и конце сообщения. Если встречается более одного переноса подряд (как правило, для создания пространства между абзацами) между получаемыми сообщениями, происходит попытка сохранения этих переносов путем вставки специальнего невидимого символа в конце первого.

Что не учитывается

Discord имеет свою реализацию markdown для пользовательских сообщений. Данная программа не работает со специальными символами, не гарантируя никакой целостности markdown-блоков. Например, большой код-блок (задаваемый символами "```") может быть спокойно разделен на два сообщения с началом в первом и конце во втором. В дальнейшем планируется ввести поддержку markdown.

Установка

На странице releases вы можете скачать последнюю версию программы, как правило собираемую под платформы windows (.exe) и linux (без расширения). Никакая дополнительная установка в систему не требуется - просто запускайте скачанный файл.

Использование

Для получения подробной справки воспользуйтесь параметром --help/-h.

По умолчанию читается буфер обмена. Присутствует возможность задать входной текстовый файл в качестве аргумента.

Лимит по умолчанию - 2000. Аргумент --nitro/-n увеличивает его до 4000.

Структура

split.py - Сам алгоритм разделения.

__main__.py - Обертка консольного приложения.

Сборка

Проект использует pipenv. После установки зависимостей введите:

pipenv run pyinstaller __main__.py --onefile

About

Программа для разделения больших частей текста на несколько сообщений в Discord

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages