# Events

## ChatChatEvent

The event is fired whenever a public chat message is being processed and about to be sent.

## PMSendEvent

The event is fired when a private message is being processed and about to be sent.

## ChannelMentionEvent

The event is fired when a user is mentioned in a public message using a channel mention such as: @here, @everyone, @channel

## PersonalMentionEvent

The event is fired when a user is mentioned in a public message using a direct mention such as: @BlitzOffline

## MentionEvent

The event is fired whenever a user is mentioned in a public message thru a channel mention or a direct mention.

## Example

Example of a class listening to the ChatChatEvent and canceling it if the sender's name is BlitzOffline.

```java
package at.helpch.example.listener;

import at.helpch.chatchat.api.event.ChatChatEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;

public class ChatChatEventListener implements Listener {

    @EventHandler(ignoreCancelled = true)
    public void onChatChatEvent(final ChatChatEvent event) {
        if (event.user().player().getName().equals("BlitzOffline")) {
            event.setCancelled(true);
            return;
        }
    }
}

```


---

# 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://wiki.helpch.at/helpchat-plugins/chatchat/api/events.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.
