variable system error list

a list of errors that are possible when using features involving variables ➜ (autoresponder / buttonresponder / shop replies / greet / leave / boost).

the way an autoresponder works is:

  • parse. mimu reads from ➜ right to determine what actions are needed. parsing is done serially and conquentially; allowing mimu to form an ordered plan of execution for the AR.

    • during this phase, small errors are caught and already visible. these errors are usually found in previews; such as /autoresponder show. parsing errors

  • replace. mimu substitutes placeholders (e.g. {user}) to their real values (e.g. @iara).

    • there are very, very few limitations to placeholders; they rarely have any errors. placeholder errors

  • verify. mimu checks for all required permissions and that other conditions are met.

  • run. when, and only when all the above are good ➜ mimu runs the functions in strict chronological order.

because of how unique and complicated autoresponders work, you may run into errors of all types. this place serves as an index of all such errors.

parsing errors

these refer to errors that happen at the first step; typically due to inconsistent information or wrong information being passed into function variables (such as typing gibberish where a number is expected).

while these errors should be paid attention to, it is important to be reminded that errors shown in previews may not be representative of a full error, but more of a warning.

sometimes parsing does not have things determined yet; such as arguments with [$N] are not properly set in an /autoresponder show. it is strongly recommended for you to run the autoresponder or /send first.

error code
description
limiting variable

MODIFYINV_ERROR : INVALID_MODIFY_AMOUNT

the amount you specified for an inventory change is not a valid number (for example, sdjfkdsjf)

{modifyinv:}

ITEM_ERROR : TOO_MANY_ITEM_USER_DENY

autoresponders can only deny up to 3 users' inventory items.

{denyitem:}

ROLE_ERROR : INVALID_ROLE_PROVIDED

one of the roles you used in your addrole / removerole configuration is invalid or could not be resolved by mimu.

{addrole:} and {removerole:}

ROLE_ERROR : INVALID_ROLE_POSITION

mimu’s highest role is below the role you are trying to add or remove, so discord does not allow the action.

{addrole:} and {removerole:}

EMBED_ERROR : EMBED_NOT_FOUND

the premade embed name you used does not exist, or the embed color / object is missing. mimu cannot find the embed to render.

{embed:}

INVALID_ROLE

a role you provided is not valid or could not be found in the server. this usually happens if:

  • the role id / mention / name is wrong

  • the role was deleted

  • mimu can’t resolve it from the text you typed

{requirerole:} and {denyrole:}

INVALID_PERMISSION

the permission name you provided is not a valid discord permission. for example: ADMINSTRATOR instead of ADMINISTRATOR.

{requireperm:} / {denyperm:}

CHANNEL_ERROR: INVALID_CHANNEL

the autoresponder is used in a channel not listed in {requirechannel:}

{requirechannel:}

CHANNEL_ERROR: DENIED_CHANNEL

the autoresponder is used in a channel listed in {denychannel:}

{denychannel:}

USER_ERROR: REQUIRED_USER_MISMATCH

the invoking user is not listed in {requireuser:}

{requireuser:}

USER_ERROR: DENIED_USER

the invoking user is listed in {denyuser:}

{denyuser:}

ROLE_ERROR: DENIED_ROLES

the member has a role listed in {denyrole:}

{denyrole:}

PERMISSION_ERROR: INSUFFICIENT_PERMISSIONS

the member does not have the permissions listed in {requireperm:}

{requireperm:}

PERMISSION_ERROR: DENIED_PERMISSIONS

the member has a permission listed in {denyperm:}

{denyperm:}

ITEM_ERROR: DENIED_ITEM

the user has an item or amount blocked by {denyitem:}

{denyitem:}

CHANNEL_ERROR : INVALID_CHANNEL

the channel you provided is invalid or could not be found in the server. this can happen if:

  • the channel id / mention / name is wrong

  • the channel was deleted

  • mimu doesn’t have access to see that channel

{requirechannel:} / {denychannel:}

CANNOT_SEND_TO_CHANNEL

mimu is missing send messages or view channel

{sendto:} or current channel

CANNOT_SEND_EMBED_TO_CHANNEL

missing embed links permission in the channel

[may be altered with {sendto:} as well] {embed:}

INVALID_USER

the user you provided is invalid or could not be found in the server. this can happen if:

  • you typed an id / mention that doesn’t exist

  • the user left the server

  • mimu can’t resolve the input text to a member

placeholders or configs that expect a valid user (e.g. {requireuser:}, user-based args etc, or anything parsing a member from text).

INVALID_USER_REQUSER

you used {requireuser:user|not_valid_user} but the not_valid_user input was not a valid user.

{requireuser:}

INVALID_USER_DENYUSER

you used {denyuser:user|not_valid_user} but the not_valid_user isn't valid.

{denyperm:}

INVALID_USER_REQPERM

you used {requireperm:user|not_valid_user} but the not_valid_user isn't valid.

{requireperm:}

INVALID_USER_DENYPERM

you used {denyperm:user|not_valid_user} but the not_valid_user isn't valid.

{denyperm:}

INVALID_USER_REQROLE

you used {requirerole:user|not_valid_user} but the not_valid_user isn't valid.

