Geliştirilebilir bir online takip sistemi hazırladım.
Önerilerinizi, isteklerinizi yazarak bu sistemi geliştirebiliriz.
&top10, &sıfırla, &obilgi eklendi.
Süre çevirmelerinde yenilik yapıldı.
&bilgi komutunda yenilik yapıldı.
Bazı buglar çözüldü.
[00:25:06] <LBot> 1. Lociz(47 dk 42 sn), 2. L10(27 dk 38 sn), 3. L2(27 dk 26 sn), 4. LBot(3 dk 18 sn), 5. L9(3 dk 16 sn), 6. L8(3 dk 11 sn), 7. L6(2 dk 57 sn), 8. L7(2 dk 55 sn)
[00:25:42] <LBot> Lütfen kullanıcı adı giriniz.
[00:25:52] <LBot> Lociz kullanıcısının takip bilgileri sıfırlanmıştır.
[00:27:38] <LBot> Lociz kullanıcısı takip listesinden çıkartılmıştır.
[00:27:43] <LBot> 04/03/2014 - 00:27:38: Lociz adlı kullanıcıyı takip listesinden çıkardı.
&bilgi yazınca artık yazan kişinin bilgisi verilecek, başkasınınkini öğrenmek istiyorsa &bilgi KullanıcıAdı şeklinde kullanılmaya devam edilecek.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:text:*:%opchan: {
if ($1 == &ekle) {
if (!$ini(operator.ini,$nick)) && ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($ini(operator.ini,$nick)) || ($nick == %master) {
if (!$2) { msg $chan 2Lütfen kullanıcı adı giriniz. }
if ($2) {
if ($ini(follow.ini,$2)) { msg $chan 2 $2 kullanıcısı $readini(follow.ini,$2,addop) tarafından $readini(follow.ini,$2,adddate) tarihinde $readini(follow.ini,$2,addtime) saatinde takip listesine eklenmiş. }
if (!$ini(follow.ini,$2)) { msg $chan 2 $2 kullanıcısı takip listesine eklendi. | followadd $2 $nick $date $time $chan }
}
}
}
if ($1 == &oekle) {
if ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($nick == %master) {
if (!$2) { msg $chan 2Lütfen kullanıcı adı giriniz. }
if ($2) {
if ($ini(operator.ini,$2)) { msg $chan 2 $2 zaten bir operatör. }
if (!$ini(operator.ini,$2)) { msg $chan 2 $2 kullanıcısı operatör olarak eklendi. | operatoradd $2 $nick $date $time $chan }
}
}
}
if ($1 == &osil) {
if ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($nick == %master) {
if (!$2) { msg $chan 2Lütfen kullanıcı adı giriniz. }
if ($2) {
if (!$ini(operator.ini,$2)) { msg $chan 2 $2 kullanıcısı operatör listesinde yok. }
if ($ini(operator.ini,$2)) { msg $chan 2 $2 kullanıcısının operatör yetkisi kaldırıldı. | operatordel $2 $nick $date $time $chan }
}
}
}
if ($1 == &olist) {
if ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($nick == %master) { operatorlist $chan $nick $date $time }
}
if ($1 == &top10) {
if (!$ini(operator.ini,$nick)) && ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($ini(operator.ini,$nick)) || ($nick == %master) { topten $chan $nick $date $time }
}
if ($1 == &sil) {
if (!$ini(operator.ini,$nick)) && ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($ini(operator.ini,$nick)) || ($nick == %master) {
if (!$2) { msg $chan 2Lütfen kullanıcı adı giriniz. }
if ($2) {
if (!$ini(follow.ini,$2)) { msg $chan 2 $2 kullanıcısı takip listesinde zaten bulunmuyor. }
if ($ini(follow.ini,$2)) { msg $chan 2 $2 kullanıcısı takip listesinden çıkartılmıştır. | followdel $2 $nick $date $time $chan }
}
}
}
if ($1 == &sıfırla) {
if (!$ini(operator.ini,$nick)) && ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($ini(operator.ini,$nick)) || ($nick == %master) {
if (!$2) { msg $chan 2Lütfen kullanıcı adı giriniz. }
if ($2) {
if (!$ini(follow.ini,$2)) { msg $chan 2 $2 kullanıcısı takip listesinde bulunmuyor. }
if ($ini(follow.ini,$2)) { msg $chan 2 $2 kullanıcısının takip bilgileri sıfırlanmıştır. | followclean $2 $nick $date $time $chan }
}
}
}
if ($1 == &list) {
if (!$ini(operator.ini,$nick)) && ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($ini(operator.ini,$nick)) || ($nick == %master) { followlist $chan $nick $date $time }
}
if ($1 == &obilgi) {
if (!$ini(operator.ini,$nick)) && ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($ini(operator.ini,$nick)) || ($nick == %master) {
if (!$2) { msg $chan 2Lütfen kullanıcı adı giriniz. }
if ($2) {
if ($ini(operator.ini,$2)) { loginfo $2 $chan $nick $date $time }
if (!$ini(operator.ini,$2)) { msg $chan 2 $2 kullanıcısı operatör listesinde bulunmamaktadır. }
}
}
}
if ($1 == &bilgi) {
if (!$ini(operator.ini,$nick)) && ($nick != %master) { msg $chan 2Bu işlem için yetkiniz bulunmamaktadır. }
if ($ini(operator.ini,$nick)) || ($nick == %master) {
if (!$2) {
if ($ini(follow.ini,$nick)) { followinfo $nick $chan $nick $date $time }
if (!$ini(follow.ini,$nick)) { msg $chan 2 Siz takip listesinde bulunmuyorsunuz. }
}
if ($2) {
if ($ini(follow.ini,$2)) { followinfo $2 $chan $nick $date $time }
if (!$ini(follow.ini,$2)) { msg $chan 2 $2 kullanıcısı takip listesinde bulunmamaktadır. }
}
}
}
}
alias checkstart {
var %ini = $ini(follow.ini,0), %x = 1
while (%x <= %ini) {
if ($ini(follow.ini,%x) ison %chan) && (!$timer($ini(follow.ini,%x))) { $+(.timerfollow,$ini(follow.ini,%x)) 0 1 follow $ini(follow.ini,%x) }
inc %x
}
}
alias followlist {
write $+($2,.txt) 2 $+($date, - ,$time,:) Takip listesini sorguladı.
var %ini = $ini(follow.ini,0), %x = 1
if (%ini == 0) { msg $1 2Takip listesinde kimse bulunmuyor. }
while (%x <= %ini) {
save $ini(follow.ini,%x)
msg $1 2 $+(%x,.) Kullanıcı Adı: $ini(follow.ini,%x) Ekleyen: $readini(follow.ini,$ini(follow.ini,%x),addop) Eklenme Tarihi, Saati: $readini(follow.ini,$ini(follow.ini,%x),adddate) - $readini(follow.ini,$ini(follow.ini,%x),addtime) Eklenen Kanal: $readini(follow.ini,$ini(follow.ini,%x),addchan) Çevrimiçi Süresi: $convert($readini(follow.ini,$ini(follow.ini,%x),onlinetime))
inc %x
}
}
alias loginfo {
var %ini = $lines($+($1,.txt)), %x = 1
if (%ini == 0) { msg $2 2 $1 adlı operatörün hiçbir işlem kaydı bulunmamaktadır. }
while (%x <= %ini) {
timer 1 %x msg $2 $read($+($1,.txt),%x)
inc %x
}
write $+($3,.txt) 2 $+($date, - ,$time,:) $1 adlı kullanıcının log bilgilerini sorguladı.
}
alias operatoradd {
write $+($2,.txt) 2 $+($date, - ,$time,:) $1 adlı kullanıcıyı operatör listesine ekledi.
writeini -n operator.ini $1 addop $2
writeini -n operator.ini $1 adddate $3
writeini -n operator.ini $1 addtime $4
writeini -n operator.ini $1 addchan $5
}
alias follow {
if ($1 ison %chan) { inc -e $+(%,$1) }
if ($1 !ison %chan) && $timer($+(follow,$1)) { save $1 | $+(.timerfollow,$1) off }
}
alias followdel {
set $+(%,$1) 0
write $+($2,.txt) 2 $+($date, - ,$time,:) $1 adlı kullanıcıyı takip listesinden çıkardı.
remini -n follow.ini $1
if $timer($+(follow,$1)) { $+(.timerfollow,$1) off }
}
alias followinfo {
save $1
msg $2 2 Kullanıcı Adı: $1
msg $2 2 Ekleyen Operatör: $readini(follow.ini,$1,addop)
msg $2 2 Eklenen Kanal: $readini(follow.ini,$1,addchan)
msg $2 2 Eklenme Tarihi, Saati: $readini(follow.ini,$1,adddate) - $readini(follow.ini,$1,addtime)
msg $2 2 Çevrimiçi Olduğu Süre: $+( ,$convert($readini(follow.ini,$1,onlinetime)))
write $+($3,.txt) 2 $+($date, - ,$time,:) $1 adlı kullanıcının takip bilgilerini sorguladı.
}
alias save {
writeini -n follow.ini $1 onlinetime $calc($readini(follow.ini,$1,onlinetime)+$eval($+(%,$1)))
set $+(%,$1) 0
}
alias update {
var %ini = $ini(follow.ini,0), %x = 1
while (%x <= %ini) {
save $ini(follow.ini,%x)
inc %x
}
}
alias operatorlist {
update
write $+($2,.txt) 2 $+($date, - ,$time,:) Operatör listesini sorguladı.
var %ini = $ini(operator.ini,0), %x = 1
if (%ini == 0) { msg $1 2Operatör listesinde kimse bulunmuyor. }
while (%x <= %ini) {
if ($readini(follow.ini,$ini(follow.ini,%x),onlinetime)) { save $ini(operator.ini,%x) | msg $1 2 $+(%x,.) Kullanıcı Adı: $ini(operator.ini,%x) Ekleyen: $readini(operator.ini,$ini(operator.ini,%x),addop) Eklenme Tarihi, Saati: $readini(operator.ini,$ini(operator.ini,%x),adddate) - $readini(operator.ini,$ini(operator.ini,%x),addtime) Eklenen Kanal: $readini(operator.ini,$ini(operator.ini,%x),addchan) Çevrimiçi Süresi: $convert($readini(follow.ini,$ini(operator.ini,%x),onlinetime)) }
if (!$readini(follow.ini,$ini(follow.ini,%x),onlinetime)) { msg $1 2 $+(%x,.) Kullanıcı Adı: $ini(operator.ini,%x) Ekleyen: $readini(operator.ini,$ini(operator.ini,%x),addop) Eklenme Tarihi, Saati: $readini(operator.ini,$ini(operator.ini,%x),adddate) - $readini(operator.ini,$ini(operator.ini,%x),addtime) Eklenen Kanal: $readini(operator.ini,$ini(operator.ini,%x),addchan) }
inc %x
}
}
alias convert { return $replace($duration($1,0),wks,$chr(32) hft,wk,$chr(32) hft,mins,$chr(32) dk,hrs,$chr(32) saat,secs,$chr(32) sn,min,$chr(32) dk,hr,$chr(32) saat,sec,$chr(32) sn,days,$chr(32) gün,day,$chr(32) gün) }
alias operatordel {
write $+($2,.txt) 2 $+($date, - ,$time,:) $1 adlı kullanıcıyı operatör listesinden çıkardı.
remini -n operator.ini $1
}
alias followadd {
write $+($2,.txt) 2 $+($date, - ,$time,:) $1 adlı kullanıcıyı takip listesine ekledi.
writeini -n follow.ini $1 addop $2
writeini -n follow.ini $1 adddate $3
writeini -n follow.ini $1 addtime $4
writeini -n follow.ini $1 addchan $5
writeini -n follow.ini $1 onlinetime 0
if ($1 ison %chan) { $+(.timerfollow,$1) 0 1 follow $1 }
}
alias followclean {
write $+($2,.txt) 2 $+($date, - ,$time,:) $1 adlı kullanıcının takip bilgilerini sıfırladı.
writeini -n follow.ini $1 addop $2
writeini -n follow.ini $1 adddate $3
writeini -n follow.ini $1 addtime $4
writeini -n follow.ini $1 addchan $5
writeini -n follow.ini $1 onlinetime 0
set $+(%,$1) 0
if ($timer($+(follow,$1))) { $+(.timerfollow,$1) off }
if ($1 ison %chan) { $+(.timerfollow,$nick) 0 1 follow $nick }
}
on *:join:%chan: {
if ($nick == $me) { timerchck 1 3 checkstart }
if ($ini(follow.ini,$nick)) { $+(.timerfollow,$nick) 0 1 follow $nick }
}
alias topten {
update
write $+($2,.txt) 2 $+($date, - ,$time,:) TOP 10 listesini sorguladı.
var %ini = $ini(follow.ini,0), %x = 1
if (%ini == 0) { msg $1 2TOP 10 listesinde kimse bulunmuyor. }
if (%ini != 0) {
while (%x <= %ini) {
%y = $ini(follow.ini,%x)
if ($readini(follow.ini,%y,onlinetime)) { set $+(%,%y,.points) $readini(follow.ini,%y,onlinetime) }
inc %x
}
var %n = 1
while ($findval(%n) != $null) && (%n <= 10) {
if (%n == 1) { %topten = 12 $+(%n,.) 2 $findval(%n) $+ ( $+ $convert($findval(%n).val) $+ ) }
if (%n != 1) { %topten = %topten $+ ,12 $+(%n,.) 2 $findval(%n) $+ ( $+ $convert($findval(%n).val) $+ ) }
inc %n
}
msg $1 %topten
var %i = 1
while ($var(%*.points,%i)) {
unset $+(%,$remove($ifmatch,$chr(37),.points),.points)
inc %i
}
}
}
alias findval {
if ($1 == 0) return $var(%*.points,0)
window -sh @sort 0 0 100 100
var %i = 1
while ($var(%*.points,%i)) {
aline @sort $base( [ [ $ifmatch ] ] ,10,10,10) $remove($ifmatch,$chr(37),.points)
inc %i
}
var %info = $line(@sort,$calc($line(@sort,0) - $iif($1 isnum,$1,$fline(@sort,$1,1)) + 1))
window -c @sort
if ($prop == val) {
var %regex = $regex(sort,$gettok(%info,1,32),m~0*(\d*)~g)
return $regml(sort,1)
}
else return $gettok(%info,2,32)
}
%opchan verisine çevrimiçi sistemi kontrol kanalı gireceksiniz.