# GRNet's Spam Hunter

**Category:** Eggdrop_Bot
**Original Author:** Frozen (awyeah)

## Description
This script is designed to monitor channels for spam advertisements and flooders, automatically reporting them to a designated report channel. It can also forward private messages received by the bot.

## Key Features
- Detects and reports spam advertisements based on predefined wordlists.
- Exempts specific users or nicks from being reported.
- Allows customization of punishment methods (e.g., kick, ban).
- Supports multiple types of channel interfaces for detecting advertisements.

## File Analysis
- **GRNet-SpamHunter.tcl** — Contains the core logic and configuration settings for spam detection and reporting. It defines triggers, exceptions, and handling mechanisms for different types of messages.
- **reportchan** — Sets the report channel where detected spam is reported.
- **advertisetype** — Configures whether to monitor user-defined or all channels.
- **advertisechans** — Specifies which channels the script should monitor if `advertisetype` is set to 1.
- **advertiseactivate** — Determines how the bot will detect advertisements (text, actions, notices).
- **advertiseexceptions** — Lists exceptions for certain words that should not be reported as spam.
- **advertisewords** — Defines the wordlist used to identify potential spam advertisements.
- **advertisepunish** — Configures the method of punishment for detected spammers (e.g., kick, ban).
- **advbanmask** — Sets the type of ban mask to use when banning advertisers.
- **advertisebantime** — Specifies the duration of the ban in minutes.
- **advkickswitch** — Enables or disables a custom kick message.
- **advkickmsg** — Customizes the kick message if `advkickswitch` is enabled.
- **advexopswitch** — Exempts channel operators from being reported.
- **advexvoiceswitch** — Exempts channel voices from being reported.
- **advexflagswitch** — Exempts specific user flags (e.g., bot owners, ops) from being reported.
- **advexflags** — Specifies which user flags should be exempted.
- **advnickswitch** — Exempts specific nicks from being reported.