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 

linkchan need help

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Scripting Help
View previous topic :: View next topic  
Author Message
abah
Halfop


Joined: 01 Dec 2013
Posts: 61
Location: Indonesia

PostPosted: Tue Aug 30, 2016 2:49 am    Post subject: linkchan need help Reply with quote

I use this script to perform relay to 5 servers but I find in my opinion the error and need assistance so that errors are resolved

Code:
set debug 1
set debug_out 1
set shortcommands 1

bind dcc m linkchan dcc:linkchan
if {$shortcommands == 1} {bind dcc m lc dcc:linkchan}
proc dcc:linkchan {hand idx arg} {
 global nick Michelle username chanlinkchan chanlinkidx chanlinkserv chanlinknet zudith shortcommands linkchantrim
 set zudith $nick[rand 1000]
 set chan [lindex $arg 0]
 set net [lindex $arg 1]
 set serv [lindex $arg 2]
 set port [lindex $arg 3]
 if {![validchan $chan]} {
  putdcc $idx "Chan Salah"
  putdcc $idx "Gunakan: .linkchan <channel> <network> <server> \[port\]"
 } else {
  if {$serv == ""} {
   putdcc $idx "Spesifikasi Server"
   putdcc $idx "Gunakan: .linkchan <channel> <network> <server> \[port\]"
  } else {
   if {[info exists chanlinkidx]} {
    if {[valididx $chanlinkidx]} {
     putdcc $chanlinkidx "QUIT :Mengganti Server"
     killdcc $chanlinkidx
    }
   }
   if {$port == ""} {
    set chanlinkidx [connect $serv 6667]
   } else {
    if {$port != ""} {set chanlinkidx [connect $serv $port]}
   }
   set chanlinkchan $chan
   set chanlinkserv $serv
   set chanlinknet $net
   control $chanlinkidx linkchan
   putlc "USER $username 0 0  Michelle"
   putlc "NICK  zudith"
   set linkchantrim "abcdefghijklmnopqrstuvwxyzABCDEFGHIJGKLMNOPQRSTUVWXYZ1234567890 !@*.#~-_|\[\]\{\}`"
   bind part - * part:chanlink
   bind pubm - * pubm:chanlink
   bind sign - * sign:chanlink
   bind ctcp - ACTION ctcp:chanlink
   bind join - * join:chanlink
   bind nick - * nick:chanlink
   bind dcc m -linkchan dcc:-linkchan
   bind dcc m dumplinkchan dcc:dumplinkchan
   if {$shortcommands == 1} {
    bind dcc m -lc dcc:-linkchan
    bind dcc m dumplc dcc:dumplinkchan
   }
   return 1
  }
 }
}

proc dcc:dumplinkchan {hand idx arg} {
 putlc $arg
 return 1
}

proc dcc:-linkchan {hand idx arg} {
 global chanlinkidx chanlinkchan chanlinkserv chanlinknet linkchantrim shortcommands
 putlc "QUIT  i Bunuh!"
 killdcc $chanlinkidx
 linkchan:shutdown
 return 1
}

proc linkchan:shutdown {} {
 global chanlinkidx chanlinkchan chanlinkserv chanlinknet linkchantrim shortcommands
 unset chanlinkidx
 unset chanlinkchan
 unset chanlinkserv
 unset chanlinknet
 unset linkchantrim
 unbind part - * part:chanlink
 unbind pubm - * pubm:chanlink
 unbind sign - * sign:chanlink
 unbind ctcp - ACTION ctcp:chanlink
 unbind join - * join:chanlink
 unbind nick - * nick:chanlink
 unbind dcc m -linkchan dcc:-linkchan
 unbind dcc m dumplinkchan dcc:dumplinkchan
 clearqueue help
 if {$shortcommands == 1} {
  unbind dcc m -lc dcc:-linkchan
  unbind dcc m dumplc dcc:dumplinkchan
 }
}

proc putlc {arg} {
 global chanlinkidx debug_out
 if {$debug_out == 1} {putlog "linkchan> $arg"}
 putdcc $chanlinkidx $arg
}

