ship
Privateunrated
Content
18 lines{=(comment):spaces names preserving spaces}{=(uspc):{replace(, ):{replace( ,╬):{1}}}}{=(tspc):{replace(, ):{replace( ,╬):{2}}}}{=(comment):length checking}{=(ulen):{index(end):{uspc} end}}{=(tlen):{index(end):{tspc} end}}{=(comment):finds the approximate middle of each name, taking into account the offset made during spacing}{=(uhalf):{m:trunc(({ulen}+3)/2)}}{=(thalf):{m:trunc(({tlen}+3)/2)}}{=(vowels):a e i o u}{=(comment):checks for vowel presence in the 3 characters centered around the middle character, in reverse order}{=(ucchk):{contains({uspc({m:trunc({uhalf}+1)})}):{vowels}} {contains({uspc({uhalf})}):{vowels}}{if({m:{ulen}%2}!=0.0): {contains({uspc({m:trunc({uhalf}-1)})}):{vowels}}}}{=(tcchk):{contains({tspc({m:trunc({thalf}+1)})}):{vowels}} {contains({tspc({thalf})}):{vowels}}{if({m:{tlen}%2}!=0.0): {contains({tspc({m:trunc({thalf}-1)})}):{vowels}}}}{=(comment):checks for vowel presence in the 3 characters centered around the middle character, in regular order}{=(uvchk):{if({m:{ulen}%2}!=0.0):{contains({uspc({m:trunc({uhalf}-1)})}):{vowels}} }{contains({uspc({uhalf})}):{vowels}} {contains({uspc({m:trunc({uhalf}+1)})}):{vowels}}}{=(tvchk):{if({m:{tlen}%2}!=0.0):{contains({tspc({m:trunc({thalf}-1)})}):{vowels}} }{contains({tspc({thalf})}):{vowels}} {contains({tspc({m:trunc({thalf}+1)})}):{vowels}}}{=(comment):finds the consonant split for the user and target; first character in reverse order that is not a vowel}{=(ucsplt):{if({contains(false):{ucchk}}==true):{m:trunc({uhalf}+1-{index(false):{ucchk}})}|{uhalf}}}{=(tcsplt):{if({contains(false):{tcchk}}==true):{m:trunc({thalf}+1-{index(false):{tcchk}})}|{thalf}}}{=(comment):finds the vowel split for the user and target; first character in regular order that is a vowel}{=(uvsplt):{if({contains(true):{uvchk}}==true):{m:trunc({uhalf}{if({m:{ulen}%2}!=0.0):-1}+{index(true):{uvchk}})}|{m:trunc(1+{uhalf})}}}{=(tvsplt):{if({contains(true):{tvchk}}==true):{m:trunc({thalf}{if({m:{tlen}%2}!=0.0):-1}+{index(true):{tvchk}})}|{m:trunc(1+{thalf})}}}{=(comment):puts the names together}{=(comment):name1 is user/target, with user ending on last consonant in approx middle of name and target starting with first vowel in approx middle of name}{=(comment):name2 is target/user, with target ending on last consonant in approx middle of name and user starting with first vowel in approx middle of name}{=(name1):{replace(╬, ):{join():{uspc(+{ucsplt})}{tspc({tvsplt}+)}}}}{=(name2):{replace(╬, ):{join():{tspc(+{tcsplt})}{uspc({uvsplt}+)}}}}{=(COMMENT):The embed's side color. I set it to the user highest color by default. Change it as per your need. Make sure to include # before the hex code if you do decide to include one.}{embed(color):{user(color)}}{=(COMMENT):------Initialization------}{=(COMMENT):Returns the current arguments length and checks if it equal to 2.}{=(length):{index(&$):{args} &$}}{=(check.Length):{if({length}==2):true|false}}{=(COMMENT):------Seed and Range Management------}{=(COMMENT):Sets the seed's content to the two first arguments/mentions. Reminder: Seeds allow range and random blocks to always return the same content when the given seed is the same.}{=(seed):{1}{2}{2}{1}}{=(COMMENT):Basic setup of the seeded range block.}{=(number):{range({seed}):1-100}}{=(COMMENT):------Outputs------}{=(COMMENT):------Outputs------}{=(COMMENT):Carl-bot Emojis to display depending on the value of "number".}{=(emojis):<:cbotneutral_face:676420694787096587> <:cbotface:676420695508647946> <:cbotgrinning:676420694694821899> <:cbotweary:676420694820651018> <:cbothearteyes:676420694715924500>}{=(emoji):{if({number}<=19):{emojis(1)}|{if({number}<=39):{emojis(2)}|{if({number}<=59):{emojis(3)}|{if({number}<=79):{emojis(4)}|{if({number}<=100):{emojis(5)}}}}}}}{=(COMMENT):Message to display when the user mentioned two people.}{=(output):Checking for compatibility between{1} and {2}
...
Result: **`{number}% compatible`** {emoji}}
{=(jab1):Totally Impossible!}
{=(jab2):Mortal Enemies!}
{=(jab3):Rivals!}
{=(jab4):Totally Friend-Zoned!}
{=(jab5):No Future Together!}
{=(jab6):Obligatory Friends!}
{=(jab7):Pretty Good Friends!}
{=(jab8):Drinking Buds!}
{=(jab9):Besties!}
{=(jab10):Perfect Pair!}
{=(jab11):Star-Crossed!}
{=(jab12):Match Made in Heaven!}
{=(jab):{if({number}==0):{jab1}|{if({number}<=9):{jab2}|{if({number}<=19):{jab3}|{if({number}<=29):{jab4}|{if({number}<=39):{jab5}|{if({number}<=49):{jab6}|{if({number}<=59):{jab7}|{if({number}<=69):{jab8}|{if({number}<=79):{jab9}|{if({number}<=89):{jab10}|{if({number}<=99):{jab11}|{jab12}}}}}}}}}}}}}Embed
1 line{"color": 5198940, "title": "{if({contains(@):{replace(, ):{name1}}}==true):|{if({contains(@):{replace(, ):{name2}}}==true):|{if({2}=={1}):|{random:{name1},{name2}}}}}", "footer": {"text": "{jab}"}, "description": "{if({2}=={1}):Relationships need 2 people!|{output}}\n"}Raw JSON
{
"id": 1007247,
"created_at": "2021-08-13T17:36:06.000Z",
"tag_name": "ship",
"nsfw": false,
"owner_id": "223227287309516801",
"uses": 152,
"description": null,
"restricted": false,
"shared": false,
"deleted": false,
"safe": "unrated",
"hidden": false,
"guild_id": "874389411989684265",
"sharer": "223227287309516801",
"content": "{=(comment):spaces names preserving spaces}{=(uspc):{replace(, ):{replace( ,╬):{1}}}}{=(tspc):{replace(, ):{replace( ,╬):{2}}}}{=(comment):length checking}{=(ulen):{index(end):{uspc} end}}{=(tlen):{index(end):{tspc} end}}{=(comment):finds the approximate middle of each name, taking into account the offset made during spacing}{=(uhalf):{m:trunc(({ulen}+3)/2)}}{=(thalf):{m:trunc(({tlen}+3)/2)}}{=(vowels):a e i o u}{=(comment):checks for vowel presence in the 3 characters centered around the middle character, in reverse order}{=(ucchk):{contains({uspc({m:trunc({uhalf}+1)})}):{vowels}} {contains({uspc({uhalf})}):{vowels}}{if({m:{ulen}%2}!=0.0): {contains({uspc({m:trunc({uhalf}-1)})}):{vowels}}}}{=(tcchk):{contains({tspc({m:trunc({thalf}+1)})}):{vowels}} {contains({tspc({thalf})}):{vowels}}{if({m:{tlen}%2}!=0.0): {contains({tspc({m:trunc({thalf}-1)})}):{vowels}}}}{=(comment):checks for vowel presence in the 3 characters centered around the middle character, in regular order}{=(uvchk):{if({m:{ulen}%2}!=0.0):{contains({uspc({m:trunc({uhalf}-1)})}):{vowels}} }{contains({uspc({uhalf})}):{vowels}} {contains({uspc({m:trunc({uhalf}+1)})}):{vowels}}}{=(tvchk):{if({m:{tlen}%2}!=0.0):{contains({tspc({m:trunc({thalf}-1)})}):{vowels}} }{contains({tspc({thalf})}):{vowels}} {contains({tspc({m:trunc({thalf}+1)})}):{vowels}}}{=(comment):finds the consonant split for the user and target; first character in reverse order that is not a vowel}{=(ucsplt):{if({contains(false):{ucchk}}==true):{m:trunc({uhalf}+1-{index(false):{ucchk}})}|{uhalf}}}{=(tcsplt):{if({contains(false):{tcchk}}==true):{m:trunc({thalf}+1-{index(false):{tcchk}})}|{thalf}}}{=(comment):finds the vowel split for the user and target; first character in regular order that is a vowel}{=(uvsplt):{if({contains(true):{uvchk}}==true):{m:trunc({uhalf}{if({m:{ulen}%2}!=0.0):-1}+{index(true):{uvchk}})}|{m:trunc(1+{uhalf})}}}{=(tvsplt):{if({contains(true):{tvchk}}==true):{m:trunc({thalf}{if({m:{tlen}%2}!=0.0):-1}+{index(true):{tvchk}})}|{m:trunc(1+{thalf})}}}{=(comment):puts the names together}{=(comment):name1 is user/target, with user ending on last consonant in approx middle of name and target starting with first vowel in approx middle of name}{=(comment):name2 is target/user, with target ending on last consonant in approx middle of name and user starting with first vowel in approx middle of name}{=(name1):{replace(╬, ):{join():{uspc(+{ucsplt})}{tspc({tvsplt}+)}}}}{=(name2):{replace(╬, ):{join():{tspc(+{tcsplt})}{uspc({uvsplt}+)}}}}{=(COMMENT):The embed's side color. I set it to the user highest color by default. Change it as per your need. Make sure to include # before the hex code if you do decide to include one.}{embed(color):{user(color)}}{=(COMMENT):------Initialization------}{=(COMMENT):Returns the current arguments length and checks if it equal to 2.}{=(length):{index(&$):{args} &$}}{=(check.Length):{if({length}==2):true|false}}{=(COMMENT):------Seed and Range Management------}{=(COMMENT):Sets the seed's content to the two first arguments/mentions. Reminder: Seeds allow range and random blocks to always return the same content when the given seed is the same.}{=(seed):{1}{2}{2}{1}}{=(COMMENT):Basic setup of the seeded range block.}{=(number):{range({seed}):1-100}}{=(COMMENT):------Outputs------}{=(COMMENT):------Outputs------}{=(COMMENT):Carl-bot Emojis to display depending on the value of \"number\".}{=(emojis):<:cbotneutral_face:676420694787096587> <:cbotface:676420695508647946> <:cbotgrinning:676420694694821899> <:cbotweary:676420694820651018> <:cbothearteyes:676420694715924500>}{=(emoji):{if({number}<=19):{emojis(1)}|{if({number}<=39):{emojis(2)}|{if({number}<=59):{emojis(3)}|{if({number}<=79):{emojis(4)}|{if({number}<=100):{emojis(5)}}}}}}}{=(COMMENT):Message to display when the user mentioned two people.}{=(output):Checking for compatibility between{1} and {2}\n...\nResult: **`{number}% compatible`** {emoji}}\n\n{=(jab1):Totally Impossible!}\n{=(jab2):Mortal Enemies!}\n{=(jab3):Rivals!}\n{=(jab4):Totally Friend-Zoned!}\n{=(jab5):No Future Together!}\n{=(jab6):Obligatory Friends!}\n{=(jab7):Pretty Good Friends!}\n{=(jab8):Drinking Buds!}\n{=(jab9):Besties!}\n{=(jab10):Perfect Pair!}\n{=(jab11):Star-Crossed!}\n{=(jab12):Match Made in Heaven!}\n\n{=(jab):{if({number}==0):{jab1}|{if({number}<=9):{jab2}|{if({number}<=19):{jab3}|{if({number}<=29):{jab4}|{if({number}<=39):{jab5}|{if({number}<=49):{jab6}|{if({number}<=59):{jab7}|{if({number}<=69):{jab8}|{if({number}<=79):{jab9}|{if({number}<=89):{jab10}|{if({number}<=99):{jab11}|{jab12}}}}}}}}}}}}}",
"embed": "{\"color\": 5198940, \"title\": \"{if({contains(@):{replace(, ):{name1}}}==true):|{if({contains(@):{replace(, ):{name2}}}==true):|{if({2}=={1}):|{random:{name1},{name2}}}}}\", \"footer\": {\"text\": \"{jab}\"}, \"description\": \"{if({2}=={1}):Relationships need 2 people!|{output}}\\n\"}",
"last_fetched": "2026-10-20T17:21:30.122Z"
}