Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| Cevap: bot edit
| Alıntı: |
1.)!bul sureismi yazarak @kuran penceresinde goruyor yazilari.bunun kaldirmak istiyorum.dialog var diloguda kaldirmak istiyorum
| Kaldırıldı..
| Alıntı: |
ikinci bir uygulamada bot seklinde,kanalda !bul yazdiklarinda kullanabilecekleri komutlar siralaniyor,ona gore kanalda islem yapiliyor.bu komutu sadece gorevliler kullanabilecek sekilde duzenlemek istiyorum
| Sadece kanalda @'ta olan kişiler kullanabilecek şekilde ayarlandı. İsteğine göre bir txt belgesinden nick okutacak şekilde ayarlarım, yada %,voice'lerde kullanıcak şekilde ayarlarım yazman yeterli dost.
| Alıntı: |
.birde code de belirli bir kullanimdan sonra sahsa baska kullanma imkani vermiyor.mesela bir kisi kanalda uc kez komut uygulayabiliyor.bu kaldirip gorevlilerin surekli kullanabilecegi bir hale getirebilirsek
| O özellik durduruldu. Artık 3'den fazla yazanları ignore etmeyecek. Kod Aşağıda;
| Alıntı: |
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 {
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
}
if ($calc(%ayet2 - %ayet1 +1) > %mva) {
msg # $nick Simdiki ayarlara göre bir seferde en fazla %mva ayet isteyebilirsniz...
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 ]
-------------------------------0000-----------------------------------
}
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 ($nick isop #) {
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
}
}
}
dialog BA {
title "BOT AYARLARI"
size -1 -1 380 280
;combo 1,128 176 89 100,size edit drop
button "Duzenle",102,124 176 48 30
radio " ÖnTanimli",2,24 176 97 25
radio "Herkes",3,24 143 65 25
edit "",4,304 80 25 19,autohs
edit "",5,304 48 25 19,autohs
edit "",6,112 80 25 19,autohs
edit "",7,112 48 25 19,autohs
box "Kullanici Tanimlari",8,16 128 160 81
text "sn.",10,336 80 17 17
text "Duraklama Süresi",11,192 80 89 17
text " kelime",12,328 48 33 25
text "Max. Veri Gönderme",13,192 48 97 25
box " Veri ",14,178 32 193 73
text "ayet",15,144 80 25 17
text "Max. Ayet Araligi",16,24 80 86 17
text "sn",17,144 48 25 17
text "Cevap Periyodu ",18,24 48 81 25
box " Bot ",19,16 32 161 73
button "Tamam",100,126 225 50 30,ok
button "Vazgeç",101,180 225 50 30,cancel
box " Diger Ayarlar",20,179 128 193 82
check "Moderate",30,190 150 65 11,
}
on *:dialog:ba:edit:*:{
if ($did == 4) { set %ds $did(4).text }
if ($did == 5) { set %mvg $did(5).text }
if ($did == 6) { set %mva $did(6).text }
if ($did == 7) { set %cp $did(7).text }
}
on * Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. IALOG:ba:init:0:{
if ((!%ds) || (!%mvg) || (!%mva) || (!%cp)) {
did -ra ba 4 1
set %ds 3
did -ra ba 5 1
set %mvg 10
did -ra ba 6 1
set %mva 3
did -ra ba 7 1
set %cp 6
}
if (%kul == $null) {
did -c ba 3
set %kul herkes
}
if (%kul == herkes) {
did -c ba 3
}
else {
did -c ba 2
set %kul ontanimli
}
did -o ba 4 1 %ds
did -o ba 5 1 %mvg
did -o ba 6 1 %mva
did -o ba 7 1 %cp
;did -ra ba 4 test
if ( %moderate == 1 ) {
did -c ba 30
}
}
on *:dialog:ba:sclick:100: {
set %cp $did(ba,7).text
set %mva $did(ba,6).text
set %mvg $did(ba,5).text
set %ds $did(ba,4).text
if ($did(ba,3).state == 1) { set %kul herkes }
if ($did(ba,2).state == 1) { set %kul ontanimli }
if ($did(ba,30).state == 1) { did -c ba 30 | set %moderate 1 }
if ($did(ba,30).state == 0) { set %moderate 0 }
}
on *:dialog:ba:sclick:102: { run botusers.txt }
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 3
set %cp 6
}
}
alias ara {
window -e @ARAMA 500 275 350 200
clear @arama
set %l 1
SET %phrase * $chr(32) $+ $1- $+ *
;set %md $mid(%phrase,2,1)
;$replace (%phrase ,%md , $upper( %md )) Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ET %phrase * $+ $1-
echo @ARAMA 4,8 ARANAN KELIME: 1,8 %PHRASE
echo @arama 8,7 Dikkat Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. ulunan Sonuçlar Kelime Düzeyinde Kesin Sonuçlar Olmayabilir.Bu çalisma sadece fikir vermesi bakimindan hazirlanmistir...
while (%l < 115) {
set %d1 3 - $len(%l)
set %dosya sureler $+ \ $+ $str(0,%d1) $+ %l $+ .txt
;echo -a %dosya
;filter -pfw %dosya @ARAMA %phrase
filter -fwbp %dosya @arama %phrase
if ($filtered != 0) {
echo @arama 4 $read(sureindex.txt,%l) ( %l )
echo 4 @arama ---------------------------------------------------------------------------------------
set %adet $calc(%adet + $filtered)
}
;if ($filtered =! 0) echo @arama %dosya
inc %l
}
echo @arama 1,8 %phrase ibaresi %adet adet sayildi.(Bu sonuç kelime düzeyinde kesin sonuç olmayabilir)
set %adet 0
} | |