# advanced i: different matchmodes

## ✎ what's a matchmode?

* by default, mimu only responds if your message is *exactly* your autoresponder's message.
* commonly known as "wildcard" in other bots, in order to make mimu respond to other variants of the trigger, you can use other matchmodes.

## ✎ setting a matchmode

* once you've created your autoresponder using `/autoresponder add`, you will be able to modify the matchmode. **you have to create the autoresponder before modifying the matchmode**.
* you can do so via:

`/autoresponder editmatchmode trigger:trigger matchmode:matchmode`

## ✎ what matchmodes are there?

### ♪ **exact**

* this means it only matches if the message's content is **EXACTLY** the same as the trigger; but **isn't case sensitive**. this is commonly used for [server verifications](https://docs.mimu.bot/resources/autoresponder-examples#verification-system) or custom currency commands, like [.bake](https://docs.mimu.bot/resources/autoresponder-examples#bake-command) or [.stealcookie](https://docs.mimu.bot/resources/autoresponder-examples#stealcookie-command) commands.
* by default, all autoresponders are made with exact match mode.
* ex. if your trigger is `hey mimu`, mimu will **only respond when** your message is **exactly**`hey mimu`. it will not respond to `oh hey mimu`, `oh hey mimu how are you doing`, nor `hey mimu how are you?`

### ♪ **startswith**

* this means it only matches if your message's content begins with the trigger. this is commonly used for commands with arguments, like a [steal command](https://docs.mimu.bot/resources/autoresponder-examples#steal-user-amount-command) or a [say command](https://docs.mimu.bot/resources/autoresponder-examples#say-text-command).
* ex. if your trigger is `!cuddle`, mimu will respond if your message begins with `!cuddle`. it will respond to `!cuddle @user`, `!cuddle some random person`, as well as exact match, i.e. `!cuddle`. it will not respond if it ends with it, or if it's in the middle - like `oh !cuddle` nor `oh !cuddle pog`

### ♪ **endswith**

* in essence, this is the exact opposite of what **startswith** does - it means it only matches if your message's content ends with the trigger.
* ex. if your trigger is `welcome`, mimu will only respond if your message ends with `welcome`. it will respond to `@user, welcome`, as well as just the exact match, i.e. `welcome`. however, it will not respond if it's in the middle or if it has something after the trigger, i.e. it won't respond to `welcome @user!` nor `oh, a new member! welcome @user!`

### ♪ **includes**

* this means it responds to all messages as long as the content consists of the trigger. this is mostly used for specific terms or [anti-swearing](https://docs.mimu.bot/resources/autoresponder-examples#antiswear-blacklisted-words).
* for example, if your trigger is `dumb`, then mimu will respond to ALL of the following. `dumb`, `you're dumb`, `i think that is dumb but i'm not sure`, `dumbo`, etc.
