İlk öncelikle
/hsave komutunda
"-o" anahtarı işlev görmez çünki böyle bir anahtar yok.
Ek olarak ben kodun tabanına inerek sana yardımcı olacağım.
Onaybekleyen tablosuna verileri #kanal(ITEM) nick(DATA) şeklinde kaydetmelisin.(/hadd -m onaybekleyen #kanal nick)
-
;_islemyap <#kanal(onaylanacak kanal)> <sockname> <aktif kanal(.onay #kanal komutu uygulanan kanal)>
Kod:
alias _islemyap {
var %_n = $hget(onaybekleyen,$1),%s = sockwrite -n $2,%_t = $ticks
if (!%_n) { %s PRIVMSG $3 belirttiğin $1 kanalı listede yok. | return }
else {
%s JOIN $1 | %s cs register $1 %_t $1 is open. | %s cs set $1 founder %_n | %s ms send %_n $1 kanalı adınıza kaydedildi. Kanal şifresi: %_t
%s PRIVMSG $3 $1 kanalı açılıp sahibine( $+ %_n $+ ) memo atıldı.
hdel onaybekleyen $1 | hsave -i onaybekleyen onay.hash
hadd -m chan $1 ok | hsave -i chan chan.chc
}
}
Şeklinde bir alias işini görür.
-
Bu alias-ın yaptığı işlevler;
Onaybekleyen tablosunda, kanal ismini search eder. Eğer search başarısız olursa, kanala uyarı mesajı gönderir. Eğer başarılı olursa;
1- Bot belirtilen kanala giriş yapar.
2- Kanalı kayıt eder(şifresi $ticks-den gelen veridir)
3- Kanalı kayıt etmek isteyen nick-in üzerine geçirir.
4- Kanalı kayıt etmek isteyen kullanıcıya memo gönderir(kanal şifresi içerisinde)
5- Onaybekleyen tablosundan işlem yapılan kanalı siler ve tekrar "ini" şeklinde save eder.(onay.hash dosyasına)
6- İşlem gören kanalı(kayıt tamamlanan kanalı) chan.chc dosyasına "ini" şeklinde kayıt eder.
Ek olarak şu kısmıda aşağıda verdiğim gibi değiştir.
Kod:
if (:.onay == $4) {
var %oprnick $remove($gettok($1-,1,33),:)
ock %oprnick
if ($chr(35) !isin $5) { sw $sockname privmsg %::chan kanal onaylarken " $chr(35) " işaretini gir :) | halt }
_islemyap $5 $sockname %::chan
}