This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Let's finish this Bot

Requests for complete scripts or modifications/fixes for scripts you didn't write. Response not guaranteed, and no thread bumping!
Post Reply
o
opsb
Halfop
Posts: 41
Joined: Sat Sep 01, 2007 1:41 pm

Let's finish this Bot

Post by opsb »

This is my Spam BoT Script

Code: Select all

set spambotmon #channel
set spambotign "ChanServ, NickServ, MemoServ"

bind msgm -|- *http* spampvt
bind msgm -|- *irc.* spampvt
bind msgm -|- *#* spampvt
bind msgm -|- *www* spampvt
bind msgm -|- *hotmail* spampvt
bind msgm -|- *yahoo* spampvt
bind msgm -|- *gmail* spampvt

bind notc -|- *hotmail* spamnot
bind notc -|- *yahoo* spamnot
bind notc -|- *gmail* spamnot
bind notc -|- *http* spamnot
bind notc -|- *irc.* spamnot
bind notc -|- *#* spamnot
bind notc -|- *www* spamnot

bind raw - invite spaminv

proc spaminv { from nick args } { 
global botnick spambotmon spambotign 
	set nick [lindex [split $from !] 0] 
	set host [lindex [split $from !] 1] 
	set text [lindex [split [lindex $args 0]] 1] 
	if {![string match *[lindex [split $from !] 0]* $spambotign]} {
	       putserv "PRIVMSG $spambotmon :INVITE SPAM from path \2$nick ($host)\2 invited me to \2$text\2";
	} 
}

proc spampvt { nick uhost handle arg } {
global spambotmon 
	putserv "PRIVMSG $spambotmon :SpamDetected - Nick \2$nick\2 - Adresa \2$uhost\2 - Type: \2PRIVMSG\2";
	putserv "PRIVMSG $spambotmon :SpamText - $arg";
}


proc spamnot { nick uhost handle args target } {
global spambotmon spambotign
	if {![string match *$nick* $spambotign]} {
		putserv "PRIVMSG $spambotmon :SpamDetected - Nick \2$nick\2 - Adresa \2$uhost\2 - Type: \2PRIVNOTC\2";
		putserv "PRIVMSG $spambotmon :SpamText - $args";
	}
}

setudef flag mycycle 
bind time - "00 * * * *" my:cycle 
bind time - "15 * * * *" my:cycle 
bind time - "30 * * * *" my:cycle 
bind time - "45 * * * *" my:cycle 

proc my:cycle {min hour day month year} { 
  foreach chan [channels] { 
    if {[channel get $chan mycycle]} { 
      putserv "PART $chan"
      utimer 60 [list putserv "JOIN $chan"]
    }  
  } 
}
Please let's finish this.. I know I'm bored and please don't tell me for searching in TCL archive..

What I now need is to:

1. When bot receive spam, script will temporary ignore user for about 1-2 mins
2. If user who spams is on monitoring channel script will not monitor spam
3. Make comchan for user who spams with bot (if it's possible)
4. Just detect private notices as spam.. not channel notices
5. Make it when bot cycling channel that wait for 1 min, and then join again
6. That bot not trigger double for some words

like

bind msgm -|- *http* spampvt
bind msgm -|- *www* spampvt

in http://www.address.com

tiggers for http and www

thnx

I need this script like this, please :)

Sorry on my bad english

opsb
Post Reply