promote
Give your target an appropriate role based on what they already have, and report the new rank. CHANGE THESE VARIABLES: Change the mod roleID to match your server's. Change the promotion roleIDs to match your server's. DO NOT MANUALLY GIVE A USER MULTIPLE PROMOTION ROLES. This will cause the tag to not respond.
Private
Content
40 lines{=():}{override}{silent}
{=(COMMENT):Check for mod role and target mention, otherwise it breaks.}
{{any(false=={contains(1082316265605058680):{user(roleids)}}|{user(id)}=={target(id)}):blacklist(A staff member must mention a user!):{server(id)}}}
{=(COMMENT):Change these promotion role IDs to match your server.}
{=(role1):1210885871868321882}
{=(role2):1210885907608117299}
{=(role3):1210885947688882216}
{=(role4):1210885987316666468}
{=(COMMENT):Checking to see if the target has any of the roles.
** DO NOT MANUALLY GIVE THE USER MULTIPLE PROMOTION ROLES. **
This will cause the tag to not respond.}
{=(checks):{contains({role1}):{target(roleids)}} {contains({role2}):{target(roleids)}} {contains({role3}):{target(roleids)}} {contains({role4}):{target(roleids)}}}
{=(COMMENT):Checking what promotion rank they're at.}
{=(has.0):{in(false false false false):{checks}}}
{=(has.1):{in(true false false false):{checks}}}
{=(has.2):{in(false true false false):{checks}}}
{=(has.3):{in(false false true false):{checks}}}
{=(has.4):{in(false false false true):{checks}}}
{=(COMMENT):Give first promotion rank if target has no promotion roles.
** NOTE ** Leaving the "user has promoted target to role" messages as is means they will ping that role. If you don't want it to ping, you can change the `<@&{role#}>` to plain text.
** I personally have them mentioned in order to ping the role, so people can welcome new users to their rank.}
{{if(true=={has.0}):c:role c {target(id)} +{role1}}}
{if(true=={has.0}):**{user(proper)}** has promoted **{target(proper)}** to <@&{role1}>!}
{=(COMMENT):Give next promotion rank and remove existing role.}
{{if(true=={has.1}):c:role c {target(id)} -{role1} +{role2}}}
{if(true=={has.1}):**{user(proper)}** has promoted **{target(proper)}** to <@&{role2}>!}
{{if(true=={has.2}):c:role c {target(id)} -{role2} +{role3}}}
{if(true=={has.2}):**{user(proper)}** has promoted **{target(proper)}** to <@&{role3}>!}
{{if(true=={has.3}):c:role c {target(id)} -{role3} +{role4}}}
{if(true=={has.3}):**{user(proper)}** has promoted **{target(proper)}** to <@&{role4}>!}
{if(true=={has.4}):**{target(proper)}** is already the highest rank, <@&{role4}>!}Raw JSON
{
"id": 2092853,
"created_at": "2024-08-19T02:39:33.000Z",
"tag_name": "promote",
"nsfw": false,
"owner_id": "539341919424086016",
"uses": 22,
"description": "Give your target an appropriate role based on what they already have, and report the new rank.\n\nCHANGE THESE VARIABLES:\nChange the mod roleID to match your server's.\nChange the promotion roleIDs to match your server's.\n\nDO NOT MANUALLY GIVE A USER MULTIPLE PROMOTION ROLES. This will cause the tag to not respond.",
"restricted": false,
"shared": false,
"deleted": false,
"safe": "",
"hidden": false,
"guild_id": "1082316133438341210",
"sharer": "539341919424086016",
"content": "{=():}{override}{silent}\n{=(COMMENT):Check for mod role and target mention, otherwise it breaks.}\n{{any(false=={contains(1082316265605058680):{user(roleids)}}|{user(id)}=={target(id)}):blacklist(A staff member must mention a user!):{server(id)}}}\n\n{=(COMMENT):Change these promotion role IDs to match your server.}\n{=(role1):1210885871868321882}\n{=(role2):1210885907608117299}\n{=(role3):1210885947688882216}\n{=(role4):1210885987316666468}\n\n{=(COMMENT):Checking to see if the target has any of the roles.\n** DO NOT MANUALLY GIVE THE USER MULTIPLE PROMOTION ROLES. **\nThis will cause the tag to not respond.}\n{=(checks):{contains({role1}):{target(roleids)}} {contains({role2}):{target(roleids)}} {contains({role3}):{target(roleids)}} {contains({role4}):{target(roleids)}}}\n\n{=(COMMENT):Checking what promotion rank they're at.}\n{=(has.0):{in(false false false false):{checks}}}\n{=(has.1):{in(true false false false):{checks}}}\n{=(has.2):{in(false true false false):{checks}}}\n{=(has.3):{in(false false true false):{checks}}}\n{=(has.4):{in(false false false true):{checks}}}\n\n{=(COMMENT):Give first promotion rank if target has no promotion roles.\n** NOTE ** Leaving the \"user has promoted target to role\" messages as is means they will ping that role. If you don't want it to ping, you can change the `<@&{role#}>` to plain text.\n** I personally have them mentioned in order to ping the role, so people can welcome new users to their rank.}\n\n{{if(true=={has.0}):c:role c {target(id)} +{role1}}}\n{if(true=={has.0}):**{user(proper)}** has promoted **{target(proper)}** to <@&{role1}>!}\n\n{=(COMMENT):Give next promotion rank and remove existing role.}\n{{if(true=={has.1}):c:role c {target(id)} -{role1} +{role2}}}\n{if(true=={has.1}):**{user(proper)}** has promoted **{target(proper)}** to <@&{role2}>!}\n\n{{if(true=={has.2}):c:role c {target(id)} -{role2} +{role3}}}\n{if(true=={has.2}):**{user(proper)}** has promoted **{target(proper)}** to <@&{role3}>!}\n\n{{if(true=={has.3}):c:role c {target(id)} -{role3} +{role4}}}\n{if(true=={has.3}):**{user(proper)}** has promoted **{target(proper)}** to <@&{role4}>!}\n\n{if(true=={has.4}):**{target(proper)}** is already the highest rank, <@&{role4}>!}",
"embed": "{}",
"last_fetched": "2026-10-20T19:43:32.582Z"
}