# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mimu.bot/autoresponder/guide/advanced-i-different-matchmodes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
