Maybe posting the script inside code tags for us would help.
The lifecycle of a noob is complex. Fledgling noobs gestate inside biometric pods. Once a budding noob has matured thru gestation they climb out of their pod, sit down at a PC, ask a bunch of questions that are clearly in the FAQ, The Noob is born
################################################################################################
################################################################################################
################################################################################################
#### ####
#### ICQ-drop Ver 1.8 GeC on IRCnet (gec@raw.scene.org) May 18 2002 ####
#### Added check if user used a valid ICQ number (number check only) ####
#### Added better configurable feedback messages ####
#### Added website results, check if the message is really send ####
#### Added if-op for icqsend number / user ####
#### Proc location_filter added ####
#### Todo: full ICQ protocol implementation ####
#### ####
#### ICQ-drop Ver 1.7 GeC on IRCnet (gec@raw.scene.org) Apr 3 2002 ####
#### Added recipient can be an ICQ number (also security bug!) ####
#### Added help if no parameters are found ####
#### Added escape uri with that ####
#### Proc go_connect completely rewritten (require http now) ####
#### Todo: if-op for icqsend number / user ####
#### Todo: check if user used a valid ICQ number ####
#### Todo: check website results, is message really send? ####
#### ####
#### ICQ-drop Ver 1.6 GeC on IRCnet (gec@raw.scene.org) Apr 2 2002 ####
#### Fixed code for new ICQ webapp. ####
#### Fixed fromemail + header in message ####
#### Added channel to header & fromemail ####
#### Added some extra info for log ####
#### Todo: Escape uri ####
#### ####
#### ICQ-drop Ver 1.5 simple on Undernet (simple@utw.com) Mar 06 1999 ####
#### Cleaned up the sloppy code and changed up some of the fields, also added a ####
#### public bind just for fun, because it was easy to do. Variable names are now ####
#### also much clearer and easier to understand. Kudos to ^Dark^ for this great idea ####
#### ####
#### ICQ-drop Ver 1.0 ^DaRk^ on EFnet (Darkbringer@Rocketmail.com) (Edited by Xanith) ####
#### For Eggdrop 1.3.* ####
#### as always: the code IS sloppy since im teaching myself TCL as i go... ####
#### learned another 30 or so new commands while making this script heh ####
#### ####
#### This script is simple in theroy (took me forever to make it actually work outside of ####
#### Theroy though) the bot is able to create a raw socket to ICQ's web server and ####
#### post to their CGI exactly (almost) as one would to submit a WWPager message. ####
#### people are able to have the bot send you ICQ messages when youre not on IRC. ####
#### the possibilities with this script are virtualy limitless depending on what you ####
#### wish to be notified about. the only requirements are that you run a slightly ####
#### edited userinfo1.0.tcl <included> (to add the ICQ field in XTRA) and that you ####
#### and/or any other user on the bot defines their ICQ UIN# with the .icq <UIN#> ####
#### command. ####
#### ####
################################################################################################
################################################################################################
#### ####
#### Syntax: ####
#### MSG: /msg <bot> icqsend <recipient> <message> ####
#### PUB: !icqsend <recipient> <message> ####
#### DCC: .icqsend <recipient> <message> ####
#### ####
################################################################################################
################################################################################################
#### ####
#### Extra thanks to Gecko and Noob from #TCL who helped me ALOT with the sockets and ####
#### regsub commands, and never once losing patients with my constant questions (I ####
#### really DO know how to add in TCL, i just temporarily forgot) ####
#### ####
#### Greetz to my bros ReJeCt-, DarKni9hT, _Tenchi_, and Frmbob ####
#### ####
#### Still much hate to reddog`` who still holds my chan :/ ####
#### ####
################################################################################################
################################################################################################
package require http
set oponly 0;
set validuseronly 1;
set helpnop "you must be oper to use this function"
set helpnvu "you must be a registered user to use this function"
set helpsyntax "syntax: .icqsend <recipient> <msg>"
set helpnouser "no user by that name"
set helpnoicqfor "no ICQ # for registered for" ; # $whom
set helpisnan "is not a ICQ-number" ; # $icq
set helpsendmsg "ICQ message sent to" ; # $whom
set helpweberror "Error occured at ICQ, please refer to" ; # website $location
# bindings
bind dcc - icqsend sendicqdcc
bind msg - icqsend sendicqmsg
bind pub - !icqsend sendicqpub
# dcc
proc sendicqdcc {hand idx rest} {
global botnick
global helpsyntax helpnouser helpnoicqfor helpisnan helpsendmsg helpweberror
global helpnop, helpnvu
global oponly validuseronly
if {$oponly && (![matchattr $hand o])} {
# || ([matchchanattr $hand o $chan]))
putdcc $idx "$helpnop"
return 0
}
if {$validuseronly && (![validuser $hand])} {
putdcc $idx "$helpnvu"
return 0
}
set whom [lindex $rest 0]
if {$whom==""} {
putdcc $idx "$helpsyntax"
return 0
}
# check if user (exists) OR number
if {![validuser $whom]} {
# no user
if {[string is digit $whom]} {
set icq $whom
} else {
putdcc $idx "$helpnouser"
return 0
}
} elseif {[getuser $whom XTRA ICQ] == "" } {
putdcc $idx "$helpnoicqfor $whom"
return 0
} else {
set icq [getuser $whom XTRA ICQ ]
if {![string is digit $icq]} {
putdcc $idx "$icq $helpisnan"
return 0
}
}
# rewritten head +from (added channel)
set from "$hand@$botnick.irc"
set head "from $hand@$botnick (irc)\n"
set origmsg [lrange $rest 1 end]
set body $head
append body $origmsg
set var $body
append var $hand $from $hand
set location [go_connect $from $body $icq $head $hand]
if {[location_filter $location] != 0} {
putdcc $idx "$helpweberror $location"
putlog "$hand failed send ICQ msg to $whom on $icq"
} else {
putdcc $idx "$helpsendmsg $whom"
putlog "$hand send ICQ msg to $whom on $icq"
}
return 0
}
# pub
proc sendicqpub {nick uhost hand chan rest} {
global botnick
global helpsyntax helpnouser helpnoicqfor helpisnan helpsendmsg helpweberror
global helpnop, helpnvu
global oponly validuseronly
if {$oponly && !(([matchattr $hand o]) || ([matchchanattr $hand o $chan]))} {
putserv "NOTICE $nick :$helpnop"
return 0
}
if {$validuseronly && (![validuser $hand])} {
putserv "NOTICE $nick :$helpnvu"
return 0
}
set whom [lindex $rest 0]
if {$whom==""} {
putserv "NOTICE $nick :$helpsyntax"
return 0
}
# check if user (exists) OR number
if {![validuser $whom]} {
# no user
if {[string is digit $whom]} {
set icq $whom
} else {
putserv "NOTICE $nick :$helpnouser"
return 0
}
} elseif {[getuser $whom XTRA ICQ] == "" } {
putserv "NOTICE $nick :$helpnoicqfor $whom"
return 0
} else {
set icq [getuser $whom XTRA ICQ ]
if {![string is digit $icq]} {
putserv "NOTICE $nick :$icq $helpisnan"
return 0
}
}
# rewritten head +from (added channel)
set fromchan [string trimleft $chan "#"]
set from "$hand@$fromchan.$botnick.irc"
set head "from $hand@$botnick $chan (irc)\n"
set origmsg [lrange $rest 1 end]
set body $head
append body $origmsg
set var $body
append var $hand $from $botnick
set location [go_connect $from $body $icq $head $hand]
if {[location_filter $location]!=0} {
putserv "NOTICE $nick :$helpweberror $location"
putlog "$hand failed send ICQ msg to $whom on $icq"
} else {
putserv "NOTICE $nick :$helpsendmsg $whom"
putlog "$hand send ICQ msg to $whom on $icq"
}
return 0
}
# msg
proc sendicqmsg {nick uhost hand rest} {
global botnick
global helpsyntax helpnouser helpnoicqfor helpisnan helpsendmsg helpweberror
global helpnop, helpnvu
global oponly validuseronly
if {$oponly && !(([matchattr $hand o]) || ([matchchanattr $hand o $chan]))} {
putserv "NOTICE $nick :$helpnop"
return 0
}
if {$validuseronly && (![validuser $hand])} {
putserv "NOTICE $nick :$helpnvu"
return 0
}
set whom [lindex $rest 0]
if {$whom==""} {
putserv "NOTICE $nick :$helpsyntax"
return 0
}
# check if user (exists) OR number
if {![validuser $whom]} {
# no user
if {[string is digit $whom]} {
set icq $whom
} else {
putserv "NOTICE $nick :$helpnouser"
return 0
}
} elseif {[getuser $whom XTRA ICQ] == "" } {
putserv "NOTICE $nick :$helpnoicqfor $whom"
return 0
} else {
set icq [getuser $whom XTRA ICQ ]
if {![string is digit $icq]} {
putserv "NOTICE $nick :$icq $helpisnan"
return 0
}
}
# rewritten head +from (added channel)
set from "$hand@$botnick.irc"
set head "from $hand@$botnick (irc)\n"
set origmsg [lrange $rest 1 end]
set body $head
append body $origmsg
set var $body
append var $hand $from $botnick
set location [go_connect $from $body $icq $head $hand]
if {[location_filter $location]!=0} {
putserv "NOTICE $nick :$helpweberror $location"
putlog "$hand failed send ICQ msg to $whom on $icq"
} else {
putserv "NOTICE $nick :$helpsendmsg $whom"
putlog "$hand send ICQ msg to $whom on $icq"
}
return 0
}
# socket procedure
#
proc go_connect {from body icq head hand} {
# rewritten by GeC / #give / IRCnet, old versions was neat but didn't do the job anymore
set url "http://web.icq.com/whitepages/page_me/1,,,00.html"
# set query "to=$icq&from=$hand&fromemail=$from&body=$body"
set query [http::formatQuery "to" $icq "from" $hand "fromemail" $from "body" $body]
# putlog "$url?$query"
http::config -useragent "User-Agent: Mozilla/4.0 (compatible; ICQdrop 1.7; Eggdrop 1.3)"
set done 0
set token [http::geturl $url -query $query -validate 1]
upvar #0 $token state
array set meta $state(meta)
http::cleanup $token
return "http://web.icq.com$meta(Location)"
}
# location filter procedure
#
proc location_filter {location} {
if {[regexp -nocase .*error.* $location]} {
# /whitepages/error/1,,pager_error,00.html
return 1; # error = true
} else {
# /whitepages/page_me_ok/0,,,00.html
return 0; # false
}
}
putlog "ICQ-Drop v1.8"
The page requires you to validate that you are human by typing in a code. the script doesn't account for that as it must be a new thing they have added to stop people / bots abusing it.
The lifecycle of a noob is complex. Fledgling noobs gestate inside biometric pods. Once a budding noob has matured thru gestation they climb out of their pod, sit down at a PC, ask a bunch of questions that are clearly in the FAQ, The Noob is born