Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; This is an automatic ban script for certain phrases
- on *;start:{
- asetup
- }
- alias asetup {
- aecho AutomaticBan script is configuring...
- .ial on
- ; 1 hour
- set %global.bantime 1800
- set %global.banmask 1
- aecho bantime is $duration(%global.bantime) [literal: %global.bantime $+ ]
- aecho banmask type is set to %global.banmask
- aecho Done.
- }
- alias aecho {
- echo -s [14[3autoscript14] $1-
- }
- ; Check if this user is exempt from being checked
- ; If the nickname is us, ignore
- ; if the address contains users.evilnet.org, ignore
- alias priv {
- var %chan = $1
- var %nick = $2
- var %addr = $3
- if (%addr == $null) {
- %addr = $address(%nick, 5)
- }
- if (%addr == $null) {
- aecho internal error, priv cannot find address for %nick
- return $true
- }
- var %level = $level(%addr)
- ; purposefully returning false to test.
- if (%nick == slink) { return $false }
- if (%level > 1) { return $true }
- else if (%nick isop $chan) { return $true }
- else if (%nick isvoice %chan) { return $true }
- else if (%nick == $me) {
- return $true
- }
- elseif (*.users.evilnet.org iswm %addr) {
- return $true
- }
- else {
- return $false
- }
- }
- alias aaddress {
- return $gettok($address($1, 0), 2, 33)
- }
- alias bannednick {
- if ($regex($1, /^[a-zA-Z]\d\d\d\d\d?$/) > 0) {
- return $true
- }
- return $false
- }
- on 1:join:#evilnet:{
- if ($priv($chan, $nick, $address) == $true) {
- return
- }
- if ($bannednick($nick) == $true) {
- aecho on_join: will ban $nick
- akban $chan $nick Flagged nickname.
- }
- }
- ; Our automatic kickban command. It will ban the person first, then kick them after with the
- ; reason specified (or Unknown reason if not specified)
- ; It will ensure that the party we are trying to kick is NOT opped, NOT voiced, and does NOT contain
- ; users.evilnet.org
- alias akban {
- var %chan = $1
- var %nick = $2
- var %reason = $3-
- var %address $aaddress(%nick)
- ; If the user is privileged (opped, voiced, or users.evilnet.org), ignore.
- if ($priv(%chan, %nick, %address) == $true) {
- aecho akban: called on privileged user: chan= $+ %chan nick= $+ %nick reason= $+ %reason
- return
- }
- echo -ag kickbanning %chan %nick %reason
- if (%reason == $null) {
- %reason = Unknown reason.
- }
- if ($me !isop %chan) {
- aecho akban called when I am not opped on %chan
- return
- }
- else if (%chan == $null) {
- aecho akban: channel and nickname are not set.
- }
- ban -u $+ %global.bantime %chan %nick %global.banmask
- .timer 1 3 kick %chan %nick %reason
- }
- ; As an example for you if you want to write your own ban phrases.
- ; This will catch any etxt that contains bad, text, here, and ends with 111
- ; wildcard example
- on *:text:*this*will*get*you*banned*if*these*words*are*in*it*:#:akban $chan $nick BAD.
- ; Contains regexes and stuff.
- ; $ indicates a regular expression search
- on $*:text:/\b[a-zA-Z0-9]+\.onion\/\d+\b/:#:{
- akban $chan $nick Not allowed!
- }
- on *:text:/GET OFF THIS IRC WITH THESE LOSERS/:#:{
- akban $chan $nick Not allowed.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement