xpcalc
https://docs.carl.gg/levels/levels/
Sharedunrated
Content
28 lines{=(dropsperminute):1}
{=():}
{=(xp):{replace(%2C,):{replace(xp,):{urlencode:{args(1)}}}}}
{=(base):{replace(%2C,):{replace(xp,):{urlencode:{args(2)}}}}}
{{if(=={xp}):blacklist(Usage: `!xpcalc <target> [base]`):{server(id)}|{if({xp}!={m:trunc({xp}/1)}):blacklist(XP must be a whole number.):{server(id)}}}}
{=(basexp):{if(=={list(1):{join(~):{args}}}):0|{if({base}!={m:trunc({base}/1)}):0|{base}}}}
{=(diffxp):{m:abs(trunc({xp}-{basexp}))}}
{=(min):{m:round({diffxp}/25)}}
{=(avg):{m:round({diffxp}/20)}}
{=(max):{m:round({diffxp}/15)}}
{=(commaxp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{xp}}}}}}}
{=(commabasexp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{basexp}}}}}}}
{=(commadiffxp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{diffxp}}}}}}}
{=(commamin):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{min}}}}}}}
{=(commaavg):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{avg}}}}}}}
{=(commamax):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{max}}}}}}}
{=(mintime):{m:{min}/{dropsperminute}}}
{=(avgtime):{m:{avg}/{dropsperminute}}}
{=(maxtime):{m:{max}/{dropsperminute}}}
{=(mindisplay):{m:trunc({mintime} / 60)}h {m:trunc({mintime} % 60)}m}
{=(avgdisplay):{m:trunc({avgtime} / 60)} hours and {m:trunc({avgtime} % 60)} minutes}
{=(maxdisplay):{m:trunc({maxtime} / 60)}h {m:trunc({maxtime} % 60)}m}Embed
1 line{"url": "https://docs.carl.gg/levels/levels/", "color": 8311585, "title": "XP Calculation", "description": "You need **{commadiffxp}**xp to reach your target.\n\nThis will take **{commaavg}** messages on average (Min **{commamin}**, Max **{commamax}**).\n\nAssuming {dropsperminute} drop(s) per minute, this will take **{avgdisplay}** (Min **{mindisplay}**, Max **{maxdisplay}**)."}Raw JSON
{
"id": 854760,
"created_at": "2021-05-28T20:01:16.000Z",
"tag_name": "xpcalc",
"nsfw": false,
"owner_id": "489484338514100234",
"uses": 20,
"description": "https://docs.carl.gg/levels/levels/",
"restricted": false,
"shared": true,
"deleted": false,
"safe": "unrated",
"hidden": false,
"guild_id": "636003276881657857",
"sharer": "489484338514100234",
"content": "{=(dropsperminute):1}\n\n{=():}\n{=(xp):{replace(%2C,):{replace(xp,):{urlencode:{args(1)}}}}}\n{=(base):{replace(%2C,):{replace(xp,):{urlencode:{args(2)}}}}}\n\n{{if(=={xp}):blacklist(Usage: `!xpcalc <target> [base]`):{server(id)}|{if({xp}!={m:trunc({xp}/1)}):blacklist(XP must be a whole number.):{server(id)}}}}\n\n{=(basexp):{if(=={list(1):{join(~):{args}}}):0|{if({base}!={m:trunc({base}/1)}):0|{base}}}}\n{=(diffxp):{m:abs(trunc({xp}-{basexp}))}}\n{=(min):{m:round({diffxp}/25)}}\n{=(avg):{m:round({diffxp}/20)}}\n{=(max):{m:round({diffxp}/15)}}\n\n{=(commaxp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{xp}}}}}}}\n{=(commabasexp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{basexp}}}}}}}\n{=(commadiffxp):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{diffxp}}}}}}}\n{=(commamin):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{min}}}}}}}\n{=(commaavg):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{avg}}}}}}}\n{=(commamax):{replace(st,):{replace(nd,):{replace(rd,):{replace(th,):{ord:{max}}}}}}}\n\n{=(mintime):{m:{min}/{dropsperminute}}}\n{=(avgtime):{m:{avg}/{dropsperminute}}}\n{=(maxtime):{m:{max}/{dropsperminute}}}\n\n{=(mindisplay):{m:trunc({mintime} / 60)}h {m:trunc({mintime} % 60)}m}\n{=(avgdisplay):{m:trunc({avgtime} / 60)} hours and {m:trunc({avgtime} % 60)} minutes}\n{=(maxdisplay):{m:trunc({maxtime} / 60)}h {m:trunc({maxtime} % 60)}m}",
"embed": "{\"url\": \"https://docs.carl.gg/levels/levels/\", \"color\": 8311585, \"title\": \"XP Calculation\", \"description\": \"You need **{commadiffxp}**xp to reach your target.\\n\\nThis will take **{commaavg}** messages on average (Min **{commamin}**, Max **{commamax}**).\\n\\nAssuming {dropsperminute} drop(s) per minute, this will take **{avgdisplay}** (Min **{mindisplay}**, Max **{maxdisplay}**).\"}",
"last_fetched": "2026-10-20T16:35:33.085Z"
}