Chat Filter

IntermediateUtility

Filters chat messages based on keywords. Demonstrates chat event handling and message filtering.

12 min read

What It Does

Filters chat messages based on keywords. Demonstrates chat event handling and message filtering.

Source Code

java
1package com.example;
2
3import net.runelite.api.Client;
4import net.runelite.api.events.ChatMessage;
5import net.runelite.client.eventbus.Subscribe;
6import net.runelite.client.plugins.Plugin;
7import net.runelite.client.plugins.PluginDescriptor;
8import javax.inject.Inject;
9
10@PluginDescriptor(
11    name = "Chat Filter",
12    description = "Filters chat messages"
13)
14public class ChatFilterPlugin extends Plugin {
15    @Inject
16    private Client client;
17
18    private final String[] filterWords = {"spam", "advertisement"};
19
20    @Subscribe
21    public void onChatMessage(ChatMessage event) {
22        String message = event.getMessage().toLowerCase();
23        for (String word : filterWords) {
24            if (message.contains(word)) {
25                // Hide message by not processing it
26                return;
27            }
28        }
29        // Process normal messages
30    }
31}

Code Annotations

Line 18

Keywords to filter

Line 21

Listen for chat messages

Line 24

Check if message contains filter words

API Classes Used

ChatMessage
Client

Key Concepts

  • Keywords to filter
  • Listen for chat messages
  • Check if message contains filter words

Next Steps

  • Learn about ChatMessage events
  • Add configurable filter list
  • Implement message hiding