Code Library
Home Submit Free Hosting Link To Us Contacts

TCL Psy BNC

TCL Psy BNC TCL TCL Psy BNC Download (.zip)



# Psybnc Proxy By Thule
# Ded to my love karma^@ircnet

bind dcc w|- psy dcc:bounce

set psynotice "*IRC Client did not support a password*"

bind raw -|- NOTICE psy_connect

set psystat "off"
set psyusername "username"
set psypass "pass"
set psyawaymsg "some st00pid away reason"
set psyvhost "some.c00l.31337.vhost"
set psyproxy ""
set psyaddserver "irc.server.com:6667"
set psydelserver ""
set psyrev ""
set psyrev1 "1.1"
set psyconf "$botnick.bounce"
 
proc psy_save {} {
    global psystat psyusername psypass psyawaymsg psyvhost psyaddserver psyrev psyconf psyproxy
    set fileid [open $psyconf w]
    puts $fileid "set psystat \"$psystat\""
    puts $fileid "set psyusername $psyusername"
    puts $fileid "set psypass $psypass"
    puts $fileid "set psyvhost $psyvhost"
    puts $fileid "set psyproxy $psyproxy"
    puts $fileid "set psyaddserver $psyaddserver"
    puts $fileid "set psyrev \"$psyrev\""
    close $fileid
}
if {![file exist $psyconf]} {
    set psyrev $psyrev1
    psy_save
    putlog "PsyProxy configuration file not found : generating defalut..."
}

source $psyconf

if {$psyrev1 != $psyrev} {
    set psyrev $psyrev1
    psy_save
}

