egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

problem with icq-drop

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases
View previous topic :: View next topic  
Author Message
multikon
Voice


Joined: 19 Jun 2004
Posts: 22

PostPosted: Tue Mar 01, 2005 7:34 pm    Post subject: problem with icq-drop Reply with quote

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
View user's profile Send private message
^DooM^
Owner


Joined: 26 Aug 2003
Posts: 772
Location: IronForge

PostPosted: Tue Mar 01, 2005 7:53 pm    Post subject: Reply with quote

Freaks, no. Nothing better to do, yes Laughing

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
View user's profile Send private message Visit poster's website
multikon
Voice


Joined: 19 Jun 2004
Posts: 22

PostPosted: Tue Mar 01, 2005 8:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
^DooM^
Owner


Joined: 26 Aug 2003
Posts: 772
Location: IronForge

PostPosted: Tue Mar 01, 2005 8:46 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
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


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber