lorem

Sharedunrated

Content

121 lines
{=(COMMENT):Your preferred server prefix and this tag name, that will be displayed as instructions in the embed's footer.
You can leave the syntax as is.}
{=(prefix):!}
{=(tagName):lorem}
{=(syntax):<paragraphs|sentences|words> [amount]}

{=(COMMENT):Default and max values for paragraphs, sentences and words. Can be edited at wish to better fit your needs.}
{=(defaultParagraphs):1}
{=(maxParagraphs):3}

{=(defaultSentences):1}
{=(maxSentences):44}

{=(defaultWords):1}
{=(maxWords):344}

{=(COMMENT):You shouldn't really have to edit anything anymore from here. I still left comments in the code if you're interested to see how it works.}

{=(COMMENT):Blocks and values aliases, to shorten the typing of reused content in the long run and keep that DRY (Don't Repeat Yourself) Code!
fb stands for "fallback", nl is "newline", and np is "new paragraph".}
{=(r):replace}
{=(i):index}
{=(ct):contains}
{=(t):true}
{=(f):false}
{=(fb):NONE}
{=(tag):{prefix}{tagName}}
{=(nl):
}
{=(np):{nl}{nl}}


{=(COMMENT):Different lorem texts to randomize later, so it doesn't always parse from the same text when the command is used.}
{=(lorems):Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mauris a diam maecenas sed enim ut sem viverra. Nisi est sit amet facilisis magna etiam tempor orci eu. Eget est lorem ipsum dolor sit amet consectetur adipiscing elit. Ac ut consequat semper viverra nam libero. Faucibus ornare suspendisse sed nisi. Lectus magna fringilla urna porttitor rhoncus dolor purus non. Pulvinar etiam non quam lacus suspendisse faucibus. Eu scelerisque felis imperdiet proin fermentum leo vel. Massa id neque aliquam vestibulum morbi blandit cursus risus. Ridiculus mus mauris vitae ultricies leo. Placerat in egestas erat imperdiet sed euismod. Facilisi morbi tempus iaculis urna id. Quis commodo odio aenean sed. In est ante in nibh mauris cursus mattis.

Pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum odio. Ultrices vitae auctor eu augue ut lectus arcu. Volutpat commodo sed egestas egestas fringilla phasellus faucibus scelerisque. Amet consectetur adipiscing elit ut aliquam purus. Sed tempus urna et pharetra pharetra massa massa ultricies. Pellentesque elit eget gravida cum sociis. Enim sit amet venenatis urna cursus eget. Risus quis varius quam quisque id diam. Purus in massa tempor nec feugiat nisl pretium fusce. Et tortor consequat id porta nibh venenatis cras sed felis. At quis risus sed vulputate odio. Amet porttitor eget dolor morbi. At elementum eu facilisis sed odio morbi. At lectus urna duis convallis convallis tellus id interdum. Erat imperdiet sed euismod nisi. Convallis convallis tellus id interdum velit. Urna duis convallis convallis tellus id interdum velit laoreet id.

Eget velit aliquet sagittis id consectetur purus ut faucibus pulvinar. Ut consequat semper viverra nam libero justo laoreet. Dictum non consectetur a erat nam at lectus urna duis. Laoreet id donec ultrices tincidunt arcu non sodales. Aliquet nec ullamcorper sit amet risus nullam eget felis eget. Aliquet eget sit amet tellus cras adipiscing enim. Diam maecenas sed enim ut sem. Facilisi etiam dignissim diam quis enim. Pellentesque elit eget gravida cum sociis natoque penatibus. Pulvinar elementum integer enim neque. Nulla aliquet porttitor lacus luctus accumsan tortor. Magna fringilla urna porttitor rhoncus.~Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mi eget mauris pharetra et ultrices neque ornare aenean euismod. Eget nunc scelerisque viverra mauris in aliquam. Ut etiam sit amet nisl purus in mollis. Ac turpis egestas integer eget. Amet purus gravida quis blandit turpis cursus in hac. Nibh tortor id aliquet lectus. Massa tempor nec feugiat nisl pretium fusce id velit ut. Tortor condimentum lacinia quis vel eros donec ac odio tempor. In tellus integer feugiat scelerisque varius morbi enim. Nulla pharetra diam sit amet nisl suscipit adipiscing bibendum.

Leo integer malesuada nunc vel. Odio pellentesque diam volutpat commodo sed egestas egestas fringilla. Malesuada bibendum arcu vitae elementum curabitur vitae. Sit amet purus gravida quis blandit turpis. Suspendisse faucibus interdum posuere lorem ipsum dolor. Id ornare arcu odio ut. Etiam dignissim diam quis enim lobortis scelerisque fermentum. Amet risus nullam eget felis eget nunc lobortis. Arcu non odio euismod lacinia at quis risus. Posuere morbi leo urna molestie at. Lorem mollis aliquam ut porttitor leo a diam sollicitudin tempor. Non consectetur a erat nam at. Venenatis tellus in metus vulputate eu scelerisque felis imperdiet.

Diam ut venenatis tellus in metus vulputate. Felis bibendum ut tristique et. Est sit amet facilisis magna etiam tempor. Vulputate eu scelerisque felis imperdiet proin fermentum leo. Lectus mauris ultrices eros in cursus turpis massa tincidunt dui. Lorem ipsum dolor sit amet consectetur. Curabitur gravida arcu ac tortor dignissim convallis. Pellentesque sit amet porttitor eget dolor morbi non. Eget velit aliquet sagittis id consectetur purus ut. Commodo elit at imperdiet dui accumsan sit amet nulla facilisi. Sollicitudin aliquam ultrices sagittis orci a scelerisque purus semper. Vitae tempus quam pellentesque nec nam aliquam sem et tortor. Duis convallis convallis tellus id. Sed viverra ipsum nunc aliquet bibendum. Ipsum faucibus vitae aliquet nec ullamcorper.~Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Amet consectetur adipiscing elit pellentesque. Vitae purus faucibus ornare suspendisse. Non odio euismod lacinia at quis risus. Volutpat diam ut venenatis tellus in metus vulputate eu scelerisque. Tincidunt vitae semper quis lectus. Ornare arcu dui vivamus arcu felis bibendum ut tristique. Ut diam quam nulla porttitor massa id. Magna ac placerat vestibulum lectus mauris ultrices eros in. Sit amet nisl suscipit adipiscing bibendum. Enim blandit volutpat maecenas volutpat blandit aliquam etiam erat velit. Placerat orci nulla pellentesque dignissim enim sit amet. Donec enim diam vulputate ut pharetra sit amet aliquam. Sit amet tellus cras adipiscing enim eu. Non consectetur a erat nam at. Diam quam nulla porttitor massa id neque aliquam. Elementum tempus egestas sed sed risus pretium quam.

Justo laoreet sit amet cursus sit amet dictum sit. Libero id faucibus nisl tincidunt eget nullam non nisi est. Egestas integer eget aliquet nibh. Porta non pulvinar neque laoreet. Ultrices vitae auctor eu augue ut lectus. Pellentesque diam volutpat commodo sed egestas egestas. Integer vitae justo eget magna fermentum iaculis eu non diam. Tempor commodo ullamcorper a lacus vestibulum. Sit amet volutpat consequat mauris nunc congue nisi vitae suscipit. Auctor augue mauris augue neque gravida in fermentum et sollicitudin. Proin fermentum leo vel orci.

Sed nisi lacus sed viverra tellus in hac habitasse. Iaculis eu non diam phasellus vestibulum. Sapien nec sagittis aliquam malesuada. Dolor sit amet consectetur adipiscing elit pellentesque habitant morbi tristique. Venenatis urna cursus eget nunc scelerisque viverra mauris in. Nec feugiat nisl pretium fusce id. Tincidunt augue interdum velit euismod in pellentesque massa. Dolor magna eget est lorem. Risus at ultrices mi tempus imperdiet. Amet dictum sit amet justo donec enim. Vulputate odio ut enim blandit volutpat. Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Ullamcorper dignissim cras tincidunt lobortis feugiat vivamus at augue eget. Leo urna molestie at elementum eu facilisis sed odio morbi. Cras tincidunt lobortis feugiat vivamus at augue eget. Auctor eu augue ut lectus arcu bibendum at varius vel. Commodo nulla facilisi nullam vehicula ipsum.}

{=(COMMENT):Returns a random lorem text from the ones above, and separate each paragraph with a "~" character to better parse paragraphs later.}
{=(lorem):{{r}({np},~):{#:{lorems}}}}

{=(COMMENT):Lowercase version of the first argument.}
{=(l1):{lower:{1}}}
{=(COMMENT):Available subcommands. The last one is just a placeholder, and the previous last one is better as uppercase and is the "fallback" word if no other subcommand was detected in the argument.}
{=(subcommands):sentences paragraphs words NONE !}

{=(COMMENT):Second argument. Returns "ZZ" explicitly when empty.}
{=(amount):Z{{r}(-,):{list(2):{join(~):! {args}}}}Z}

{=(COMMENT):Conditionally returns the default value if no amount (or 0) specified, otherwise the amount specified. And if it is above the maximum allowed, then it returns the maximum value explicitly.}
{=(amountParagraphs):{{r}(Z,):{{r}(Z0Z,{defaultParagraphs}):{{r}({f},{amount}):{{r}({t},{defaultParagraphs}):{{ct}(ZZ):{amount}}}}}}}
{=(amountParagraphs):{if({amountParagraphs}>{maxParagraphs}):{maxParagraphs}|{amountParagraphs}}}

{=(amountSentences):{{r}(Z,):{{r}(Z0Z,{defaultSentences}):{{r}({f},{amount}):{{r}({t},{defaultSentences}):{{ct}(ZZ):{amount}}}}}}}
{=(amountSentences):{if({amountSentences}>{maxSentences}):{maxSentences}|{amountSentences}}}

{=(amountWords):{{r}(Z,):{{r}(Z0Z,{defaultWords}):{{r}({f},{amount}):{{r}({t},{defaultWords}):{{ct}(ZZ):{amount}}}}}}}
{=(amountWords):{if({amountWords}>{maxWords}):{maxWords}|{amountWords}}}

{=(COMMENT):Returns "true" if the argument is in our list of subcommands as substring directly.}
{=(isMatchedDirectly):{in({l1}):{subcommands(+3)}}}

{=(COMMENT):Returns our fallback word if the argument isn't in our list of words.}
{=(rep):{{r}({l1},. {l1} .):{subcommands}}}
{=(subcommand):{{r}({t},{subcommands({{i}({l1}):{rep}})}):{{r}({f},{fb}):{isMatchedDirectly}}}}

{=(COMMENT):Output variables. Basically the switch method from the matched subcommand above.}
{=(paragraphs):**{amountParagraphs} paragraph{if({amountParagraphs}!=1):s}**
```{{r}(~,{nl}{nl}):{lorem(+{amountParagraphs}):~}}```}
{=(sentences):**{amountSentences} sentence{if({amountSentences}!=1):s}**
```{{r}(~,{nl}{nl}):{lorem(+{amountSentences}):.}}.```}
{=(words):**{amountWords} word{if({amountWords}!=1):s}**
```{{r}(~,{nl}{nl}):{lorem(+{amountWords})}}```}
{=(NONE):Generate paragraphs, sentences or words of Lorem Ipsum text.
Specifying an amount to generate is optional, and each type has a default amount if none was given, as well as a valid amount range.

Note that the keyword supports substring matching, meaning that typing `p`, `par` or `parag` for example would still match `paragraphs`.

**Paragraphs** ({defaultParagraphs}) [1-{maxParagraphs}]
```css
{tag} parag 3
```
**Sentences** ({defaultSentences}) [1-{maxSentences}]
```css
{tag} s 5
```
**Words** ({defaultWords}) [1-{maxWords}]
```css
{tag} w 5
```
}

{=(output):{{subcommand}}}

{=(COMMENT):Embed replacement.}
{embed(color):#2f3136}
{embed(title):Lorem Ipsum Generator}
{embed(description):{output}}
{=(embedFooter):{tag} {syntax}}

{=(COMMENT):Debug variable to call to see the value that each variable returns. Call debug when troubleshooting the command.}
{=(debug):__Debug:__
amount: {amount}

amountParagraphs: {amountParagraphs}
amountSentences: {amountSentences}
amountWords: {amountWords}

isMatchedDirectly: {isMatchedDirectly}

subcommand: {subcommand}
}

Embed

1 line
{"color": 5198940, "footer": {"text": "{embedFooter}"}, "description": "This will be populated from the Content section."}
Raw JSON
{
  "id": 1154689,
  "created_at": "2021-11-17T03:46:59.000Z",
  "tag_name": "lorem",
  "nsfw": false,
  "owner_id": "149926720114262016",
  "uses": 114,
  "description": null,
  "restricted": false,
  "shared": true,
  "deleted": false,
  "safe": "unrated",
  "hidden": false,
  "guild_id": "314660900302749696",
  "sharer": "149926720114262016",
  "content": "{=(COMMENT):Your preferred server prefix and this tag name, that will be displayed as instructions in the embed's footer.\nYou can leave the syntax as is.}\n{=(prefix):!}\n{=(tagName):lorem}\n{=(syntax):<paragraphs|sentences|words> [amount]}\n\n{=(COMMENT):Default and max values for paragraphs, sentences and words. Can be edited at wish to better fit your needs.}\n{=(defaultParagraphs):1}\n{=(maxParagraphs):3}\n\n{=(defaultSentences):1}\n{=(maxSentences):44}\n\n{=(defaultWords):1}\n{=(maxWords):344}\n\n{=(COMMENT):You shouldn't really have to edit anything anymore from here. I still left comments in the code if you're interested to see how it works.}\n\n{=(COMMENT):Blocks and values aliases, to shorten the typing of reused content in the long run and keep that DRY (Don't Repeat Yourself) Code!\nfb stands for \"fallback\", nl is \"newline\", and np is \"new paragraph\".}\n{=(r):replace}\n{=(i):index}\n{=(ct):contains}\n{=(t):true}\n{=(f):false}\n{=(fb):NONE}\n{=(tag):{prefix}{tagName}}\n{=(nl):\n}\n{=(np):{nl}{nl}}\n\n\n{=(COMMENT):Different lorem texts to randomize later, so it doesn't always parse from the same text when the command is used.}\n{=(lorems):Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mauris a diam maecenas sed enim ut sem viverra. Nisi est sit amet facilisis magna etiam tempor orci eu. Eget est lorem ipsum dolor sit amet consectetur adipiscing elit. Ac ut consequat semper viverra nam libero. Faucibus ornare suspendisse sed nisi. Lectus magna fringilla urna porttitor rhoncus dolor purus non. Pulvinar etiam non quam lacus suspendisse faucibus. Eu scelerisque felis imperdiet proin fermentum leo vel. Massa id neque aliquam vestibulum morbi blandit cursus risus. Ridiculus mus mauris vitae ultricies leo. Placerat in egestas erat imperdiet sed euismod. Facilisi morbi tempus iaculis urna id. Quis commodo odio aenean sed. In est ante in nibh mauris cursus mattis.\n\nPellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum odio. Ultrices vitae auctor eu augue ut lectus arcu. Volutpat commodo sed egestas egestas fringilla phasellus faucibus scelerisque. Amet consectetur adipiscing elit ut aliquam purus. Sed tempus urna et pharetra pharetra massa massa ultricies. Pellentesque elit eget gravida cum sociis. Enim sit amet venenatis urna cursus eget. Risus quis varius quam quisque id diam. Purus in massa tempor nec feugiat nisl pretium fusce. Et tortor consequat id porta nibh venenatis cras sed felis. At quis risus sed vulputate odio. Amet porttitor eget dolor morbi. At elementum eu facilisis sed odio morbi. At lectus urna duis convallis convallis tellus id interdum. Erat imperdiet sed euismod nisi. Convallis convallis tellus id interdum velit. Urna duis convallis convallis tellus id interdum velit laoreet id.\n\nEget velit aliquet sagittis id consectetur purus ut faucibus pulvinar. Ut consequat semper viverra nam libero justo laoreet. Dictum non consectetur a erat nam at lectus urna duis. Laoreet id donec ultrices tincidunt arcu non sodales. Aliquet nec ullamcorper sit amet risus nullam eget felis eget. Aliquet eget sit amet tellus cras adipiscing enim. Diam maecenas sed enim ut sem. Facilisi etiam dignissim diam quis enim. Pellentesque elit eget gravida cum sociis natoque penatibus. Pulvinar elementum integer enim neque. Nulla aliquet porttitor lacus luctus accumsan tortor. Magna fringilla urna porttitor rhoncus.~Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mi eget mauris pharetra et ultrices neque ornare aenean euismod. Eget nunc scelerisque viverra mauris in aliquam. Ut etiam sit amet nisl purus in mollis. Ac turpis egestas integer eget. Amet purus gravida quis blandit turpis cursus in hac. Nibh tortor id aliquet lectus. Massa tempor nec feugiat nisl pretium fusce id velit ut. Tortor condimentum lacinia quis vel eros donec ac odio tempor. In tellus integer feugiat scelerisque varius morbi enim. Nulla pharetra diam sit amet nisl suscipit adipiscing bibendum.\n\nLeo integer malesuada nunc vel. Odio pellentesque diam volutpat commodo sed egestas egestas fringilla. Malesuada bibendum arcu vitae elementum curabitur vitae. Sit amet purus gravida quis blandit turpis. Suspendisse faucibus interdum posuere lorem ipsum dolor. Id ornare arcu odio ut. Etiam dignissim diam quis enim lobortis scelerisque fermentum. Amet risus nullam eget felis eget nunc lobortis. Arcu non odio euismod lacinia at quis risus. Posuere morbi leo urna molestie at. Lorem mollis aliquam ut porttitor leo a diam sollicitudin tempor. Non consectetur a erat nam at. Venenatis tellus in metus vulputate eu scelerisque felis imperdiet.\n\nDiam ut venenatis tellus in metus vulputate. Felis bibendum ut tristique et. Est sit amet facilisis magna etiam tempor. Vulputate eu scelerisque felis imperdiet proin fermentum leo. Lectus mauris ultrices eros in cursus turpis massa tincidunt dui. Lorem ipsum dolor sit amet consectetur. Curabitur gravida arcu ac tortor dignissim convallis. Pellentesque sit amet porttitor eget dolor morbi non. Eget velit aliquet sagittis id consectetur purus ut. Commodo elit at imperdiet dui accumsan sit amet nulla facilisi. Sollicitudin aliquam ultrices sagittis orci a scelerisque purus semper. Vitae tempus quam pellentesque nec nam aliquam sem et tortor. Duis convallis convallis tellus id. Sed viverra ipsum nunc aliquet bibendum. Ipsum faucibus vitae aliquet nec ullamcorper.~Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Amet consectetur adipiscing elit pellentesque. Vitae purus faucibus ornare suspendisse. Non odio euismod lacinia at quis risus. Volutpat diam ut venenatis tellus in metus vulputate eu scelerisque. Tincidunt vitae semper quis lectus. Ornare arcu dui vivamus arcu felis bibendum ut tristique. Ut diam quam nulla porttitor massa id. Magna ac placerat vestibulum lectus mauris ultrices eros in. Sit amet nisl suscipit adipiscing bibendum. Enim blandit volutpat maecenas volutpat blandit aliquam etiam erat velit. Placerat orci nulla pellentesque dignissim enim sit amet. Donec enim diam vulputate ut pharetra sit amet aliquam. Sit amet tellus cras adipiscing enim eu. Non consectetur a erat nam at. Diam quam nulla porttitor massa id neque aliquam. Elementum tempus egestas sed sed risus pretium quam.\n\nJusto laoreet sit amet cursus sit amet dictum sit. Libero id faucibus nisl tincidunt eget nullam non nisi est. Egestas integer eget aliquet nibh. Porta non pulvinar neque laoreet. Ultrices vitae auctor eu augue ut lectus. Pellentesque diam volutpat commodo sed egestas egestas. Integer vitae justo eget magna fermentum iaculis eu non diam. Tempor commodo ullamcorper a lacus vestibulum. Sit amet volutpat consequat mauris nunc congue nisi vitae suscipit. Auctor augue mauris augue neque gravida in fermentum et sollicitudin. Proin fermentum leo vel orci.\n\nSed nisi lacus sed viverra tellus in hac habitasse. Iaculis eu non diam phasellus vestibulum. Sapien nec sagittis aliquam malesuada. Dolor sit amet consectetur adipiscing elit pellentesque habitant morbi tristique. Venenatis urna cursus eget nunc scelerisque viverra mauris in. Nec feugiat nisl pretium fusce id. Tincidunt augue interdum velit euismod in pellentesque massa. Dolor magna eget est lorem. Risus at ultrices mi tempus imperdiet. Amet dictum sit amet justo donec enim. Vulputate odio ut enim blandit volutpat. Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum tellus. Ullamcorper dignissim cras tincidunt lobortis feugiat vivamus at augue eget. Leo urna molestie at elementum eu facilisis sed odio morbi. Cras tincidunt lobortis feugiat vivamus at augue eget. Auctor eu augue ut lectus arcu bibendum at varius vel. Commodo nulla facilisi nullam vehicula ipsum.}\n\n{=(COMMENT):Returns a random lorem text from the ones above, and separate each paragraph with a \"~\" character to better parse paragraphs later.}\n{=(lorem):{{r}({np},~):{#:{lorems}}}}\n\n{=(COMMENT):Lowercase version of the first argument.}\n{=(l1):{lower:{1}}}\n{=(COMMENT):Available subcommands. The last one is just a placeholder, and the previous last one is better as uppercase and is the \"fallback\" word if no other subcommand was detected in the argument.}\n{=(subcommands):sentences paragraphs words NONE !}\n\n{=(COMMENT):Second argument. Returns \"ZZ\" explicitly when empty.}\n{=(amount):Z{{r}(-,):{list(2):{join(~):! {args}}}}Z}\n\n{=(COMMENT):Conditionally returns the default value if no amount (or 0) specified, otherwise the amount specified. And if it is above the maximum allowed, then it returns the maximum value explicitly.}\n{=(amountParagraphs):{{r}(Z,):{{r}(Z0Z,{defaultParagraphs}):{{r}({f},{amount}):{{r}({t},{defaultParagraphs}):{{ct}(ZZ):{amount}}}}}}}\n{=(amountParagraphs):{if({amountParagraphs}>{maxParagraphs}):{maxParagraphs}|{amountParagraphs}}}\n\n{=(amountSentences):{{r}(Z,):{{r}(Z0Z,{defaultSentences}):{{r}({f},{amount}):{{r}({t},{defaultSentences}):{{ct}(ZZ):{amount}}}}}}}\n{=(amountSentences):{if({amountSentences}>{maxSentences}):{maxSentences}|{amountSentences}}}\n\n{=(amountWords):{{r}(Z,):{{r}(Z0Z,{defaultWords}):{{r}({f},{amount}):{{r}({t},{defaultWords}):{{ct}(ZZ):{amount}}}}}}}\n{=(amountWords):{if({amountWords}>{maxWords}):{maxWords}|{amountWords}}}\n\n{=(COMMENT):Returns \"true\" if the argument is in our list of subcommands as substring directly.}\n{=(isMatchedDirectly):{in({l1}):{subcommands(+3)}}}\n\n{=(COMMENT):Returns our fallback word if the argument isn't in our list of words.}\n{=(rep):{{r}({l1},. {l1} .):{subcommands}}}\n{=(subcommand):{{r}({t},{subcommands({{i}({l1}):{rep}})}):{{r}({f},{fb}):{isMatchedDirectly}}}}\n\n{=(COMMENT):Output variables. Basically the switch method from the matched subcommand above.}\n{=(paragraphs):**{amountParagraphs} paragraph{if({amountParagraphs}!=1):s}**\n```{{r}(~,{nl}{nl}):{lorem(+{amountParagraphs}):~}}```}\n{=(sentences):**{amountSentences} sentence{if({amountSentences}!=1):s}**\n```{{r}(~,{nl}{nl}):{lorem(+{amountSentences}):.}}.```}\n{=(words):**{amountWords} word{if({amountWords}!=1):s}**\n```{{r}(~,{nl}{nl}):{lorem(+{amountWords})}}```}\n{=(NONE):Generate paragraphs, sentences or words of Lorem Ipsum text.\nSpecifying an amount to generate is optional, and each type has a default amount if none was given, as well as a valid amount range.\n\nNote that the keyword supports substring matching, meaning that typing `p`, `par` or `parag` for example would still match `paragraphs`.\n\n**Paragraphs** ({defaultParagraphs}) [1-{maxParagraphs}]\n```css\n{tag} parag 3\n```\n**Sentences** ({defaultSentences}) [1-{maxSentences}]\n```css\n{tag} s 5\n```\n**Words** ({defaultWords}) [1-{maxWords}]\n```css\n{tag} w 5\n```\n}\n\n{=(output):{{subcommand}}}\n\n{=(COMMENT):Embed replacement.}\n{embed(color):#2f3136}\n{embed(title):Lorem Ipsum Generator}\n{embed(description):{output}}\n{=(embedFooter):{tag} {syntax}}\n\n{=(COMMENT):Debug variable to call to see the value that each variable returns. Call debug when troubleshooting the command.}\n{=(debug):__Debug:__\namount: {amount}\n\namountParagraphs: {amountParagraphs}\namountSentences: {amountSentences}\namountWords: {amountWords}\n\nisMatchedDirectly: {isMatchedDirectly}\n\nsubcommand: {subcommand}\n}",
  "embed": "{\"color\": 5198940, \"footer\": {\"text\": \"{embedFooter}\"}, \"description\": \"This will be populated from the Content section.\"}",
  "last_fetched": "2026-10-20T18:01:32.508Z"
}