birinci sorunum bot kanala girdiginde,code'yi acmadan islem gormuyor.
menu channel,menubar {
-
Bot
.Açik :set %botdurum acik | echo -a bot açik | notice # Meal BOTu Kullanima Hazir | defs
.Kapali:set %botdurum kapali | echo -a Bot Kapali | notice # Meal BOTu Kapatildi
.Ayarlar:dialog -m BA BA
}
bu kisimdaki Acik buttonuna ihtiyac duymadan code kendiliginden aktif hale gelebilmesi icin code'nin basina sunu ekledim.bu sorun teskil edermi fikrinizi almak istiyorum.
on *:connect: {
.timer 1 10 /set %botdurum acik
}
ikincisi ben hem yetkililer dosyasindaki nicklerin hemde kanaldaki gorevlilerin !bul komutunu kullanmalari icin soyle denedim ama olmadi,
if $read(yetkililer.txt,w,$nick) || ($nick isop $chan) {
!bul komutunu kullanan sahis kanalda gorevli degilse ve yetkililer listesinde ismi yokda ona kullanmaya yetkili olmadigina dair uyari gonderemedim.ben yetkili ekleyip silmek icin codenin altina bir eklenti yaptim.ama mirc kapanip tekrar acildiginda yetkililer listesi bosaliyor.bir yerde hata yaptim sanirim.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias bekle {
mode # +m
}
alias sureler {
set %t 1
while (%t < 115) { echo 4 @kuran %t - $read(sureindex.txt,%t)
inc %t
}
}
menu channel,menubar {
-
Bot
.Açik :set %botdurum acik | echo -a bot açik | notice # Meal BOTu Kullanima Hazir | defs
.Kapali:set %botdurum kapali | echo -a Bot Kapali | notice # Meal BOTu Kapatildi
.Ayarlar:dialog -m BA BA
}
alias bulr {
if $read(yetkililer.txt,w,$nick) || ($nick isop $chan) {
set %sureno $null
set %curserver $server
set %curchannel $chan
if (($1 == $null) || ($2 == $null)) {
msg # Bul komutu formati:
msg # !bul sureadi yada numarasi ayet [bitis ayeti]
msg # Ör1:!bul taha 114 --> Taha 114. ayeti gösterir.
msg # Ör2:!bul taha 1 9 --> Taha [1-9]. ayetleri gösterir.
msg # Ör3:!bul 20 1 9 --> Taha [1-9].ayetleri gösterir.
halt
}
else {
set %sure $1
set %ayet1 $2
}
if ($3 == $null) { set %ayet2 %ayet1 }
else { set %ayet2 $3 }
if ($calc(%sure + 1) != 0) {
set %sureno $1
set %sure $read(sureindex.txt,%sureno)
goto dosyabul
}
set %sayac 1
set %topsat $lines(sureindex.txt)
while (%sayac <= %topsat) {
if (%sure == $read(sureindex.txt, %sayac)) {
write temp.txt Sure No: %sayac
set %sureno %sayac
}
inc %sayac
}
:dosyabul
if (%sureno == $null) {
msg # %sure bulunamadi.Sure ismini farkli bir isimle ya da sure numarasi kullanarak belirtiniz.Tüm surelerin listesi için /sureler yaziniz...
halt
}
set %sayiayet $read(ayetsayisi.txt,%sureno)
if (%ayet2 > %sayiayet) {
msg # Hatali Giris Yaptiniz
msg # %sure Suresi %sayiayet ayettir...
halt
}
if ((%ayet1 < 1) || (%sureno > 114) || (%ayet1 > %ayet2)) {
msg # Hatali Giris Yaptiniz...
halt
}
set %d1 3 - $len(%sureno)
set %dosya sureler $+ \ $+ $str(0,%d1) $+ %sureno $+ .txt
set %k 1
while (%ayet1 <= %ayet2) {
if ((%sureno == 2) && (%ayet1 == 282)) {
set %bkr 1
while (%bkr <= $lines(sureler\bakara282.txt)) {
set %sonuc $read(sureler\bakara282.txt,%bkr)
wordcheck
inc %bkr
}
goto art
}
set %sonuc $read(%dosya,w,%ayet1 $+ . $+ *)
if (%k != 1 ) goto gec
write temp.txt $upper(%sure) -- Toplam Ayet Sayisi: %sayiayet
write temp.txt Ayet: %ayet1 - %ayet2 $nick için yaziliyor...
:gec
wordcheck
:art
inc %k
inc %ayet1
}
write temp.txt -------------------------------0000------------------------ 12 [ %cp sn. durakladi ]
}
alias sureler {
set %t 1
while (%t < 115) { msg # %t - $read(sureindex.txt,%t)
inc %t
}
}
on *:playend:if (%moderate == 1) { /mode %curchannel -m }
on *:exit:unsetall
on *:disconnect:server %curserver
on *:CONNECT:/join # $+ %curchannel
on *:text:!bul*:#: {
if $read(yetkililer.txt,w,$nick) || ($nick isop $chan) {
while (%botdurum == acik) {
if ( %kul == ontanimli ) {
set %usersay 1
while (%usersay <= $lines(botusers.txt)) {
if ( $nick == $read(botusers.txt,%usersay)) { set %kim 1 }
inc %usersay
}
}
if ((%kim == $null) && (%kul == ontanimli)) { halt }
else { set %kim $null }
write -c temp.txt
bulr $2 $3 $4
if (%moderate == 1) { bekle }
play $chan temp.txt $calc(%ds * 1000)
set %zaman $calc(%ds * 1000 * $lines(temp.txt) + %cp * 1000)
set %zamandur $calc(%zaman / 1000)
halt
}
}
}
alias wordcheck {
set %twords $calc($numtok(%sonuc,32) + 1)
if (%twords > %mvg) {
set %blok $calc(%twords / %mvg)
set %tamblok $calc($int(%blok) + 1)
set %dng 1
set %baslangic 1
set %bitis %mvg
while (%dng <= %tamblok) {
set %aralik %baslangic $+ - $+ %bitis
set %dizgi $gettok(%sonuc,%aralik,32)
write temp.txt %dizgi
set %baslangic $calc(%bitis + 1)
set %bitis $calc(%bitis + %mvg )
inc %dng
}
}
else { write temp.txt %sonuc }
return
}
alias defs {
if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
set %ds 3
set %mvg 10
set %mva 100
set %cp 6
}
}
}
on *:text:*:#: {
if $chan == # {
if ($nick isop $chan) || ($nick == Q) {
if $1 == !yetkiliekle {
if $2 == $null {
msg $chan
halt
}
if $hfind(yetkililer,$2,1,W).data {
msg $chan yetkili eklendi
halt
}
else {
var %kotu.nr $r(0,10000),%kotu.item $2
hadd -m yetkililer %kotu.nr %kotu.item
hsave yetkililer yetkililer.txt
msg $chan eklenen nick }
}
if $1 == !yetkilisil {
if $2 == $null {
msg $chan listeden kim cikacak
halt
}
else {
if $hfind(yetkililer,$2,1,W).data {
hdel -s yetkililer $ifmatch $2
hsave yetkililer yetkililer.txt
msg $chan listeden cian nick }
else {
msg $chan boyle bir nick yok
halt
}
}
}
if $1 == !yetkililist {
listele
}
}
else {
if !yetkili* iswm $1 {
msg $chan komutu uygulayamassin yetkili degilsin
}
}
}
}
alias listele {
msg $chan listeleniyor
var %azi = 1
while (%azi <= $hget(yetkililer,0).data) {
msg $chan $hget(yetkililer,%azi).data
inc %azi
}
if $hget(yetkililer,%azi).data == $null {
haltdef
}
msg $chan finish
}