{requirerole:}

INVALID_USER_DENYROLE

you used {denyrole:user|not_valid_user} but the not_valid_user isn't valid.

{denyrole:}

INVALID_USER_REQBAL

you used {requirebal:amount|user} but the user part could not be resolved to a valid member.

{requirebal:}

INVALID_USER_REQITEM

you used {requireitem:item|amount|user} but the target user could not be resolved to a valid member.

{requireitem:}

INVALID_USER_DENYITEM

you used {denyitem:item|amount|user} but the target user could not be resolved to a valid member.

{denyitem:}

INVALID_USER_IS_BOT

you tried to modify a balance or inventory for a bot user, which is not allowed.

{modifybal:} or {modifyinv:}

INVALID_ITEM_NAME or INVALID_ITEM

you used {user_item:} or {user_item_count:} without a valid item name or id. typically:

  • the item name part is blank, or

  • the placeholder couldn’t parse the item name at all

{user_item:} {user_item_count:}

INVALID_ITEM_AMOUNT

inside {modifyinv:}, the amount (middle part) is not a valid number. for example: {modifyinv:sword|abc|@user} wwhere abc is not a number.

{modifyinv:}

INVALID_SHOP_ITEM_ID

you tried to add inventory with {modifyinv:item|amount|user} using an item id / name that doesn’t match any valid shop product.

{modifyinv:}

INVALID_INVENTORY_ITEM

you tried to remove inventory with {modifyinv:} using an item name / id that the user does not have.

user doesn't have this item in inventory

INVALID_INV_OPERATION

you used {modifyinv:} with an invalid operator. valid operators are + and -. anything else will error.

{modifyinv:}

INVALID_AMOUNT

inside {modifybal:}, the amount is not a valid number. e.g. {modifybal:abc} or {modifybal:+abc|@user}.

{modifybal:}

INVALID_BAL_OPERATION

you used {modifybal:} with an invalid operator. valid ones are: +, -, *, /, =.

{modifybal:}

TOO_MANY_EMBEDS

you tried to use {embed} more than the allowed number of times in a single autoresponder. the total premade embed count is capped at 10.

{embed:}

NO_BUTTON_NAME_PROVIDED

you used {addbutton:} without specifying a button name.

{addbutton:}

INVALID_BUTTON_NAME

you used {addbutton:name} but that name does not match any existing saved buttonresponder.

{addbutton:}

NO_LINKBUTTON_TEXT_PROVIDED

you used {addlinkbutton:label|link} without a text label.

{addlinkbutton:}

NO_LINKBUTTON_URL_PROVIDED

you used {addlinkbutton:text|} without a url, url is missing

{addlinkbutton:}

LINKBUTTON_INVALID_URL_PROVIDED

the url you provided to {addlinkbutton:} is not a valid url. it needs to start with http and be a full link like https://mimu.bot/

{addlinkbutton:}

INVALID_CHOICES

you used {choose} (or {choose1}, {choose2}, etc) but didn’t provide at least 2 valid choices separated by |.

{choose:}

INVALID_ORIGINAL_CHOICE_FOR_LOCK

you tried to use {lockedchoose} before a valid {choose} was set for that slot. since there’s no original choice index to “lock” to, it can’t work.

{lockedchoose:}

INSUFFICIENT_LOCKED_CHOICES

you used {lockedchoose:a|b|c} but there isn’t a corresponding choice at the original random index. for example, if the original {choose} picked the third item, but your locked list only has 2 items.

{lockedchoose:} list is shorter than {choose:} list.

INVALID_WEIGHTS

you used {weightedchoose:} but the weights are invalid. for example:

  • non-numeric entries

  • negative numbers

  • all weights are zero

  • nothing parseable as a number

{weightedchoose:}

INSUFFICIENT_WEIGHTS_FOR_CHOOSE

you provided fewer weights than there are choices attached to that slot. for example, {choose:a|b|c} then {weightedchoose:1|2}.

{weightedchoose:}

INSUFFICIENT_RANGE

you used {range:start-end} but:

  • start or end is not a valid number, or

  • start is greater than end

{range:}

expected errors (missing arguments / perms etc)

these refer to errors that are not breaking, and are intended to provide more clarity to the user running the trigger (whether that is an autoresponder or a buttonresponder or what else).

these usually mean:

  • the autoresponder is working as designed,

  • but some requirement for it to run was not met (roles, balance, items, arguments, permissions, etc).

error code
description
limiting variable

ROLE_ERROR : INSUFFICIENT_ROLES

you tried to run an autoresponder that requires at least one role, but the user running it does not have any of the required roles.

{requirerole:}

BALANCE_ERROR : INSUFFICIENT_BALANCE

a user did not have enough currency for the autoresponder to run. for example:

iara needs (at least) 10 💰 for this autoresponder to run.

{requirebal:}

INVENTORY_ERROR : INSUFFICIENT_ITEM

a user is missing an item, or does not have enough of that item, for the autoresponder to run successfully. for example:

xyz needs 1 × apple for this autoresponder to run successfully.

{requireitem:}

ARGUMENT_ERROR : INVALID_ARGUMENTS

