IRC/Bots/AntiSpamMeta

From Meta, a Wikimedia project coordination wiki
< IRC‎ | Bots
(Redirected from ASM)

AntiSpamMeta is an advanced IRC-based solution for combating online interactive spam. AntiSpamMeta uses a variety of spam detection and notification techniques designed to give you the most control over your IRC life. This allows you, for example, to see that someone is spamming in one channel while you are active in another, all without changing the channel. You can think of this like picture-in-picture on your television. AntiSpamMeta is designed to be the picture inside the picture so you don't have to think about what you are doing when you are monitoring lots of channels.

AntiSpamMeta is the front-line against spam on Wikimedia channels and has been credited with reducing spam by a large factor. AntiSpamMeta has won numerous online IRC barnstars including a distinction by freenode head-of-staff christel.

Threats[edit]

Threat levels, in order of priority, are as follows: debug, info, low, medium, high, opalert Each threat contains all higher threats. Thus, if you are hilighted for debug, you will also be automatically hilighted for info, low, medium, high, and opalert. If you are hilighted for medium, you will also be hilighted for high and opalert. You get the idea.

In theory, the levels are used as such:

debug - any sort of rule I'm testing.
info - dns blacklist alerts and other early warning signs
low - rules with a significant potential for false positives, minor nuisances, internal blacklists
medium - Major problems that have a chance of being a false positive
high - Major problems with very low / no chance of being a false positive
opalert - this is exclusively used by the !ops command

The current ruleset for the bot is not public.

Commands[edit]

For everything except !ops, the trigger is ";"

Flags[edit]

a(dmin) - This gives access mainly to stuff that control key bot features, including having it perform most irc actions
d(ebug) - This is the most powerful flag, which grants the usage of extremely abuseable features
t - say, do vanity commands
o(perator) - These are useful commands, currently contains "exempt"
h(ilight) - Access to the hilight command

List of commands[edit]

hilight[edit]

hilight <CHANNEL> <NICK>[ <LEVEL>]
Adds NICK to the LEVEL-risk hilight list for CHANNEL, using low risk if level is unspecified. Use master in place of <CHANNEL> to add a user to the master list (useful for staff). To disable messages from one channel when a user is on the master list, type ;hilight <CHANNEL> <NICK> disable.
dehilight <CHANNEL> <NICK>
Removes NICK from all hilights in CHANNEL. Use master in place of <CHANNEL> to remove a user from the master list.
showhilights <NICK>
Shows all channels that NICK is hilighted on, and what levels they are hilighted for.

admin[edit]

Requiring flag 'a':

target <CHANNEL> <TARGET>[ <LEVEL>]
Adds TARGET to the LEVEL-risk message list for CHANNEL, using low risk if level is unspecified. Use with extreme discretion or risk AfterDeath's fury.
detarget <CHANNEL> <TARGET>
Removes NICK from all message lists in CHANNEL
join <CHANNEL>
part <CHANNEL>
quit[ <REASON>]
rehash
rereads config files
rehash exempts
rereads the exempt people list
userx add <NickServ acct> <FLAGS>
Assigns flags for the given nickserv account (*not* necessarily the person's nick)
Example usage: userx add Thehelpfulone ahot
This replaces the now deprecated "user add" command.
userx del <ACCT>
deletes the given user.
userx flags <ACCT>[ <FLAGS>]
sets the flags for ACCT to FLAGS, or shows the current flags. The d flag cannot be assigned without editing the configuration files.
Probably works the same as userx add

debug[edit]

sl <anything>
Sends the string to the server
ev <anything>
eval's raw perl code

vanity[edit]

say <something>
do <something>

operator[edit]

exempt <STRING>
Exempts people whose nick, ident, or host matches STRING.

all[edit]

query <CHANNEL> <NICK>!<USER>@<HOST>
Queries the mysql database to see how many times the nickuserhost has triggered an alert for CHANNEL.
Wildcards in the nick-user-host accepted.
Use '%' in place of <CHANNEL> to query against all channel's in AntiSpamMeta's database.
!ops[ <CHANNEL>][ <REASON>]
Gets attention of people are on the hilight list for the channel that !ops is called in, or the channel provided.

See also[edit]