| View previous topic :: View next topic |
| Author |
Message |
multikon Voice
Joined: 19 Jun 2004 Posts: 22
|
Posted: Tue Mar 01, 2005 7:34 pm Post subject: problem with icq-drop |
|
|
Hi Freaks
Have problems with "icq-drop 1.8" script ...
i type in a channel: !icqsend <user> <message>
answer in PL: cant read "meta(location)" ?!
the codeline of this in the script: return "http://web.icq.com$meta(Location)"
can anyone help me ?
big thx[/b] |
|
| Back to top |
|
 |
^DooM^ Owner

Joined: 26 Aug 2003 Posts: 772 Location: IronForge
|
Posted: Tue Mar 01, 2005 7:53 pm Post subject: |
|
|
Freaks, no. Nothing better to do, yes
what does $meta(location) contain?
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 |
|
| Back to top |
|
 |
multikon Voice
Joined: 19 Jun 2004 Posts: 22
|
Posted: Tue Mar 01, 2005 8:40 pm Post subject: |
|
|
| Code: | ################################################################################################
################################################################################################
################################################################################################
#### ####
#### 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" | [/code] |
|
| Back to top |
|
 |
^DooM^ Owner

Joined: 26 Aug 2003 Posts: 772 Location: IronForge
|
Posted: Tue Mar 01, 2005 8:46 pm Post subject: |
|
|
Theres your problem
http://web.icq.com/whitepages/confirm/1,,,00.html
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 |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|