rule

Tag script to post rule embeds on demand for LOTRO Official Discord. Invoke with !rule <number> or !rule <keyword> Additional keywords can be added to individual rules as necessary.

Private

Content

191 lines
{=(comment):Change the prefix and tag name to match your server's settings.}
{=(prefix):!}
{=(tagname):rule}

{=(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.}
{=(ruleschannelid):1253101044863340706}

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

{=(comment):
Put custom titles in the title1-title25 variables (if you want them).
Put keywords for each rule in the keyword1-keyword25 variables. Not required but useful.

The logic behind keyword detection has changed, LONG keywords are better. If you have "spamming" as the keyword, and do "!rule spam", it will detect it. 

You can provide multiple keywords for each rule IF you do NOT put spaces in between them. Use commas if you feel the need to separate them.

Put rules in the rule1-rule25 variables.
Titles must be less than 256 characters, and rules must be less than 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):friendly}
{=(rule01):**Be nice!** A friendly and welcoming environment is very important, as it allows gamers from all walks of life and skill levels to participate.}

{=(title02):}
{=(keyword02):respect}
{=(rule02):**Respect people.** We ask that you respect others whether you agree with them or not. That means, in part}

{=(title03):}
{=(keyword03):harassment}
{=(rule03):**Don't insult or harass others.** Insulting or harassing people says more about you than it does the person you are insulting or harassing.}

{=(title04):}
{=(keyword04):trolling}
{=(rule04):**Don't troll.** Trolling disrupts conversation and leads to long-term problems. Remember that you can strongly disagree with someone and not post about it, and can instead voice your own opinion without insulting others. This is also more productive and valuable to us. It's okay if someone is wrong on the Internet!}

{=(title05):}
{=(keyword05):accuse}
{=(rule05):**Don't accuse people of being trolls.** Simply alert a moderator to their posts as necessary and move on. Calling someone a troll is a common form of trolling.}

{=(title06):}
{=(keyword06):language}
{=(rule06):**Don't use loaded words to insult a group of players.** The use of the words, "fanboy", "fanbois", "cheerleaders", "haters", or similar-meaning language, is insulting and not okay.}

{=(title07):}
{=(keyword07):harm}
{=(rule07):**Don't call for devs or other SSG employees to be fired, killed, get sick, etc.** We take this very seriously, even if you mean it as "a joke".}

{=(title08):}
{=(keyword08):abuse}
{=(rule08):**Don't be abusive to SSG employees or moderators.** We appreciate constructive negative criticism, but cruel and ugly language is not allowed.}

{=(title09):}
{=(keyword09):nsfw,inappropriate}
{=(rule09):**No Racism, inappropriate content, or other -isms.** Writing about or linking to racist, sexist, homophobic, transphobic, and other inappropriate content will get you infracted or banned. We also don’t want sexually-explicit, violent, or gross stuff on our forums or social channels.}

{=(title10):}
{=(keyword10):name,shame}
{=(rule10):**We do not permit 'Naming and Shaming'.** Publicly accusing someone of misbehavior, whether true or not, is not allowed. We do not conduct trials in the court of public opinion, nor do we want to create a situation where players are forced to defend themselves publicly against untrue, misleading, or only partially accurate allegations.}

{=(title11):}
{=(keyword11):doxxing}
{=(rule11):**No Doxxing.** Posting someone's account information, email address, or other personally-identifying information is a serious offense, and will not be tolerated.}

{=(title12):}
{=(keyword12):profanity,swearing}
{=(rule12):**No profanity, please.** That also includes using symbols `(#$^$@)` or spaces/p.u.n.c.t.u.a.t.i.o.n to get around filters.}

{=(title13):}
{=(keyword13):arguments}
{=(rule13):**Don't bring up old arguments in unrelated discussions.**}

{=(title14):}
{=(keyword14):politics,religion}
{=(rule14):**We are a Politics and Religion-free zone.** That also includes political language and discussions that amount to political or religious debates. This includes any discussion or usage of the word "woke".}

{=(title15):}
{=(keyword15):moderation}
{=(rule15):**No discussing moderation taken in-game or in the Discord.** We do not adjudicate moderation disputes with public call-outs or public trials.}

{=(title16):}
{=(keyword16):unauthorized,illegal}
{=(rule16):**We do not permit discussion about any illegal or unauthorized game servers created by third parties here.** Any discussion of such a project related to LOTRO in our Discord will lead to an immediate removal from the Discord, and depending on severity, we may take additional actions against your game account.}

{=(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 change anything below this comment}


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

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

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

{=(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}
{=(sc):{if({in(<#):{args}}==true):{{r}({args({index(<#):{{r}(<#,. <# .):{args}}})},):{args}}|{args}}}
{=(sc):{join( ):{sc}}}

{=(keywords):{if(!={keyword01(1):,}):{keyword01}}{if(!={keyword02(1):,}): {keyword02}}{if(!={keyword03(1):,}): {keyword03}}{if(!={keyword04(1):,}): {keyword04}}{if(!={keyword05(1):,}): {keyword05}}{if(!={keyword06(1):,}): {keyword06}}{if(!={keyword07(1):,}): {keyword07}}{if(!={keyword08(1):,}): {keyword08}}{if(!={keyword09(1):,}): {keyword09}}{if(!={keyword10(1):,}): {keyword10}}{if(!={keyword11(1):,}): {keyword11}}{if(!={keyword12(1):,}): {keyword12}}{if(!={keyword13(1):,}): {keyword13}}{if(!={keyword14(1):,}): {keyword14}}{if(!={keyword15(1):,}): {keyword15}}{if(!={keyword16(1):,}): {keyword16}}{if(!={keyword17(1):,}): {keyword17}}{if(!={keyword18(1):,}): {keyword18}}{if(!={keyword19(1):,}): {keyword19}}{if(!={keyword20(1):,}): {keyword20}}{if(!={keyword21(1):,}): {keyword21}}{if(!={keyword22(1):,}): {keyword22}}{if(!={keyword23(1):,}): {keyword23}}{if(!={keyword24(1):,}): {keyword24}}{if(!={keyword25(1):,}): {keyword25}}}

{=(comment):Checks if the arg present is a keyword, and if it is, changes it to a rule number}
{=(lsc):{lower:{sc}}}
{=(ws):{if(!={lsc(1)}):{if({in({lsc(1)}):{keywords}}==true):{index({lsc(1)}):{{r}({lsc(1)},. {lsc(1)} .):{keywords}}}|{lsc(1)}}|{lsc(1)}}}

{=(comment):adds leading zeros to single digit numbers: adds ~ before and after the {ws} variable, joins with ~, replaces ~#~ with ~0#~, replaces ~ with spaces, then joins to remove leading/trailing spaces}
{=(sani):{join( ):{{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~):{join(~):~{ws}~}}}}}}}}}}}}}

{=(comment):If the sanitized number does not match a number for a rule that exists, the tag displays the help window}
{=(num):{if({{ct}({sani(1)}):{rules}}==true):{sani(1)}|00}}

{=(t00):Rules Command Instructions}
{=(rule00):Follow `{prefix}{tagname}` with the number or corresponding keyword of the rule you wish to output.

**__{server}'s Keywords:__**
{join(`, `):`{keywords}`}}
{=():}
{{if({in(<#):{args}}==true):redirect:{args({index(<#):{{r}(<#,. <# .):{args}}})}}}
{embed(description):{if(!={ruleschannelid}):<#{ruleschannelid}>}}
Raw JSON
{
  "id": 2215157,
  "created_at": "2025-02-16T01:34:47.000Z",
  "tag_name": "rule",
  "nsfw": false,
  "owner_id": "258749170804981772",
  "uses": 5,
  "description": "Tag script to post rule embeds on demand for LOTRO Official Discord.\n\nInvoke with !rule <number> or !rule <keyword>\n\nAdditional keywords can be added to individual rules as necessary.",
  "restricted": false,
  "shared": false,
  "deleted": false,
  "safe": "",
  "hidden": false,
  "guild_id": "258750160165666824",
  "sharer": "258749170804981772",
  "content": "{=(comment):Change the prefix and tag name to match your server's settings.}\n{=(prefix):!}\n{=(tagname):rule}\n\n{=(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.}\n{=(ruleschannelid):1253101044863340706}\n\n{=(comment):Add, change or remove the embed title here}\n{embed(title):}\n\n{=(comment):\nPut custom titles in the title1-title25 variables (if you want them).\nPut keywords for each rule in the keyword1-keyword25 variables. Not required but useful.\n\nThe logic behind keyword detection has changed, LONG keywords are better. If you have \"spamming\" as the keyword, and do \"!rule spam\", it will detect it. \n\nYou can provide multiple keywords for each rule IF you do NOT put spaces in between them. Use commas if you feel the need to separate them.\n\nPut rules in the rule1-rule25 variables.\nTitles must be less than 256 characters, and rules must be less than 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):friendly}\n{=(rule01):**Be nice!** A friendly and welcoming environment is very important, as it allows gamers from all walks of life and skill levels to participate.}\n\n{=(title02):}\n{=(keyword02):respect}\n{=(rule02):**Respect people.** We ask that you respect others whether you agree with them or not. That means, in part}\n\n{=(title03):}\n{=(keyword03):harassment}\n{=(rule03):**Don't insult or harass others.** Insulting or harassing people says more about you than it does the person you are insulting or harassing.}\n\n{=(title04):}\n{=(keyword04):trolling}\n{=(rule04):**Don't troll.** Trolling disrupts conversation and leads to long-term problems. Remember that you can strongly disagree with someone and not post about it, and can instead voice your own opinion without insulting others. This is also more productive and valuable to us. It's okay if someone is wrong on the Internet!}\n\n{=(title05):}\n{=(keyword05):accuse}\n{=(rule05):**Don't accuse people of being trolls.** Simply alert a moderator to their posts as necessary and move on. Calling someone a troll is a common form of trolling.}\n\n{=(title06):}\n{=(keyword06):language}\n{=(rule06):**Don't use loaded words to insult a group of players.** The use of the words, \"fanboy\", \"fanbois\", \"cheerleaders\", \"haters\", or similar-meaning language, is insulting and not okay.}\n\n{=(title07):}\n{=(keyword07):harm}\n{=(rule07):**Don't call for devs or other SSG employees to be fired, killed, get sick, etc.** We take this very seriously, even if you mean it as \"a joke\".}\n\n{=(title08):}\n{=(keyword08):abuse}\n{=(rule08):**Don't be abusive to SSG employees or moderators.** We appreciate constructive negative criticism, but cruel and ugly language is not allowed.}\n\n{=(title09):}\n{=(keyword09):nsfw,inappropriate}\n{=(rule09):**No Racism, inappropriate content, or other -isms.** Writing about or linking to racist, sexist, homophobic, transphobic, and other inappropriate content will get you infracted or banned. We also don’t want sexually-explicit, violent, or gross stuff on our forums or social channels.}\n\n{=(title10):}\n{=(keyword10):name,shame}\n{=(rule10):**We do not permit 'Naming and Shaming'.** Publicly accusing someone of misbehavior, whether true or not, is not allowed. We do not conduct trials in the court of public opinion, nor do we want to create a situation where players are forced to defend themselves publicly against untrue, misleading, or only partially accurate allegations.}\n\n{=(title11):}\n{=(keyword11):doxxing}\n{=(rule11):**No Doxxing.** Posting someone's account information, email address, or other personally-identifying information is a serious offense, and will not be tolerated.}\n\n{=(title12):}\n{=(keyword12):profanity,swearing}\n{=(rule12):**No profanity, please.** That also includes using symbols `(#$^$@)` or spaces/p.u.n.c.t.u.a.t.i.o.n to get around filters.}\n\n{=(title13):}\n{=(keyword13):arguments}\n{=(rule13):**Don't bring up old arguments in unrelated discussions.**}\n\n{=(title14):}\n{=(keyword14):politics,religion}\n{=(rule14):**We are a Politics and Religion-free zone.** That also includes political language and discussions that amount to political or religious debates. This includes any discussion or usage of the word \"woke\".}\n\n{=(title15):}\n{=(keyword15):moderation}\n{=(rule15):**No discussing moderation taken in-game or in the Discord.** We do not adjudicate moderation disputes with public call-outs or public trials.}\n\n{=(title16):}\n{=(keyword16):unauthorized,illegal}\n{=(rule16):**We do not permit discussion about any illegal or unauthorized game servers created by third parties here.** Any discussion of such a project related to LOTRO in our Discord will lead to an immediate removal from the Discord, and depending on severity, we may take additional actions against your game account.}\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\n{=(comment):Don't change anything below this comment}\n\n\n{=(t01):{if(!={title01}):{title01}|{word4rule} 1}}\n{=(t02):{if(!={title02}):{title02}|{word4rule} 2}}\n{=(t03):{if(!={title03}):{title03}|{word4rule} 3}}\n{=(t04):{if(!={title04}):{title04}|{word4rule} 4}}\n{=(t05):{if(!={title05}):{title05}|{word4rule} 5}}\n{=(t06):{if(!={title06}):{title06}|{word4rule} 6}}\n{=(t07):{if(!={title07}):{title07}|{word4rule} 7}}\n{=(t08):{if(!={title08}):{title08}|{word4rule} 8}}\n{=(t09):{if(!={title09}):{title09}|{word4rule} 9}}\n{=(t10):{if(!={title10}):{title10}|{word4rule} 10}}\n{=(t11):{if(!={title11}):{title11}|{word4rule} 11}}\n{=(t12):{if(!={title12}):{title12}|{word4rule} 12}}\n{=(t13):{if(!={title13}):{title13}|{word4rule} 13}}\n{=(t14):{if(!={title14}):{title14}|{word4rule} 14}}\n{=(t15):{if(!={title15}):{title15}|{word4rule} 15}}\n{=(t16):{if(!={title16}):{title16}|{word4rule} 16}}\n{=(t17):{if(!={title17}):{title17}|{word4rule} 17}}\n{=(t18):{if(!={title18}):{title18}|{word4rule} 18}}\n{=(t19):{if(!={title19}):{title19}|{word4rule} 19}}\n{=(t20):{if(!={title20}):{title20}|{word4rule} 20}}\n{=(t21):{if(!={title21}):{title21}|{word4rule} 21}}\n{=(t22):{if(!={title22}):{title22}|{word4rule} 22}}\n{=(t23):{if(!={title23}):{title23}|{word4rule} 23}}\n{=(t24):{if(!={title24}):{title24}|{word4rule} 24}}\n{=(t25):{if(!={title25}):{title25}|{word4rule} 25}}\n\n{=(comment):builds the list of rule numbers for rules that are populated}\n{=(rules):{if(!={rule01(1)}):01}{if(!={rule02(1)}): 02}{if(!={rule03(1)}): 03}{if(!={rule04(1)}): 04}{if(!={rule05(1)}): 05}{if(!={rule06(1)}): 06}{if(!={rule07(1)}): 07}{if(!={rule08(1)}): 08}{if(!={rule09(1)}): 09}{if(!={rule10(1)}): 10}{if(!={rule11(1)}): 11}{if(!={rule12(1)}): 12}{if(!={rule13(1)}): 13}{if(!={rule14(1)}): 14}{if(!={rule15(1)}): 15}{if(!={rule16(1)}): 16}{if(!={rule17(1)}): 17}{if(!={rule18(1)}): 18}{if(!={rule19(1)}): 19}{if(!={rule20(1)}): 20}{if(!={rule21(1)}): 21}{if(!={rule22(1)}): 22}{if(!={rule23(1)}): 23}{if(!={rule24(1)}): 24}{if(!={rule25(1)}): 25}}\n\n{=(comment):space saving measures that makes the whole thing way harder to read lmao}\n{=(r):replace}\n{=(ct):contains}\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{=(sc):{if({in(<#):{args}}==true):{{r}({args({index(<#):{{r}(<#,. <# .):{args}}})},):{args}}|{args}}}\n{=(sc):{join( ):{sc}}}\n\n{=(keywords):{if(!={keyword01(1):,}):{keyword01}}{if(!={keyword02(1):,}): {keyword02}}{if(!={keyword03(1):,}): {keyword03}}{if(!={keyword04(1):,}): {keyword04}}{if(!={keyword05(1):,}): {keyword05}}{if(!={keyword06(1):,}): {keyword06}}{if(!={keyword07(1):,}): {keyword07}}{if(!={keyword08(1):,}): {keyword08}}{if(!={keyword09(1):,}): {keyword09}}{if(!={keyword10(1):,}): {keyword10}}{if(!={keyword11(1):,}): {keyword11}}{if(!={keyword12(1):,}): {keyword12}}{if(!={keyword13(1):,}): {keyword13}}{if(!={keyword14(1):,}): {keyword14}}{if(!={keyword15(1):,}): {keyword15}}{if(!={keyword16(1):,}): {keyword16}}{if(!={keyword17(1):,}): {keyword17}}{if(!={keyword18(1):,}): {keyword18}}{if(!={keyword19(1):,}): {keyword19}}{if(!={keyword20(1):,}): {keyword20}}{if(!={keyword21(1):,}): {keyword21}}{if(!={keyword22(1):,}): {keyword22}}{if(!={keyword23(1):,}): {keyword23}}{if(!={keyword24(1):,}): {keyword24}}{if(!={keyword25(1):,}): {keyword25}}}\n\n{=(comment):Checks if the arg present is a keyword, and if it is, changes it to a rule number}\n{=(lsc):{lower:{sc}}}\n{=(ws):{if(!={lsc(1)}):{if({in({lsc(1)}):{keywords}}==true):{index({lsc(1)}):{{r}({lsc(1)},. {lsc(1)} .):{keywords}}}|{lsc(1)}}|{lsc(1)}}}\n\n{=(comment):adds leading zeros to single digit numbers: adds ~ before and after the {ws} variable, joins with ~, replaces ~#~ with ~0#~, replaces ~ with spaces, then joins to remove leading/trailing spaces}\n{=(sani):{join( ):{{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~):{join(~):~{ws}~}}}}}}}}}}}}}\n\n{=(comment):If the sanitized number does not match a number for a rule that exists, the tag displays the help window}\n{=(num):{if({{ct}({sani(1)}):{rules}}==true):{sani(1)}|00}}\n\n{=(t00):Rules Command Instructions}\n{=(rule00):Follow `{prefix}{tagname}` with the number or corresponding keyword of the rule you wish to output.\n\n**__{server}'s Keywords:__**\n{join(`, `):`{keywords}`}}\n{=():}\n{{if({in(<#):{args}}==true):redirect:{args({index(<#):{{r}(<#,. <# .):{args}}})}}}\n{embed(description):{if(!={ruleschannelid}):<#{ruleschannelid}>}}",
  "embed": "{}",
  "last_fetched": "2026-10-20T19:51:36.793Z"
}