[TCL] Auto identify NickServ after Change Nick

Jumat, 28 Maret 2014

[TCL] Auto identify NickServ after Change Nick

Maaf judul di atas harusnya Auto identify NickServ after Auto Change Nick ;)
Karena [TCL] Auto Indentify with Change Nick Masih Uji coba atau test :D dan hasil test masih belum maksimal dan ada beberapa bug yang belum ke fix, maka itu dari saya akan melakukan rencana B ;)
apa rencana B itu, sebetulnya mudah, hanya belum mengerti saja, sebelumnya sudah mengerti hanya ada yang salah saja dan kesalahan itu belum juga di temukan :D maka itu dari :D ini TCL emergency atau darurat ea --" TCL ini berfungsi sama, yaitu merubah nick dan mengidentifikasikan dengan NickServ, hanya kerjanya yang jauh berbeda, pada Scripts TCL yang pertama kemarin dimana kerja scripts ini sangat bisa saya katakan sangat jadul, hehe karena script ini hanya berkerja oleh waktu (idle) yang akan mengganti nick, iya Logika saya adalah memanfaatkan NickServ, begitu kita mengganti nick maka NickServ akan memberi sebuah notice pada kita yang perintahnya untuk mengidentifikasi nick kita (jika nick registered) tapi jika belum ya lain cerita :) jadi saya memanfaatkan waktu idle bot untuk merubah nick bot dan ketika bot merubah nick maka bot akan menerima sebuah pesan dari NickServ (jika service tidak down) untuk mengindentifikasi nick bot itu, lalu saya membuat bot merespon dengan notice yang dikirim NickServ tersebut dengan menjalankan aksi yang sudah di tentukan pada tersebut, berarti logikanya adalah respon yang diterima sama dan aksi yang akan dijalankan bot juga sama, katakanlah bot menerima respon 1 maka bot akan menjalankan aksi 1, di sini saya tidak bisa membuat random aksi karena ini berhubungan dengan password yang jika salah akan gagal, maka dari itu, saya membuat berurutan >next, lalu bagaimana? karena di sini saya menggunakan satu aksi untuk satu respon berarti anda harus mengganti password nick (yang ingin di masukkan daftar) sama :) sebetulnya bisa berbeda, hanya bot akan mengalami lag yang berpanjangan mungkin, karena jika melihat dari scipts yang segitu jika kita ingin membuat 3 nick berarti 3 dari nick itu mempunyai tcl sendiri² :) bingung ya?? langsung saja wiss,, ini TCL nya,, oh ya ini juga masih uji coba :P

#########################################################################################
# Name            : botidnick16.tcl
# Versi            : 2.7.3.14 (Beta)
# Description : Update from http://eg-goez.blogspot.com/2014/03/tcl-auto-indentify-with-change-nick.html
# Author          : eggoez
# Email          : eggoez@about.me
# WebBlog          : eggoez.com
# Thanks for tRiNe :* and ArDiaN (AllNet)
###########################################################################################

# waktu ganti nick (/nick)
set nchange(mins) 10

# konfigurasi password master
set masterpass "passmaster"

# daftar nick
set nchange(nicks) {
nick1 pass1
nick2 pass2
nick3 pass3
}
# AllNetwork
foreach ntimer [timers] {
if {[string match -nocase "*change:nick*" [lindex $ntimer 1]]} {
killtimer [lindex $ntimer 2]
}
}
timer $nchange(mins) [list change:nick $nchange(nicks) $nchange(mins)]
set nchange(length) 0
putlog "report to eg-goez.blogspot.in"
proc change:nick {nicks mins} {
global nick nchange
set nchange(length) [expr {$nchange(length)%[llength $nicks]}]
set nick [lindex $nicks $nchange(length)]
set nchange($nick) [lindex $nicks [incr nchange(length)]]
incr nchange(length)
timer $mins [list change:nick $nicks $mins]
}
putlog "Thanks tRiNe aka catHy & ArDiaN"
bind nick - * identify:nick
putlog "#ciut irc.allnetwork.org"
proc identify:nick {n uhost hand chan nn} {
global nchange
if {[isbotnick $nn] && [info exists nchange($nn)]} {
putserv "NickServ :identify [lindex $nicks $nchange(length)]"
unset nchange($nn)
}
}
# http://eg-goez.blogspot.com/2010/06/tcl-auto-act-if-have-notice-respons.html
# spesial 4 AllNetwork 2014
bind notc - "*This nickname is registered*" autoident
bind notc - "*Please identify via*" autoident
bind notc - "*You are now identified for*" compautoident
proc autoident {nick uhost hand text dest} {
  putserv "PRIVMSG NickServ :identify $masterpass"
}
putlog "Auto Nick Change + Identify Loaded"

# konfigurasi yang ingin dikabarkan bot ketika berhasil mengeksekusi respon
proc compautoident {nick uhost hand text dest} {
  putquick "PRIVMSG #ciut :Identifikasi nick berhasil.."
}
Semoga bermanfaat ;)

Tulisan yang banyak dilihat bulan ini