proc linkchan {idx arg} {
 global debug nick chanlinkchan chanlinknet zudith username Michelle linkchantrim
 if {$debug == 1} {putlog "linkchan< $arg"}
 set arg2 [lindex $arg 0]
 switch $arg2 {
  PING {putlc "PONG [lindex $arg 1]"}
  ERROR {
   putserv "PRIVMSG $chanlinkchan :\0032ERROR: Closing Link"
   linkchan:shutdown
  }
 }
 switch [lindex $arg 1] {
  001 {
   putlc "MODE $zudith :+i"
   putlc "JOIN $chanlinkchan"
  }
  433 {
   set zudith $nick[rand 1000]
   putdcc $idx "NICK  zudith"
  }
  353 {puthelp "privmsg $chanlinkchan  chanlinknet NAMES list: [string trimleft [string trimleft [string trimleft $arg :] "abcdefghijklmnopqrstuvwxyzABCDEFGHIJGKLMNOPQRSTUVWXYZ1234567890 !@*.#~-_|\[\]\{\}`="] :]"}
  JOIN {puthelp "privmsg $chanlinkchan :\0033[lindex [split [lindex [split $arg2 !] 0] :] 1] ([lindex [split $arg2 !] 1]) masuk $chanlinkchan"}
  KICK {linkchan:kick $idx $arg}
  NICK {puthelp "privmsg $chanlinkchan :\0033[lindex [split [lindex [split $arg2 !] 0] :] 1] merubah nickname menjadi [string trimleft [lindex $arg 2] :]"}
  PART {puthelp "privmsg $chanlinkchan :\0033[lindex [split [lindex [split $arg2 !] 0] :] 1] ([lindex [split $arg2 !] 1]) keluar dari $chanlinkchan"}
  PRIVMSG {linkchan:privmsg $idx $arg}
  QUIT {puthelp "privmsg $chanlinkchan :\0032[lindex [split [lindex [split $arg2 !] 0] :] 1] ([lindex [split $arg2 !] 1]) keluar ([string trimleft [string trimleft [string trimleft $arg :] $linkchantrim] :])"}
 }
}

proc linkchan:privmsg {idx arg} {
 global chanlinkchan chanlinknet linkchantrim botnick network
 set nick [lindex [split [lindex [split $arg !] 0] :] 1]
 if {$nick == $botnick} {
  putlc "QUIT :Ya, ada yang salah?"
  killdcc $idx
  linkchan:shutdown
 } else {
  if {[string tolower [lindex $arg 2]] == [string tolower $chanlinkchan]} {
   set text [string trimleft [string trimleft [string trimleft $arg :] $linkchantrim] :]
   if {[string match \001*\001 $text]} {
    if {[string match \001ACTION*\001 $text]} {
     puthelp "privmsg $chanlinkchan :\0036 * $nick@$chanlinknet[string trimright [string trimleft [string trimleft $text \001ACTION] ""] \001]"
    }
   } else {
    if {[string match -nocase [lindex $text 0] !names]} {
     putlc "PRIVMSG $chanlinkchan  network NAMES list: [chanlist $chanlinkchan]"
    } else {
     puthelp "privmsg $chanlinkchan :<$nick> $text"
    }
   }
  }
 }
}

proc linkchan:kick {idx arg} {
 global zudith chanlinkchan
 if {$zudith == [lindex $arg 3]} {putlc "JOIN $chanlinkchan"}
}

proc join:chanlink {nick uhost hand chan args} {
 global network chanlinkidx chanlinkchan
 if {[info exists chanlinkidx] && [string match [string tolower $chan] [string tolower $chanlinkchan]]} {
  if {[valididx $chanlinkidx]} {putlc "PRIVMSG $chan :\0033$nick ($uhost) masuk channel $chan"}
 }
}

proc part:chanlink {nick uhost hand chan msg} {
 global network chanlinkidx chanlinkchan
 if {[info exists chanlinkidx] && [string match [string tolower $chan] [string tolower $chanlinkchan]]} {
  if {$msg != ""} {set msg ($msg)}
  if {[valididx $chanlinkidx]} {putlc "PRIVMSG $chan :\0033$nick ($uhost) keluar dari channel $chan $msg"}
 }
}

proc pubm:chanlink {nick uhost hand chan text} {
 global network chanlinkidx chanlinkchan zudith
 if {$nick == $zudith} {
  putlc "QUIT :Ya!! ada masalah?"
  killdcc $idx
  linkchan:shutdown
 } else {
  if {[info exists chanlinkidx] && [string match [string tolower $chan] [string tolower $chanlinkchan]]} {
   if {[valididx $chanlinkidx]} {
    if {[string match -nocase [lindex $text 0] !names]} {
     putlc "NAMES $chan"
    } else {
     putlc "PRIVMSG $chan :<$nick> $text"
    }
   }
  }
 }
}

proc sign:chanlink {nick uhost hand chan reason} {
 global network chanlinkidx chanlinkchan
 if {[info exists chanlinkidx] && [string match [string tolower $chan] [string tolower $chanlinkchan]]} {
  if {[valididx $chanlinkidx]} {putlc "PRIVMSG $chan :\0032$nick ($uhost) keluar ($reason)"}
 }
}

proc ctcp:chanlink {nick uhost hand dest keywork arg} {
 global network chanlinkidx chanlinkchan
 if {[info exists chanlinkidx]} {
  if {[valididx $chanlinkidx] && [string match [string tolower $dest] [string tolower $chanlinkchan]]} {
   putlc "PRIVMSG $dest :\0036 * $nick $arg"
  }
 }
}

proc nick:chanlink {nick uhost hand chan newnick} {
 global network chanlinkidx chanlinkchan
 if {[info exists chanlinkidx] && [string match [string tolower $chan] [string tolower $chanlinkchan]]} {
  if {[valididx $chanlinkidx]} {putlc "PRIVMSG $chan :\0033$nick merubah nickname menjadi $newnick"}
 }
}


error 1
when I typed in the room for example <ssasd> test the results on other servers <ZNC> <syifa> <ssasd> test

error 2
eggdrop I use ipv6 and the results when <ssasd> test is <ZNC> <Subandono> A006: c2: 3B6 :: 8ae9. PRIVMSG #somechanel: <Risna> test
Please help
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Scripting Help 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