proc dcc:bounce {hand idx arg} {
global psystat psyproxy psyusername psypass psyawaymsg psyvhost psyaddserver psydelserv psyrev psyconf owner
set command [string tolower [lindex $arg 0]]
set bounce $command
putcmdlog ""
if { $command == "" } {
        putdcc $idx "+-+------=\ .:PsyProxy Status:. /=----+>"
        putdcc $idx "+-+-=-=-+"
        putdcc $idx "| |-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+>"
        putdcc $idx "| | PsyProxy ver\t: $psyrev"
        putdcc $idx "| | PsyProxy is\t: $psystat"
        putdcc $idx "| | PsyProxy pass\t: $psypass"
        putdcc $idx "| | PsyProxy awaymsg\t: $psyawaymsg"
        putdcc $idx "| | PsyProxy vhost\t: $psyvhost"
        putdcc $idx "| | PsyProxy proxy\t: $psyproxy"
        putdcc $idx "| | PsyProxy username\t: $psyusername"
        putdcc $idx "| | PsyProxy server\t: $psyaddserver"
        putdcc $idx "+-+"
        putdcc $idx "| |-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+>"
        putdcc $idx "+-+------=\ .:PsyProxy Status:. /=----+>"
}
switch -exact $command {
        "on" {
            if {$command == $psystat} {
                putdcc $idx "PsyProxy is already $command."
                return 0
            }
            set psystat "on"
            putcmdlog "$hand has turn on..."
            set bounce $command
            if {$psystat != "off"} {
            putdcc $idx "PsyProxy System enabled by $hand."
            psy_connect
            psy_save
            }
            if {$psypass == "h1tp4r4d3!"} {
                putdcc $idx "Now use '.psy pass <password>' to set the psypass password"
            }
        }
        "off" {
            if {$command == $psystat} {
                putdcc $idx "PsyProxy is already $command."
                return 0
            }
            set psystat "off"
            putcmdlog "$hand has turn off"
            set bounce $command
            if {$psystat != "on"} {
            putdcc $idx "PsyProxy System disabled by $hand."
            psy_save
            psy_stop
            }
        }
        "pass" {
            putcmdlog "$hand bounce pass \[something..\]"
            if {$psypass == [lindex $arg 1]} {
                putdcc $idx "PsyProxy pass is already [lindex $arg 1]."
                return 0
            }
            set psypass [lindex $arg 1]
            if {$psypass != ""} {
                putdcc $idx "PsyProxy pass set to $psypass."
                set psypass [encrypt $psypass $psypass]
                putdcc $idx "PsyProxy password set by $hand."
            } else {
                putdcc $idx "PsyProxy pass removed."
                putdcc $idx "PsyProxy password disabled by $hand."
            }
            psy_save
        }
        "username" {
            putcmdlog "$hand username..."
            if {$psyusername == [lindex $arg 1]} {
                putdcc $idx "PsyProxy username is $psyusername."
                return 0
            }
            set psyusername [lindex $arg 1]
            if {$psyusername != ""} {
                putdcc $idx "PsyProxy username set as $psyusername."
                putdcc $idx "PsyProxy username set by $hand."
                
            } 
            psy_save
        }
        "vhost" {
            putcmdlog "$hand changes vhost..."
            if {$psyvhost == [lindex $arg 1]} {
                putdcc $idx "PsyProxy vhost is $psyvhost."
                return 0
            }
            set psyvhost [lindex $arg 1]
            if {$psyvhost != ""} {
                putdcc $idx "PsyProxy vhost set is $psyvhost."
                putdcc $idx "PsyProxy vhost set by $hand."
                psy_vhost
            } 
            psy_save
        }
        "proxy" {
            putcmdlog "$hand changes proxy..."
            if {$psyproxy == [lindex $arg 1]} {
                putdcc $idx "PsyProxy proxy is $psyproxy."
                return 0
            }
            set psyproxy [lindex $arg 1]
            if {$psyproxy != ""} {
                putdcc $idx "PsyProxy proxy set is $psyvhost."
                putdcc $idx "PsyProxy proxy set by $hand."
                psy_proxy
            } 
            psy_save
        }
        
        "addserver" {
            putcmdlog "$hand add server $psyaddserver"
            if {$psyaddserver == [lindex $arg 1]} {
                putdcc $idx "The new server is $psyaddserver."
                return 0
            }
            set psyaddserver [lindex $arg 1]
            if {$psyaddserver != ""} {
                putdcc $idx "PsyProxy server set to $psyaddserver."
                putdcc $idx "PsyProxy server set by $hand."
                psy_server
            } 
            psy_save
        }
        
        "delserver" {
            set psydelserv [lindex $arg 1]
            if {$psydelserv == "" } {
                putdcc $idx "Number is not valid choice from 1-9."
                return 0
            }
            set psydelserv [lindex $arg 1]
            if {$psydelserv == "0" } {
                putdcc $idx "Number is not valid."
                return 0
            }
            if {$psydelserv == [lindex $arg 1]} {
                putcmdlog "$hand delete server..."        
                psy_delserver
            }
                     }
        "awaymsg" {
            putcmdlog "$hand awaymsg..."
            if {$psyawaymsg == [lindex $arg 1]} {
                putdcc $idx "Bouncer awaymsg is $psyawaymsg."
                return 0
            }
            set psyvhost [lindex $arg 1]
            if {$psyusername != ""} {
                putdcc $idx "PsyProxy awaymsg set is $psyawaymsg."
                putdcc $idx "PsyProxy awaymsg set by $hand."
                putserv "setawaynick $botnick"
            } 
            psy_save
        }
        "ver" {
            putcmdlog "$hand PsyProxy ver"
            putdcc $idx "PsyProxy version $psy_rev1 by ThuLe."

            }
        "listserver" {
            putcmdlog "$hand request PsyProxy list."
            psy_list
            }
         "help" {
            putdcc $idx "+-+--------------------=\ .:PsyProxy HeLP:. /=---------------------+>"
            putdcc $idx "+-+-=-=-=-=-+"
            putdcc $idx "| |-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+>"
            putdcc $idx "| |.Psy on                       - To set on the PsyProxy"
            putdcc $idx "| |.Psy off                   - To set off the PsyProxy"
            putdcc $idx "| |.Psy pass pass             - To set the pass in the Psybnc"
            putdcc $idx "| |.Psy addserver server:port - To set the server in the Psybnc"
            putdcc $idx "| |.Psy listserver               - To obtain the listservers on Psybnc"
            putdcc $idx "| |.Psy vhost vhost.com       - To set the vhost in the Psybnc"
            putdcc $idx "| |.Psy proxy ip:port         - To set the proxy in the Psybnc"
            putdcc $idx "| |.Psy username RealName     - To set the RealName in the Psybnc"
            putdcc $idx "| |.Psy ver                       - To show the version of PsyProxy"
            putdcc $idx "| |-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=+>"
            putdcc $idx "+-+"
            putdcc $idx "+-+--------------------=\ .:PsyProxy HeLP:. /=---------------------+>"
            return 0        
         }
}
}

proc psy_connect {from key arg} { 
global psypass botnick psyusername psynotice
  if {[string match "*Your IRC Client did not support a password*" $arg]} {
        putserv "PASS $psypass" 
        putserv "setusername $psyusername"
  }
  if {[string match "*no server add*" $arg]} {
        psy_server
  }


proc psy_vhost {} {
global psyvhost jump
        putserv "vhost $psyvhost"
        putserv "BCONNECT"
        putserv "JUMP"
}

proc psy_proxy {} {
global psyproxy jump
        putserv "proxy $psyproxy"
        putserv "BCONNECT"
        putserv "JUMP"
}

proc psy_stop {} {
     putserv "BQUIT"
     jump
     putdcc $idx "Out from Psybnc server."
}

proc psy_server {} {
global psyaddserver
        putserv "addserver [lindex [split $psyaddserver :] 0] :[lindex [split $psyaddserver :] 1]"
}

proc psy_list {} {
        putserv "LISTSERVERS"
}

proc psy_delserver {} {
global psydelserv
        putserv "delserver $psydelserv"
}
putlog "-ProxyPsyBnC by ThuLe fixed by IRCHelp.UniBG.Org Loaded"




  • TCLPsy BNC


Tatet