rule

Privateunrated

Content

287 lines
{=(comment):
If you would like the tag to always display a link to your rules channel in the description when you are listing rules
Insert the channel id of your rules channel below. Leave completely blank and it will not display. No spaces before or after.}
{=(ruleschannelid):}

{=(comment):Add, change or remove the embed title here. Completely optional.}
{=(embedtitle):}

{=(comment):INSTRUCTIONS:
Put custom titles in the title1-title25 variables (if you want them). Keep titles below 256 characters.
Put keywords for each rule in the keyword1-keyword25 variables. Not required but useful.
If you include a keyword, the keyword must be ONE word (NO SPACES IN KEYWORDS, NOT EVEN AT THE BEGINNING).
Keyword smart detection means short keywords are better. "spam" instead of "spamming", "ad" instead of "ads" or "advertising"
Put rules in the rule1-rule25 variables. Keep rules below 1024 characters.
Some symbols in rule text might cause issues, limit formatting to Discord markdown friendly characters. 
DO NOT USE " or | in rule text.
Leave custom titles blank to have the titles just be "Rule #".
Leave corresponding title, keyword, and rule variables blank if the rule # does not exist, but do NOT erase the blank variables}

{=(title01):}
{=(keyword01):discoterms}
{=(rule01):• Follow all of Discord’s Terms of Service and Guidelines.
Click [here](https://discord.com/new/terms) to view Discord’s ToS and click [here](https://discord.com/new/guidelines) for the guidelines}

{=(title02):}
{=(keyword02):hate}
{=(rule02):• No hate speech, racism, homophobia, or any other form of hate towards any people here. Respect everyones religion and world views, All slurs are not allowed.}
{=(title03):}
{=(keyword03):danktos}
{=(rule03):• Follow dank memer ToS.
Click [here](https://dankmemer.lol/rules) to view Discord’s ToS}

{=(title04):}
{=(keyword04):channel}
{=(rule04):• Post everything in the correct channels}

{=(title05):}
{=(keyword05):ping}
{=(rule05):• No spam pinging or any type of pinging for no reason. Do not ping staff for no reason, if you do then you will be muted for an hour. **Do not** ping people with the @do not ping role without their permission}

{=(title06):}
{=(keyword06):spam}
{=(rule06):• Do not spam comments, reactions or images}

{=(title07):}
{=(keyword07):choice}
{=(rule07): • All staff decisions are final and do not argue with them about their choice}

{=(title08):}
{=(keyword08):copying}
{=(rule08): • No copying someone's profile picture or name.}

{=(title09):}
{=(keyword09):scam}
{=(rule09): • Scamming over a bot(s) currency is not allowed here}

{=(title10):}
{=(keyword10):ad}
{=(rule10): • Do not advertise any other servers in the server unless you have permission to do so. This includes mass DMing invites to see if they want to join.}

{=(title11):}
{=(keyword11):art}
{=(rule11): • If you post any art that is not your own, credit the artist. If you can’t find them don’t post it.}

{=(title12):}
{=(keyword12):raid/troll}
{=(rule12): • Raiding and trolling is not allowed, if caught doing any of these things you will be banned immediately. Raiding includes mass spam pinging everyone and annoying everyone with other people. Trolling is when you joke around and bend rules too much.}

{=(title13):}
{=(keyword13):safe}
{=(rule13): • Anything that is not SFW is strictly prohibited. The server wants to create an environment where everyone feels comfortable and welcome.}

{=(title14):}
{=(keyword14):}
{=(rule14):}

{=(title15):}
{=(keyword15):}
{=(rule15):}

{=(title16):}
{=(keyword16):}
{=(rule16):}

{=(title17):}
{=(keyword17):}
{=(rule17):}

{=(title18):}
{=(keyword18):}
{=(rule18):}

{=(title19):}
{=(keyword19):}
{=(rule19):}

{=(title20):}
{=(keyword20):}
{=(rule20):}

{=(title21):}
{=(keyword21):}
{=(rule21):}

{=(title22):}
{=(keyword22):}
{=(rule22):}

{=(title23):}
{=(keyword23):}
{=(rule23):}

{=(title24):}
{=(keyword24):}
{=(rule24):}

{=(title25):}
{=(keyword25):}
{=(rule25):}

{=(comment):Title overrides, don't touch except to translate "Rule" into a different language}
{=(word4rule):Rule}

{=(comment):Don't touch}
{=(t01):{if({title01(+2)}!=):{title01}|{word4rule} 1}}
{=(t02):{if({title02(+2)}!=):{title02}|{word4rule} 2}}
{=(t03):{if({title03(+2)}!=):{title03}|{word4rule} 3}}
{=(t04):{if({title04(+2)}!=):{title04}|{word4rule} 4}}
{=(t05):{if({title05(+2)}!=):{title05}|{word4rule} 5}}
{=(t06):{if({title06(+2)}!=):{title06}|{word4rule} 6}}
{=(t07):{if({title07(+2)}!=):{title07}|{word4rule} 7}}
{=(t08):{if({title08(+2)}!=):{title08}|{word4rule} 8}}
{=(t09):{if({title09(+2)}!=):{title09}|{word4rule} 9}}
{=(t10):{if({title10(+2)}!=):{title10}|{word4rule} 10}}
{=(t11):{if({title11(+2)}!=):{title11}|{word4rule} 11}}
{=(t12):{if({title12(+2)}!=):{title12}|{word4rule} 12}}
{=(t13):{if({title13(+2)}!=):{title13}|{word4rule} 13}}
{=(t14):{if({title14(+2)}!=):{title14}|{word4rule} 14}}
{=(t15):{if({title15(+2)}!=):{title15}|{word4rule} 15}}
{=(t16):{if({title16(+2)}!=):{title16}|{word4rule} 16}}
{=(t17):{if({title17(+2)}!=):{title17}|{word4rule} 17}}
{=(t18):{if({title18(+2)}!=):{title18}|{word4rule} 18}}
{=(t19):{if({title19(+2)}!=):{title19}|{word4rule} 19}}
{=(t20):{if({title20(+2)}!=):{title20}|{word4rule} 20}}
{=(t21):{if({title21(+2)}!=):{title21}|{word4rule} 21}}
{=(t22):{if({title22(+2)}!=):{title22}|{word4rule} 22}}
{=(t23):{if({title23(+2)}!=):{title23}|{word4rule} 23}}
{=(t24):{if({title24(+2)}!=):{title24}|{word4rule} 24}}
{=(t25):{if({title25(+2)}!=):{title25}|{word4rule} 25}}

{=(comment):builds the list of rule numbers for rules that are populated}
{=(rules):{if({rule01(+2)}!=):01 }{if({rule02(+2)}!=):02 }{if({rule03(+2)}!=):03 }{if({rule04(+2)}!=):04 }{if({rule05(+2)}!=):05 }{if({rule06(+2)}!=):06 }{if({rule07(+2)}!=):07 }{if({rule08(+2)}!=):08 }{if({rule09(+2)}!=):09 }{if({rule10(+2)}!=):10 }{if({rule11(+2)}!=):11 }{if({rule12(+2)}!=):12 }{if({rule13(+2)}!=):13 }{if({rule14(+2)}!=):14 }{if({rule15(+2)}!=):15 }{if({rule16(+2)}!=):16 }{if({rule17(+2)}!=):17 }{if({rule18(+2)}!=):18 }{if({rule19(+2)}!=):19 }{if({rule20(+2)}!=):20 }{if({rule21(+2)}!=):21 }{if({rule22(+2)}!=):22 }{if({rule23(+2)}!=):23 }{if({rule24(+2)}!=):24 }{if({rule25(+2)}!=):25}}

{=(comment):space saving measures that makes the whole thing way harder to read lmao}
{=(r):replace}
{=(ct):contains}
{=(l):lower:}

{=(comment):Takes out the first channel mention present in args assuming it is present due to the desire for the rules to be sent to that channel}
{=(sanschan):{if({in(<#):{args}}==true):{{r}({args({index(<#):{{r}(<#,. <# .):{args}}})},):{args}}|{args}}}

{=(comment):lowers all the keywords to prevent user error}
{=(kw01):{{l}{keyword01(1)}}}
{=(kw02):{{l}{keyword02(1)}}}
{=(kw03):{{l}{keyword03(1)}}}
{=(kw04):{{l}{keyword04(1)}}}
{=(kw05):{{l}{keyword05(1)}}}
{=(kw06):{{l}{keyword06(1)}}}
{=(kw07):{{l}{keyword07(1)}}}
{=(kw08):{{l}{keyword08(1)}}}
{=(kw09):{{l}{keyword09(1)}}}
{=(kw10):{{l}{keyword10(1)}}}
{=(kw11):{{l}{keyword11(1)}}}
{=(kw12):{{l}{keyword12(1)}}}
{=(kw13):{{l}{keyword13(1)}}}
{=(kw14):{{l}{keyword14(1)}}}
{=(kw15):{{l}{keyword15(1)}}}
{=(kw16):{{l}{keyword16(1)}}}
{=(kw17):{{l}{keyword17(1)}}}
{=(kw18):{{l}{keyword18(1)}}}
{=(kw19):{{l}{keyword19(1)}}}
{=(kw20):{{l}{keyword20(1)}}}
{=(kw21):{{l}{keyword21(1)}}}
{=(kw22):{{l}{keyword22(1)}}}
{=(kw23):{{l}{keyword23(1)}}}
{=(kw24):{{l}{keyword24(1)}}}
{=(kw25):{{l}{keyword25(1)}}}

{=(comment):DON'T TOUCH, converts keywords into rule numbers, ws = wordswap}
{=(ws):{{l}{sanschan}}}
{=(ws):{if({kw01}!=):{if({in({kw01}):{ws}}==true):{{r}({ws({index({kw01}):{{r}({kw01},. {kw01} .):{ws}}})},01):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw02}!=):{if({in({kw02}):{ws}}==true):{{r}({ws({index({kw02}):{{r}({kw02},. {kw02} .):{ws}}})},02):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw03}!=):{if({in({kw03}):{ws}}==true):{{r}({ws({index({kw03}):{{r}({kw03},. {kw03} .):{ws}}})},03):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw04}!=):{if({in({kw04}):{ws}}==true):{{r}({ws({index({kw04}):{{r}({kw04},. {kw04} .):{ws}}})},04):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw05}!=):{if({in({kw05}):{ws}}==true):{{r}({ws({index({kw05}):{{r}({kw05},. {kw05} .):{ws}}})},05):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw06}!=):{if({in({kw06}):{ws}}==true):{{r}({ws({index({kw06}):{{r}({kw06},. {kw06} .):{ws}}})},06):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw07}!=):{if({in({kw07}):{ws}}==true):{{r}({ws({index({kw07}):{{r}({kw07},. {kw07} .):{ws}}})},07):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw08}!=):{if({in({kw08}):{ws}}==true):{{r}({ws({index({kw08}):{{r}({kw08},. {kw08} .):{ws}}})},08):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw09}!=):{if({in({kw09}):{ws}}==true):{{r}({ws({index({kw09}):{{r}({kw09},. {kw09} .):{ws}}})},09):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw10}!=):{if({in({kw10}):{ws}}==true):{{r}({ws({index({kw10}):{{r}({kw10},. {kw10} .):{ws}}})},10):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw11}!=):{if({in({kw11}):{ws}}==true):{{r}({ws({index({kw11}):{{r}({kw11},. {kw11} .):{ws}}})},11):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw12}!=):{if({in({kw12}):{ws}}==true):{{r}({ws({index({kw12}):{{r}({kw12},. {kw12} .):{ws}}})},12):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw13}!=):{if({in({kw13}):{ws}}==true):{{r}({ws({index({kw13}):{{r}({kw13},. {kw13} .):{ws}}})},13):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw14}!=):{if({in({kw14}):{ws}}==true):{{r}({ws({index({kw14}):{{r}({kw14},. {kw14} .):{ws}}})},14):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw15}!=):{if({in({kw15}):{ws}}==true):{{r}({ws({index({kw15}):{{r}({kw15},. {kw15} .):{ws}}})},15):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw16}!=):{if({in({kw16}):{ws}}==true):{{r}({ws({index({kw16}):{{r}({kw16},. {kw16} .):{ws}}})},16):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw17}!=):{if({in({kw17}):{ws}}==true):{{r}({ws({index({kw17}):{{r}({kw17},. {kw17} .):{ws}}})},17):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw18}!=):{if({in({kw18}):{ws}}==true):{{r}({ws({index({kw18}):{{r}({kw18},. {kw18} .):{ws}}})},18):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw19}!=):{if({in({kw19}):{ws}}==true):{{r}({ws({index({kw19}):{{r}({kw19},. {kw19} .):{ws}}})},19):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw20}!=):{if({in({kw20}):{ws}}==true):{{r}({ws({index({kw20}):{{r}({kw20},. {kw20} .):{ws}}})},20):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw21}!=):{if({in({kw21}):{ws}}==true):{{r}({ws({index({kw21}):{{r}({kw21},. {kw21} .):{ws}}})},21):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw22}!=):{if({in({kw22}):{ws}}==true):{{r}({ws({index({kw22}):{{r}({kw22},. {kw22} .):{ws}}})},22):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw23}!=):{if({in({kw23}):{ws}}==true):{{r}({ws({index({kw23}):{{r}({kw23},. {kw23} .):{ws}}})},23):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw24}!=):{if({in({kw24}):{ws}}==true):{{r}({ws({index({kw24}):{{r}({kw24},. {kw24} .):{ws}}})},24):{ws}}|{ws}}|{ws}}}
{=(ws):{if({kw25}!=):{if({in({kw25}):{ws}}==true):{{r}({ws({index({kw25}):{{r}({kw25},. {kw25} .):{ws}}})},25):{ws}}|{ws}}|{ws}}}

{=(comment):adds leading zeros to single digit numbers: spaces symbols, replaces spaces with ~, replaces ~#~ with ~0#~, replaces ~ with spaces, de-spaces symbols}
{=(sani):{{r}( - ,-):{{r}( + ,+):{{r}(~, ):{{r}(~1~,~01~):{{r}(~2~,~02~):{{r}(~3~,~03~):{{r}(~4~,~04~):{{r}(~5~,~05~):{{r}(~6~,~06~):{{r}(~7~,~07~):{{r}(~8~,~08~):{{r}(~9~,~09~):{{r}( ,~):{{r}(-, - ):{{r}(+, + ):~{ws}~}}}}}}}}}}}}}}}}

{=(comment):DON'T TOUCH, replaces - and + with the rule numbers from the list they represent}
{=(dash1):{sani(1):-}}
{=(dash2):{sani(2):-}}
{=(dash):{if({in(-):{sani}}==true):{dash1}{{r}({rules(+{m:trunc(1+{index({dash1(0)}):{rules}})})},):{{r}({rules({m:trunc(1+{index({dash2(1)}):{rules}})}+)},):{rules}}}{dash2}|{sani}}}
{=(plus1):{dash(1):+}}
{=(plus2):{dash(2):+}}
{=(plus3):{dash(3):+}}
{=(plus):{if({in(+):{dash}}==true):{if({plus1}!=):{if({plus1(+-1)}!=):{plus1(+-1)} }{rules({m:trunc(1+{index({plus1(0)}):{rules}})}+)} }{if({plus2}!=):{rules(+{m:trunc(1+{index({plus2(1)}):{rules}})})} {if({plus2(2+)}!=):{plus2(2+)} }}{if({plus3}==):{rules({m:trunc({index({plus2(0)}):{rules}}+2)}+)}|{rules(+{m:trunc(1+{index({plus3(1)}):{rules}})})} {if({plus3(2+)}!=):{plus3(2+)}}}|{dash}}}

{=(comment):rebuilds input list based on inclusion in rule list, while preventing duplicates. if rw (rawlist) entity 0-24 is not empty, is in the rules variable which is autopopulated, and is not already present in the new number list, said rw entity is added to num}
{=(rl):{join(,):{plus}}}
{=(num):}
{=(num):{num}{all({list(0):{rl}}!=|{{ct}({list(0):{rl}}):{rules}}==true|{{ct}({list(0):{rl}}):{num}}==false):{list(0):{rl}} }}
{=(num):{num}{all({list(1):{rl}}!=|{{ct}({list(1):{rl}}):{rules}}==true|{{ct}({list(1):{rl}}):{num}}==false):{list(1):{rl}} }}
{=(num):{num}{all({list(2):{rl}}!=|{{ct}({list(2):{rl}}):{rules}}==true|{{ct}({list(2):{rl}}):{num}}==false):{list(2):{rl}} }}
{=(num):{num}{all({list(3):{rl}}!=|{{ct}({list(3):{rl}}):{rules}}==true|{{ct}({list(3):{rl}}):{num}}==false):{list(3):{rl}} }}
{=(num):{num}{all({list(4):{rl}}!=|{{ct}({list(4):{rl}}):{rules}}==true|{{ct}({list(4):{rl}}):{num}}==false):{list(4):{rl}} }}
{=(num):{num}{all({list(5):{rl}}!=|{{ct}({list(5):{rl}}):{rules}}==true|{{ct}({list(5):{rl}}):{num}}==false):{list(5):{rl}} }}
{=(num):{num}{all({list(6):{rl}}!=|{{ct}({list(6):{rl}}):{rules}}==true|{{ct}({list(6):{rl}}):{num}}==false):{list(6):{rl}} }}
{=(num):{num}{all({list(7):{rl}}!=|{{ct}({list(7):{rl}}):{rules}}==true|{{ct}({list(7):{rl}}):{num}}==false):{list(7):{rl}} }}
{=(num):{num}{all({list(8):{rl}}!=|{{ct}({list(8):{rl}}):{rules}}==true|{{ct}({list(8):{rl}}):{num}}==false):{list(8):{rl}} }}
{=(num):{num}{all({list(9):{rl}}!=|{{ct}({list(9):{rl}}):{rules}}==true|{{ct}({list(9):{rl}}):{num}}==false):{list(9):{rl}} }}
{=(num):{num}{all({list(10):{rl}}!=|{{ct}({list(10):{rl}}):{rules}}==true|{{ct}({list(10):{rl}}):{num}}==false):{list(10):{rl}} }}
{=(num):{num}{all({list(11):{rl}}!=|{{ct}({list(11):{rl}}):{rules}}==true|{{ct}({list(11):{rl}}):{num}}==false):{list(11):{rl}} }}
{=(num):{num}{all({list(12):{rl}}!=|{{ct}({list(12):{rl}}):{rules}}==true|{{ct}({list(12):{rl}}):{num}}==false):{list(12):{rl}} }}
{=(num):{num}{all({list(13):{rl}}!=|{{ct}({list(13):{rl}}):{rules}}==true|{{ct}({list(13):{rl}}):{num}}==false):{list(13):{rl}} }}
{=(num):{num}{all({list(14):{rl}}!=|{{ct}({list(14):{rl}}):{rules}}==true|{{ct}({list(14):{rl}}):{num}}==false):{list(14):{rl}} }}
{=(num):{num}{all({list(15):{rl}}!=|{{ct}({list(15):{rl}}):{rules}}==true|{{ct}({list(15):{rl}}):{num}}==false):{list(15):{rl}} }}
{=(num):{num}{all({list(16):{rl}}!=|{{ct}({list(16):{rl}}):{rules}}==true|{{ct}({list(16):{rl}}):{num}}==false):{list(16):{rl}} }}
{=(num):{num}{all({list(17):{rl}}!=|{{ct}({list(17):{rl}}):{rules}}==true|{{ct}({list(17):{rl}}):{num}}==false):{list(17):{rl}} }}
{=(num):{num}{all({list(18):{rl}}!=|{{ct}({list(18):{rl}}):{rules}}==true|{{ct}({list(18):{rl}}):{num}}==false):{list(18):{rl}} }}
{=(num):{num}{all({list(19):{rl}}!=|{{ct}({list(19):{rl}}):{rules}}==true|{{ct}({list(19):{rl}}):{num}}==false):{list(19):{rl}} }}
{=(num):{num}{all({list(20):{rl}}!=|{{ct}({list(20):{rl}}):{rules}}==true|{{ct}({list(20):{rl}}):{num}}==false):{list(20):{rl}} }}
{=(num):{num}{all({list(21):{rl}}!=|{{ct}({list(21):{rl}}):{rules}}==true|{{ct}({list(21):{rl}}):{num}}==false):{list(21):{rl}} }}
{=(num):{num}{all({list(22):{rl}}!=|{{ct}({list(22):{rl}}):{rules}}==true|{{ct}({list(22):{rl}}):{num}}==false):{list(22):{rl}} }}
{=(num):{num}{all({list(23):{rl}}!=|{{ct}({list(23):{rl}}):{rules}}==true|{{ct}({list(23):{rl}}):{num}}==false):{list(23):{rl}} }}
{=(num):{num}{all({list(24):{rl}}!=|{{ct}({list(24):{rl}}):{rules}}==true|{{ct}({list(24):{rl}}):{num}}==false):{list(24):{rl}}}}

{=(comment):The following tests to see if args are empty, or if help or keyword are present, or if the input failed to generate a shortened list of rules, and if so, sets the rule numbers to the full list of rules}
{=(largs):{{l}{args}}}
{=(num):{any({largs(1)}==|{all({in(help):{largs}}==false|{in(keyword):{largs}}==false|{num}==):true|false}==true):{join(,):{rules}}|{join(,):{num}}}}

{=(comment):Embed field generation for rule output, don't touch. ┐ = comma placeholder character}
{=(ilf):,"inline":false}
{=(cfields):{if({list(0):{num}}!=):{"name":"{t{list(0):{num}}}","value":"{rule{list(0):{num}}}"{ilf}}}┐{if({list(1):{num}}!=):{"name":"{t{list(1):{num}}}","value":"{rule{list(1):{num}}}"{ilf}}}┐{if({list(2):{num}}!=):{"name":"{t{list(2):{num}}}","value":"{rule{list(2):{num}}}"{ilf}}}┐{if({list(3):{num}}!=):{"name":"{t{list(3):{num}}}","value":"{rule{list(3):{num}}}"{ilf}}}┐{if({list(4):{num}}!=):{"name":"{t{list(4):{num}}}","value":"{rule{list(4):{num}}}"{ilf}}}┐{if({list(5):{num}}!=):{"name":"{t{list(5):{num}}}","value":"{rule{list(5):{num}}}"{ilf}}}┐{if({list(6):{num}}!=):{"name":"{t{list(6):{num}}}","value":"{rule{list(6):{num}}}"{ilf}}}┐{if({list(7):{num}}!=):{"name":"{t{list(7):{num}}}","value":"{rule{list(7):{num}}}"{ilf}}}┐{if({list(8):{num}}!=):{"name":"{t{list(8):{num}}}","value":"{rule{list(8):{num}}}"{ilf}}}┐{if({list(9):{num}}!=):{"name":"{t{list(9):{num}}}","value":"{rule{list(9):{num}}}"{ilf}}}┐{if({list(10):{num}}!=):{"name":"{t{list(10):{num}}}","value":"{rule{list(10):{num}}}"{ilf}}}┐{if({list(11):{num}}!=):{"name":"{t{list(11):{num}}}","value":"{rule{list(11):{num}}}"{ilf}}}┐{if({list(12):{num}}!=):{"name":"{t{list(12):{num}}}","value":"{rule{list(12):{num}}}"{ilf}}}┐{if({list(13):{num}}!=):{"name":"{t{list(13):{num}}}","value":"{rule{list(13):{num}}}"{ilf}}}┐{if({list(14):{num}}!=):{"name":"{t{list(14):{num}}}","value":"{rule{list(14):{num}}}"{ilf}}}┐{if({list(15):{num}}!=):{"name":"{t{list(15):{num}}}","value":"{rule{list(15):{num}}}"{ilf}}}┐{if({list(16):{num}}!=):{"name":"{t{list(16):{num}}}","value":"{rule{list(16):{num}}}"{ilf}}}┐{if({list(17):{num}}!=):{"name":"{t{list(17):{num}}}","value":"{rule{list(17):{num}}}"{ilf}}}┐{if({list(18):{num}}!=):{"name":"{t{list(18):{num}}}","value":"{rule{list(18):{num}}}"{ilf}}}┐{if({list(19):{num}}!=):{"name":"{t{list(19):{num}}}","value":"{rule{list(19):{num}}}"{ilf}}}┐{if({list(20):{num}}!=):{"name":"{t{list(20):{num}}}","value":"{rule{list(20):{num}}}"{ilf}}}┐{if({list(21):{num}}!=):{"name":"{t{list(21):{num}}}","value":"{rule{list(21):{num}}}"{ilf}}}┐{if({list(22):{num}}!=):{"name":"{t{list(22):{num}}}","value":"{rule{list(22):{num}}}"{ilf}}}┐{if({list(23):{num}}!=):{"name":"{t{list(23):{num}}}","value":"{rule{list(23):{num}}}"{ilf}}}┐{if({list(24):{num}}!=):{"name":"{t{list(24):{num}}}","value":"{rule{list(24):{num}}}"{ilf}}}}

{=(comment):different description holding variables}
{=(instr):__Instructions__
Follow the command with the number(s) of the rules you wish to output with spaces in between. Additional accepted formats are:
#*x*-#*y* to indicate rules from #*x* to #*y* (limit 1x`-`)
#+ to indicate rules from # to the end of the list of rules
+# to indicate rules from 1 to # (limit 2x`+`)
You can also mix in keywords that have been set (don't mix keywords and symbols).
Examples: `!rule +2, !rule discoterms, !rule 8+, !rule 8-` }

{=(kw):__Keywords__
{kw01} {kw02} {kw03} {kw04} {kw05} {kw06} {kw07} {kw08} {kw09} {kw10} {kw11} {kw12} {kw13} {kw14} {kw15} {kw16} {kw17} {kw18} {kw19} {kw20} {kw21} {kw22} {kw23} {kw24} {kw25}}

{=(comment):Embed fields}
{=(footer):Type \"!rule help\" for instructions}
{=(des):{if({in(help):{largs}}==true):{instr}|{if({in(keyword):{largs}}==true):{kw}|{if({ruleschannelid}!=):<#{ruleschannelid}>}}}}

{=(comment):finalizes the json for the embed by replacing spaces with a filler character, replacing comma placeholder characters with spaces, joining the spaces with commas, and replacing the filler characters with spaces again. this ensures there are no commas preceeding JSON fields, nor trailing the last JSON field. also includes logic choosing whether to display the full rules list (if args or the input number list are empty AND help/keyword are not displayed) or the custom rules list}
{=(json):"title":"{embedtitle}","description":"{des}","fields":[{{r}(░,
):{{r}(█, ):{join(,):{{r}(┐, ):{{r}(
,░):{{r}( ,█):{cfields}}}}}}}],"author":{"name":"{server}","icon_url":"{server(icon)}"},"color":3092790,"footer":{"text":"{footer}"}}

{c:cembed {if({in(<#):{args}}==true):{args({index(<#):{{r}(<#,. <# .):{args}}})}|{channel(id)}} {{json}}}
Raw JSON
{
  "id": 255398,
  "created_at": "2022-04-26T10:36:56.544Z",
  "tag_name": "rule",
  "nsfw": false,
  "owner_id": "686935594219339798",
  "uses": 35,
  "description": null,
  "restricted": false,
  "shared": false,
  "deleted": false,
  "safe": "unrated",
  "hidden": false,
  "guild_id": "733884243163217972",
  "sharer": "686935594219339798",
  "content": "{=(comment):\nIf you would like the tag to always display a link to your rules channel in the description when you are listing rules\nInsert the channel id of your rules channel below. Leave completely blank and it will not display. No spaces before or after.}\n{=(ruleschannelid):}\n\n{=(comment):Add, change or remove the embed title here. Completely optional.}\n{=(embedtitle):}\n\n{=(comment):INSTRUCTIONS:\nPut custom titles in the title1-title25 variables (if you want them). Keep titles below 256 characters.\nPut keywords for each rule in the keyword1-keyword25 variables. Not required but useful.\nIf you include a keyword, the keyword must be ONE word (NO SPACES IN KEYWORDS, NOT EVEN AT THE BEGINNING).\nKeyword smart detection means short keywords are better. \"spam\" instead of \"spamming\", \"ad\" instead of \"ads\" or \"advertising\"\nPut rules in the rule1-rule25 variables. Keep rules below 1024 characters.\nSome symbols in rule text might cause issues, limit formatting to Discord markdown friendly characters. \nDO NOT USE \" or | in rule text.\nLeave custom titles blank to have the titles just be \"Rule #\".\nLeave corresponding title, keyword, and rule variables blank if the rule # does not exist, but do NOT erase the blank variables}\n\n{=(title01):}\n{=(keyword01):discoterms}\n{=(rule01):• Follow all of Discord’s Terms of Service and Guidelines.\nClick [here](https://discord.com/new/terms) to view Discord’s ToS and click [here](https://discord.com/new/guidelines) for the guidelines}\n\n{=(title02):}\n{=(keyword02):hate}\n{=(rule02):• No hate speech, racism, homophobia, or any other form of hate towards any people here. Respect everyones religion and world views, All slurs are not allowed.}\n{=(title03):}\n{=(keyword03):danktos}\n{=(rule03):• Follow dank memer ToS.\nClick [here](https://dankmemer.lol/rules) to view Discord’s ToS}\n\n{=(title04):}\n{=(keyword04):channel}\n{=(rule04):• Post everything in the correct channels}\n\n{=(title05):}\n{=(keyword05):ping}\n{=(rule05):• No spam pinging or any type of pinging for no reason. Do not ping staff for no reason, if you do then you will be muted for an hour. **Do not** ping people with the @do not ping role without their permission}\n\n{=(title06):}\n{=(keyword06):spam}\n{=(rule06):• Do not spam comments, reactions or images}\n\n{=(title07):}\n{=(keyword07):choice}\n{=(rule07): • All staff decisions are final and do not argue with them about their choice}\n\n{=(title08):}\n{=(keyword08):copying}\n{=(rule08): • No copying someone's profile picture or name.}\n\n{=(title09):}\n{=(keyword09):scam}\n{=(rule09): • Scamming over a bot(s) currency is not allowed here}\n\n{=(title10):}\n{=(keyword10):ad}\n{=(rule10): • Do not advertise any other servers in the server unless you have permission to do so. This includes mass DMing invites to see if they want to join.}\n\n{=(title11):}\n{=(keyword11):art}\n{=(rule11): • If you post any art that is not your own, credit the artist. If you can’t find them don’t post it.}\n\n{=(title12):}\n{=(keyword12):raid/troll}\n{=(rule12): • Raiding and trolling is not allowed, if caught doing any of these things you will be banned immediately. Raiding includes mass spam pinging everyone and annoying everyone with other people. Trolling is when you joke around and bend rules too much.}\n\n{=(title13):}\n{=(keyword13):safe}\n{=(rule13): • Anything that is not SFW is strictly prohibited. The server wants to create an environment where everyone feels comfortable and welcome.}\n\n{=(title14):}\n{=(keyword14):}\n{=(rule14):}\n\n{=(title15):}\n{=(keyword15):}\n{=(rule15):}\n\n{=(title16):}\n{=(keyword16):}\n{=(rule16):}\n\n{=(title17):}\n{=(keyword17):}\n{=(rule17):}\n\n{=(title18):}\n{=(keyword18):}\n{=(rule18):}\n\n{=(title19):}\n{=(keyword19):}\n{=(rule19):}\n\n{=(title20):}\n{=(keyword20):}\n{=(rule20):}\n\n{=(title21):}\n{=(keyword21):}\n{=(rule21):}\n\n{=(title22):}\n{=(keyword22):}\n{=(rule22):}\n\n{=(title23):}\n{=(keyword23):}\n{=(rule23):}\n\n{=(title24):}\n{=(keyword24):}\n{=(rule24):}\n\n{=(title25):}\n{=(keyword25):}\n{=(rule25):}\n\n{=(comment):Title overrides, don't touch except to translate \"Rule\" into a different language}\n{=(word4rule):Rule}\n\n{=(comment):Don't touch}\n{=(t01):{if({title01(+2)}!=):{title01}|{word4rule} 1}}\n{=(t02):{if({title02(+2)}!=):{title02}|{word4rule} 2}}\n{=(t03):{if({title03(+2)}!=):{title03}|{word4rule} 3}}\n{=(t04):{if({title04(+2)}!=):{title04}|{word4rule} 4}}\n{=(t05):{if({title05(+2)}!=):{title05}|{word4rule} 5}}\n{=(t06):{if({title06(+2)}!=):{title06}|{word4rule} 6}}\n{=(t07):{if({title07(+2)}!=):{title07}|{word4rule} 7}}\n{=(t08):{if({title08(+2)}!=):{title08}|{word4rule} 8}}\n{=(t09):{if({title09(+2)}!=):{title09}|{word4rule} 9}}\n{=(t10):{if({title10(+2)}!=):{title10}|{word4rule} 10}}\n{=(t11):{if({title11(+2)}!=):{title11}|{word4rule} 11}}\n{=(t12):{if({title12(+2)}!=):{title12}|{word4rule} 12}}\n{=(t13):{if({title13(+2)}!=):{title13}|{word4rule} 13}}\n{=(t14):{if({title14(+2)}!=):{title14}|{word4rule} 14}}\n{=(t15):{if({title15(+2)}!=):{title15}|{word4rule} 15}}\n{=(t16):{if({title16(+2)}!=):{title16}|{word4rule} 16}}\n{=(t17):{if({title17(+2)}!=):{title17}|{word4rule} 17}}\n{=(t18):{if({title18(+2)}!=):{title18}|{word4rule} 18}}\n{=(t19):{if({title19(+2)}!=):{title19}|{word4rule} 19}}\n{=(t20):{if({title20(+2)}!=):{title20}|{word4rule} 20}}\n{=(t21):{if({title21(+2)}!=):{title21}|{word4rule} 21}}\n{=(t22):{if({title22(+2)}!=):{title22}|{word4rule} 22}}\n{=(t23):{if({title23(+2)}!=):{title23}|{word4rule} 23}}\n{=(t24):{if({title24(+2)}!=):{title24}|{word4rule} 24}}\n{=(t25):{if({title25(+2)}!=):{title25}|{word4rule} 25}}\n\n{=(comment):builds the list of rule numbers for rules that are populated}\n{=(rules):{if({rule01(+2)}!=):01 }{if({rule02(+2)}!=):02 }{if({rule03(+2)}!=):03 }{if({rule04(+2)}!=):04 }{if({rule05(+2)}!=):05 }{if({rule06(+2)}!=):06 }{if({rule07(+2)}!=):07 }{if({rule08(+2)}!=):08 }{if({rule09(+2)}!=):09 }{if({rule10(+2)}!=):10 }{if({rule11(+2)}!=):11 }{if({rule12(+2)}!=):12 }{if({rule13(+2)}!=):13 }{if({rule14(+2)}!=):14 }{if({rule15(+2)}!=):15 }{if({rule16(+2)}!=):16 }{if({rule17(+2)}!=):17 }{if({rule18(+2)}!=):18 }{if({rule19(+2)}!=):19 }{if({rule20(+2)}!=):20 }{if({rule21(+2)}!=):21 }{if({rule22(+2)}!=):22 }{if({rule23(+2)}!=):23 }{if({rule24(+2)}!=):24 }{if({rule25(+2)}!=):25}}\n\n{=(comment):space saving measures that makes the whole thing way harder to read lmao}\n{=(r):replace}\n{=(ct):contains}\n{=(l):lower:}\n\n{=(comment):Takes out the first channel mention present in args assuming it is present due to the desire for the rules to be sent to that channel}\n{=(sanschan):{if({in(<#):{args}}==true):{{r}({args({index(<#):{{r}(<#,. <# .):{args}}})},):{args}}|{args}}}\n\n{=(comment):lowers all the keywords to prevent user error}\n{=(kw01):{{l}{keyword01(1)}}}\n{=(kw02):{{l}{keyword02(1)}}}\n{=(kw03):{{l}{keyword03(1)}}}\n{=(kw04):{{l}{keyword04(1)}}}\n{=(kw05):{{l}{keyword05(1)}}}\n{=(kw06):{{l}{keyword06(1)}}}\n{=(kw07):{{l}{keyword07(1)}}}\n{=(kw08):{{l}{keyword08(1)}}}\n{=(kw09):{{l}{keyword09(1)}}}\n{=(kw10):{{l}{keyword10(1)}}}\n{=(kw11):{{l}{keyword11(1)}}}\n{=(kw12):{{l}{keyword12(1)}}}\n{=(kw13):{{l}{keyword13(1)}}}\n{=(kw14):{{l}{keyword14(1)}}}\n{=(kw15):{{l}{keyword15(1)}}}\n{=(kw16):{{l}{keyword16(1)}}}\n{=(kw17):{{l}{keyword17(1)}}}\n{=(kw18):{{l}{keyword18(1)}}}\n{=(kw19):{{l}{keyword19(1)}}}\n{=(kw20):{{l}{keyword20(1)}}}\n{=(kw21):{{l}{keyword21(1)}}}\n{=(kw22):{{l}{keyword22(1)}}}\n{=(kw23):{{l}{keyword23(1)}}}\n{=(kw24):{{l}{keyword24(1)}}}\n{=(kw25):{{l}{keyword25(1)}}}\n\n{=(comment):DON'T TOUCH, converts keywords into rule numbers, ws = wordswap}\n{=(ws):{{l}{sanschan}}}\n{=(ws):{if({kw01}!=):{if({in({kw01}):{ws}}==true):{{r}({ws({index({kw01}):{{r}({kw01},. {kw01} .):{ws}}})},01):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw02}!=):{if({in({kw02}):{ws}}==true):{{r}({ws({index({kw02}):{{r}({kw02},. {kw02} .):{ws}}})},02):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw03}!=):{if({in({kw03}):{ws}}==true):{{r}({ws({index({kw03}):{{r}({kw03},. {kw03} .):{ws}}})},03):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw04}!=):{if({in({kw04}):{ws}}==true):{{r}({ws({index({kw04}):{{r}({kw04},. {kw04} .):{ws}}})},04):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw05}!=):{if({in({kw05}):{ws}}==true):{{r}({ws({index({kw05}):{{r}({kw05},. {kw05} .):{ws}}})},05):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw06}!=):{if({in({kw06}):{ws}}==true):{{r}({ws({index({kw06}):{{r}({kw06},. {kw06} .):{ws}}})},06):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw07}!=):{if({in({kw07}):{ws}}==true):{{r}({ws({index({kw07}):{{r}({kw07},. {kw07} .):{ws}}})},07):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw08}!=):{if({in({kw08}):{ws}}==true):{{r}({ws({index({kw08}):{{r}({kw08},. {kw08} .):{ws}}})},08):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw09}!=):{if({in({kw09}):{ws}}==true):{{r}({ws({index({kw09}):{{r}({kw09},. {kw09} .):{ws}}})},09):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw10}!=):{if({in({kw10}):{ws}}==true):{{r}({ws({index({kw10}):{{r}({kw10},. {kw10} .):{ws}}})},10):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw11}!=):{if({in({kw11}):{ws}}==true):{{r}({ws({index({kw11}):{{r}({kw11},. {kw11} .):{ws}}})},11):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw12}!=):{if({in({kw12}):{ws}}==true):{{r}({ws({index({kw12}):{{r}({kw12},. {kw12} .):{ws}}})},12):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw13}!=):{if({in({kw13}):{ws}}==true):{{r}({ws({index({kw13}):{{r}({kw13},. {kw13} .):{ws}}})},13):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw14}!=):{if({in({kw14}):{ws}}==true):{{r}({ws({index({kw14}):{{r}({kw14},. {kw14} .):{ws}}})},14):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw15}!=):{if({in({kw15}):{ws}}==true):{{r}({ws({index({kw15}):{{r}({kw15},. {kw15} .):{ws}}})},15):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw16}!=):{if({in({kw16}):{ws}}==true):{{r}({ws({index({kw16}):{{r}({kw16},. {kw16} .):{ws}}})},16):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw17}!=):{if({in({kw17}):{ws}}==true):{{r}({ws({index({kw17}):{{r}({kw17},. {kw17} .):{ws}}})},17):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw18}!=):{if({in({kw18}):{ws}}==true):{{r}({ws({index({kw18}):{{r}({kw18},. {kw18} .):{ws}}})},18):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw19}!=):{if({in({kw19}):{ws}}==true):{{r}({ws({index({kw19}):{{r}({kw19},. {kw19} .):{ws}}})},19):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw20}!=):{if({in({kw20}):{ws}}==true):{{r}({ws({index({kw20}):{{r}({kw20},. {kw20} .):{ws}}})},20):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw21}!=):{if({in({kw21}):{ws}}==true):{{r}({ws({index({kw21}):{{r}({kw21},. {kw21} .):{ws}}})},21):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw22}!=):{if({in({kw22}):{ws}}==true):{{r}({ws({index({kw22}):{{r}({kw22},. {kw22} .):{ws}}})},22):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw23}!=):{if({in({kw23}):{ws}}==true):{{r}({ws({index({kw23}):{{r}({kw23},. {kw23} .):{ws}}})},23):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw24}!=):{if({in({kw24}):{ws}}==true):{{r}({ws({index({kw24}):{{r}({kw24},. {kw24} .):{ws}}})},24):{ws}}|{ws}}|{ws}}}\n{=(ws):{if({kw25}!=):{if({in({kw25}):{ws}}==true):{{r}({ws({index({kw25}):{{r}({kw25},. {kw25} .):{ws}}})},25):{ws}}|{ws}}|{ws}}}\n\n{=(comment):adds leading zeros to single digit numbers: spaces symbols, replaces spaces with ~, replaces ~#~ with ~0#~, replaces ~ with spaces, de-spaces symbols}\n{=(sani):{{r}( - ,-):{{r}( + ,+):{{r}(~, ):{{r}(~1~,~01~):{{r}(~2~,~02~):{{r}(~3~,~03~):{{r}(~4~,~04~):{{r}(~5~,~05~):{{r}(~6~,~06~):{{r}(~7~,~07~):{{r}(~8~,~08~):{{r}(~9~,~09~):{{r}( ,~):{{r}(-, - ):{{r}(+, + ):~{ws}~}}}}}}}}}}}}}}}}\n\n{=(comment):DON'T TOUCH, replaces - and + with the rule numbers from the list they represent}\n{=(dash1):{sani(1):-}}\n{=(dash2):{sani(2):-}}\n{=(dash):{if({in(-):{sani}}==true):{dash1}{{r}({rules(+{m:trunc(1+{index({dash1(0)}):{rules}})})},):{{r}({rules({m:trunc(1+{index({dash2(1)}):{rules}})}+)},):{rules}}}{dash2}|{sani}}}\n{=(plus1):{dash(1):+}}\n{=(plus2):{dash(2):+}}\n{=(plus3):{dash(3):+}}\n{=(plus):{if({in(+):{dash}}==true):{if({plus1}!=):{if({plus1(+-1)}!=):{plus1(+-1)} }{rules({m:trunc(1+{index({plus1(0)}):{rules}})}+)} }{if({plus2}!=):{rules(+{m:trunc(1+{index({plus2(1)}):{rules}})})} {if({plus2(2+)}!=):{plus2(2+)} }}{if({plus3}==):{rules({m:trunc({index({plus2(0)}):{rules}}+2)}+)}|{rules(+{m:trunc(1+{index({plus3(1)}):{rules}})})} {if({plus3(2+)}!=):{plus3(2+)}}}|{dash}}}\n\n{=(comment):rebuilds input list based on inclusion in rule list, while preventing duplicates. if rw (rawlist) entity 0-24 is not empty, is in the rules variable which is autopopulated, and is not already present in the new number list, said rw entity is added to num}\n{=(rl):{join(,):{plus}}}\n{=(num):}\n{=(num):{num}{all({list(0):{rl}}!=|{{ct}({list(0):{rl}}):{rules}}==true|{{ct}({list(0):{rl}}):{num}}==false):{list(0):{rl}} }}\n{=(num):{num}{all({list(1):{rl}}!=|{{ct}({list(1):{rl}}):{rules}}==true|{{ct}({list(1):{rl}}):{num}}==false):{list(1):{rl}} }}\n{=(num):{num}{all({list(2):{rl}}!=|{{ct}({list(2):{rl}}):{rules}}==true|{{ct}({list(2):{rl}}):{num}}==false):{list(2):{rl}} }}\n{=(num):{num}{all({list(3):{rl}}!=|{{ct}({list(3):{rl}}):{rules}}==true|{{ct}({list(3):{rl}}):{num}}==false):{list(3):{rl}} }}\n{=(num):{num}{all({list(4):{rl}}!=|{{ct}({list(4):{rl}}):{rules}}==true|{{ct}({list(4):{rl}}):{num}}==false):{list(4):{rl}} }}\n{=(num):{num}{all({list(5):{rl}}!=|{{ct}({list(5):{rl}}):{rules}}==true|{{ct}({list(5):{rl}}):{num}}==false):{list(5):{rl}} }}\n{=(num):{num}{all({list(6):{rl}}!=|{{ct}({list(6):{rl}}):{rules}}==true|{{ct}({list(6):{rl}}):{num}}==false):{list(6):{rl}} }}\n{=(num):{num}{all({list(7):{rl}}!=|{{ct}({list(7):{rl}}):{rules}}==true|{{ct}({list(7):{rl}}):{num}}==false):{list(7):{rl}} }}\n{=(num):{num}{all({list(8):{rl}}!=|{{ct}({list(8):{rl}}):{rules}}==true|{{ct}({list(8):{rl}}):{num}}==false):{list(8):{rl}} }}\n{=(num):{num}{all({list(9):{rl}}!=|{{ct}({list(9):{rl}}):{rules}}==true|{{ct}({list(9):{rl}}):{num}}==false):{list(9):{rl}} }}\n{=(num):{num}{all({list(10):{rl}}!=|{{ct}({list(10):{rl}}):{rules}}==true|{{ct}({list(10):{rl}}):{num}}==false):{list(10):{rl}} }}\n{=(num):{num}{all({list(11):{rl}}!=|{{ct}({list(11):{rl}}):{rules}}==true|{{ct}({list(11):{rl}}):{num}}==false):{list(11):{rl}} }}\n{=(num):{num}{all({list(12):{rl}}!=|{{ct}({list(12):{rl}}):{rules}}==true|{{ct}({list(12):{rl}}):{num}}==false):{list(12):{rl}} }}\n{=(num):{num}{all({list(13):{rl}}!=|{{ct}({list(13):{rl}}):{rules}}==true|{{ct}({list(13):{rl}}):{num}}==false):{list(13):{rl}} }}\n{=(num):{num}{all({list(14):{rl}}!=|{{ct}({list(14):{rl}}):{rules}}==true|{{ct}({list(14):{rl}}):{num}}==false):{list(14):{rl}} }}\n{=(num):{num}{all({list(15):{rl}}!=|{{ct}({list(15):{rl}}):{rules}}==true|{{ct}({list(15):{rl}}):{num}}==false):{list(15):{rl}} }}\n{=(num):{num}{all({list(16):{rl}}!=|{{ct}({list(16):{rl}}):{rules}}==true|{{ct}({list(16):{rl}}):{num}}==false):{list(16):{rl}} }}\n{=(num):{num}{all({list(17):{rl}}!=|{{ct}({list(17):{rl}}):{rules}}==true|{{ct}({list(17):{rl}}):{num}}==false):{list(17):{rl}} }}\n{=(num):{num}{all({list(18):{rl}}!=|{{ct}({list(18):{rl}}):{rules}}==true|{{ct}({list(18):{rl}}):{num}}==false):{list(18):{rl}} }}\n{=(num):{num}{all({list(19):{rl}}!=|{{ct}({list(19):{rl}}):{rules}}==true|{{ct}({list(19):{rl}}):{num}}==false):{list(19):{rl}} }}\n{=(num):{num}{all({list(20):{rl}}!=|{{ct}({list(20):{rl}}):{rules}}==true|{{ct}({list(20):{rl}}):{num}}==false):{list(20):{rl}} }}\n{=(num):{num}{all({list(21):{rl}}!=|{{ct}({list(21):{rl}}):{rules}}==true|{{ct}({list(21):{rl}}):{num}}==false):{list(21):{rl}} }}\n{=(num):{num}{all({list(22):{rl}}!=|{{ct}({list(22):{rl}}):{rules}}==true|{{ct}({list(22):{rl}}):{num}}==false):{list(22):{rl}} }}\n{=(num):{num}{all({list(23):{rl}}!=|{{ct}({list(23):{rl}}):{rules}}==true|{{ct}({list(23):{rl}}):{num}}==false):{list(23):{rl}} }}\n{=(num):{num}{all({list(24):{rl}}!=|{{ct}({list(24):{rl}}):{rules}}==true|{{ct}({list(24):{rl}}):{num}}==false):{list(24):{rl}}}}\n\n{=(comment):The following tests to see if args are empty, or if help or keyword are present, or if the input failed to generate a shortened list of rules, and if so, sets the rule numbers to the full list of rules}\n{=(largs):{{l}{args}}}\n{=(num):{any({largs(1)}==|{all({in(help):{largs}}==false|{in(keyword):{largs}}==false|{num}==):true|false}==true):{join(,):{rules}}|{join(,):{num}}}}\n\n{=(comment):Embed field generation for rule output, don't touch. ┐ = comma placeholder character}\n{=(ilf):,\"inline\":false}\n{=(cfields):{if({list(0):{num}}!=):{\"name\":\"{t{list(0):{num}}}\",\"value\":\"{rule{list(0):{num}}}\"{ilf}}}┐{if({list(1):{num}}!=):{\"name\":\"{t{list(1):{num}}}\",\"value\":\"{rule{list(1):{num}}}\"{ilf}}}┐{if({list(2):{num}}!=):{\"name\":\"{t{list(2):{num}}}\",\"value\":\"{rule{list(2):{num}}}\"{ilf}}}┐{if({list(3):{num}}!=):{\"name\":\"{t{list(3):{num}}}\",\"value\":\"{rule{list(3):{num}}}\"{ilf}}}┐{if({list(4):{num}}!=):{\"name\":\"{t{list(4):{num}}}\",\"value\":\"{rule{list(4):{num}}}\"{ilf}}}┐{if({list(5):{num}}!=):{\"name\":\"{t{list(5):{num}}}\",\"value\":\"{rule{list(5):{num}}}\"{ilf}}}┐{if({list(6):{num}}!=):{\"name\":\"{t{list(6):{num}}}\",\"value\":\"{rule{list(6):{num}}}\"{ilf}}}┐{if({list(7):{num}}!=):{\"name\":\"{t{list(7):{num}}}\",\"value\":\"{rule{list(7):{num}}}\"{ilf}}}┐{if({list(8):{num}}!=):{\"name\":\"{t{list(8):{num}}}\",\"value\":\"{rule{list(8):{num}}}\"{ilf}}}┐{if({list(9):{num}}!=):{\"name\":\"{t{list(9):{num}}}\",\"value\":\"{rule{list(9):{num}}}\"{ilf}}}┐{if({list(10):{num}}!=):{\"name\":\"{t{list(10):{num}}}\",\"value\":\"{rule{list(10):{num}}}\"{ilf}}}┐{if({list(11):{num}}!=):{\"name\":\"{t{list(11):{num}}}\",\"value\":\"{rule{list(11):{num}}}\"{ilf}}}┐{if({list(12):{num}}!=):{\"name\":\"{t{list(12):{num}}}\",\"value\":\"{rule{list(12):{num}}}\"{ilf}}}┐{if({list(13):{num}}!=):{\"name\":\"{t{list(13):{num}}}\",\"value\":\"{rule{list(13):{num}}}\"{ilf}}}┐{if({list(14):{num}}!=):{\"name\":\"{t{list(14):{num}}}\",\"value\":\"{rule{list(14):{num}}}\"{ilf}}}┐{if({list(15):{num}}!=):{\"name\":\"{t{list(15):{num}}}\",\"value\":\"{rule{list(15):{num}}}\"{ilf}}}┐{if({list(16):{num}}!=):{\"name\":\"{t{list(16):{num}}}\",\"value\":\"{rule{list(16):{num}}}\"{ilf}}}┐{if({list(17):{num}}!=):{\"name\":\"{t{list(17):{num}}}\",\"value\":\"{rule{list(17):{num}}}\"{ilf}}}┐{if({list(18):{num}}!=):{\"name\":\"{t{list(18):{num}}}\",\"value\":\"{rule{list(18):{num}}}\"{ilf}}}┐{if({list(19):{num}}!=):{\"name\":\"{t{list(19):{num}}}\",\"value\":\"{rule{list(19):{num}}}\"{ilf}}}┐{if({list(20):{num}}!=):{\"name\":\"{t{list(20):{num}}}\",\"value\":\"{rule{list(20):{num}}}\"{ilf}}}┐{if({list(21):{num}}!=):{\"name\":\"{t{list(21):{num}}}\",\"value\":\"{rule{list(21):{num}}}\"{ilf}}}┐{if({list(22):{num}}!=):{\"name\":\"{t{list(22):{num}}}\",\"value\":\"{rule{list(22):{num}}}\"{ilf}}}┐{if({list(23):{num}}!=):{\"name\":\"{t{list(23):{num}}}\",\"value\":\"{rule{list(23):{num}}}\"{ilf}}}┐{if({list(24):{num}}!=):{\"name\":\"{t{list(24):{num}}}\",\"value\":\"{rule{list(24):{num}}}\"{ilf}}}}\n\n{=(comment):different description holding variables}\n{=(instr):__Instructions__\nFollow the command with the number(s) of the rules you wish to output with spaces in between. Additional accepted formats are:\n#*x*-#*y* to indicate rules from #*x* to #*y* (limit 1x`-`)\n#+ to indicate rules from # to the end of the list of rules\n+# to indicate rules from 1 to # (limit 2x`+`)\nYou can also mix in keywords that have been set (don't mix keywords and symbols).\nExamples: `!rule +2, !rule discoterms, !rule 8+, !rule 8-` }\n\n{=(kw):__Keywords__\n{kw01} {kw02} {kw03} {kw04} {kw05} {kw06} {kw07} {kw08} {kw09} {kw10} {kw11} {kw12} {kw13} {kw14} {kw15} {kw16} {kw17} {kw18} {kw19} {kw20} {kw21} {kw22} {kw23} {kw24} {kw25}}\n\n{=(comment):Embed fields}\n{=(footer):Type \\\"!rule help\\\" for instructions}\n{=(des):{if({in(help):{largs}}==true):{instr}|{if({in(keyword):{largs}}==true):{kw}|{if({ruleschannelid}!=):<#{ruleschannelid}>}}}}\n\n{=(comment):finalizes the json for the embed by replacing spaces with a filler character, replacing comma placeholder characters with spaces, joining the spaces with commas, and replacing the filler characters with spaces again. this ensures there are no commas preceeding JSON fields, nor trailing the last JSON field. also includes logic choosing whether to display the full rules list (if args or the input number list are empty AND help/keyword are not displayed) or the custom rules list}\n{=(json):\"title\":\"{embedtitle}\",\"description\":\"{des}\",\"fields\":[{{r}(░,\n):{{r}(█, ):{join(,):{{r}(┐, ):{{r}(\n,░):{{r}( ,█):{cfields}}}}}}}],\"author\":{\"name\":\"{server}\",\"icon_url\":\"{server(icon)}\"},\"color\":3092790,\"footer\":{\"text\":\"{footer}\"}}\n\n{c:cembed {if({in(<#):{args}}==true):{args({index(<#):{{r}(<#,. <# .):{args}}})}|{channel(id)}} {{json}}}",
  "embed": "{}",
  "last_fetched": "2026-10-20T21:59:34.790Z"
}