one or more of the required arguments to your autoresponder are invalid or missing. the error message will tell you which argument failed, and (if possible) show what you typed, e.g.:

the 2nd argument is not a valid number. you wrote abc.

{requirearg:}

MODIFYBAL_ERROR : INVALID_MODIFY_AMOUNT

the amount you tried to set a balance to is not a valid number.

{modifybal:}

placeholder errors

very rare but sometimes occurs — pay attention to these!

error code
description
variable

BAL_ERROR : TOO_MANY_BAL_REQS

autoresponders can only check for up to 3 user balances.

{user_balance:}

ITEM_ERROR : TOO_MANY_ITEM_USER_REQS

autoresponders can only require up to 3 users' inventory items

{requireitem:}

runtime errors

these are errors that occur during the running of the autoresponder, at the last step. it is strongly recommended to pay attention to these. ⚠️

error code
description
variable

ROLE_ERROR : INVALID_MIMU_PERMISSION

mimu tried to add or remove roles, but does not have the Manage Roles permission in that server.

{addrole:} or {removerole:}

SETNICK_ERROR : INVALID_MIMU_PERMISSION

mimu tried to change someone’s nickname, but does not have the Manage Nicknames permission in that server.

{setnick:}

ADDREACTION_ERROR : INVALID_MIMU_PERMISSION

mimu tried to react with emojis to a message or reply, but does not have the Add Reactions permission in that channel.

{reactreply:} or {react:}`

MESSAGE_ERROR : CANNOT_DELETE_MESSAGE

the autoresponder tried to delete the trigger message, but:

  • mimu does not have Manage Messages, or

  • the message was already deleted.

{delete} or {deletereply:}

MESSAGE_ERROR : CANNOT_MESSAGE_USER

the autoresponder tried to dm the user, but could not, usually because:

  • the user has dms disabled for the server, or

  • the user left the server.

{dm:}

MODIFYINV_ERROR : TOO_MANY_MODIFICATIONS

the autoresponder is trying to modify more than 6 user–item pairs in a single run. this is capped for safety.

{modifyinv:}

MODIFYINV_ERROR : EXCEED_MODIFYINVENTORY_AMT_NOPREM

on non-premium servers, autoresponder inventory changes will not apply if the amount exceeds 10,000 for that item.

{modifyinv:}

MODIFYINV_ERROR : EXCEED_MODIFYINVENTORY_AMT

autoresponder inventory changes will not apply if the amount of the item exceeds 1,000,000,000,000 (1 trillion).

{modifyinv:}

MODIFYBAL_ERROR : TOO_MANY_MODIFICATIONS

the autoresponder is trying to modify balances for more than 3 users at once. this is capped for safety.

{modifybal:}

MODIFYBAL_ERROR : EXCEED_MODIFYBAL_AMT_NOPREM

on non-premium servers, autoresponder balance changes are limited to ±100,000. if the change is bigger, it will not be applied.

{modifybal:}

MODIFYBAL_ERROR : EXCEED_MODIFYBAL_AMT

autoresponder balance changes are limited to ±1,000,000,000. above that, the change will not be applied.

{modifybal:}

ROLE_ERROR : TOO_MANY_USERS

you tried to add or remove roles for more than 3 users at once in a single autoresponder.

{addrole:} and {removerole:}

ROLE_ERROR : TOO_MANY_ROLES

you tried to add / remove more than 10 roles for a single user at once.

{addrole:} and {removerole:}

SETNICK_ERROR : TOO_MANY_NICKNAMES

you tried to modify nicknames for more than 3 users in a single autoresponder run.

{setnick:}

SETNICK_ERROR : NICKNAME_TOO_LONG

the nickname you tried to set is longer than 32 characters, which discord does not allow.

{setnick:}

SETNICK_ERROR : INVALID_ROLE_POSITION

mimu tried to change the nickname of someone higher than or equal to its own role, or the server owner. discord blocks this.

{setnick:}

ADDREACTION_ERROR : TOO_MANY_REACTIONS

an autoresponder is trying to add more than 5 reactions to the trigger message or reply.

{react:} or {reactreply:}

ADDREACTION_ERROR : INVALID_EMOJI

at least one emoji you tried to react with is invalid or not accessible to mimu (e.g. from a server mimu is not in).

{react:} or {reactreply:}

MESSAGE_ERROR : MESSAGE_TOO_LONG

the final text content of your autoresponder is over discord’s 4000 character limit for a single message.

n/a

MESSAGE_ERROR : EMBED_DESCRIPTION_TOO_LONG

the description of one of your embeds is longer than discord’s limit of 4096 characters.

{embed:} (custom embed)

MESSAGE_ERROR : TOO_MANY_EMBED_CHARACTERS

the combined text across all embeds (titles, descriptions, fields, footers, authors) exceeds discord’s overall embed character limit (6000 chars).

{embed:}

BUTTON_ERROR : TOO_MANY_BUTTONS

you tried to create more than 25 buttons in a single autoresponder response (discord limit: 5 buttons × 5 rows).

{addbutton:} {addlinkbutton:}

Last updated

Was this helpful?