aboutsummaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/util/SplitMessage.js
blob: 3833f009ab70282292ba3d6898fbf471aae1bf2d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
module.exports = function splitMessage(text, { maxLength = 1950, char = '\n', prepend = '', append = '' } = {}) {
  if (text.length <= maxLength) return text;
  const splitText = text.split(char);
  if (splitText.length === 1) throw new Error('Message exceeds the max length and contains no split characters.');
  const messages = [''];
  let msg = 0;
  for (let i = 0; i < splitText.length; i++) {
    if (messages[msg].length + splitText[i].length + 1 > maxLength) {
      messages[msg] += append;
      messages.push(prepend);
      msg++;
    }
    messages[msg] += (messages[msg].length > 0 && messages[msg] !== prepend ? char : '') + splitText[i];
  }
  return messages;
};