; - Kontrol kanalında !anket komutuyla anket başlatın.
; - !anketekle Anket Sorusu ile soruyu girin.
; - !A cevap, !B cevap ... ile cevapları girin.
; - !anketbitir ile anketi tamamlayın.
; - !ankethazır ile anketi kanalda aktif edin.
; - Katılımcılar !cevap Şık ile oy verebilir, !cevaplar ve !sonuçlar ile durum görebilir.
; - Anket kanalı ve kontrol kanalı aliasları özelleştirilebilir.
; - Botun anket kanalında op olması gerekir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias anketkanal return #anket
alias kontrolkanal return #opers
on *:text:*:$($anketkanal , $kontrolkanal): {
if $1 == !anket && $2 == $null {
msg # Anket Oluşturma Sihirbazı, size anket oluşturmanızda yardımcı olacak.
.timer 1 3 msg # İlgili anketin sorusunu oluşturmak için, 4"2!Anketekle Anketinizin Sorusu4" şeklinde giriniz.
}
if $1 == !anketekle && $chan == $kontrolkanal {
if $2 == $null { msg # 4* 12Error : 4"2!anketekle Anketinizin Sorusu4" şeklinde giriş yapmalısınız. | return }
if $len($2-) < 15 { msg # 4* 12Error : Anket sorusu en az 15 karakterden oluşmalıdır.Tekrar deneyiniz. | return }
unset %ank* %setanket %tamam %topcevap %cevap* %beklet %hazıranket
write -c cevap.txt
set %tamam YES
set %setanket $2-
var %i 1
msg # Anket sorunuzun girişini 4" $2- 4" olarak yaptınız.
.timer 1 3 msg # Şimdi de sirasiyla, ilgili anket cevaplarını 4"2!A cevap 4, 2!B cevap 4, 2!C cevap 4, 2!D cevap 4, 2!E cevap 2vs..4" şeklinde girip,
.timer 1 6 msg # Tüm cevaplar girildikten sonra, anketi bitirmek için 4"2!Anketbitir" yazınız.
}
if $regex($1,/^![A-Z]$/i) && $chan == $kontrolkanal {
if $2 == $null { msg # 4* 12Error : İlgili anket cevaplarını 4"2!A cevap 4, 2!B cevap 4, 2!C cevap 4, 2!D cevap 4, 2!E cevap 2vs..4" şeklinde girmelisiniz. | return }
if %tamam == $null { msg # 4* 12Error : Anket cevaplarından önce, anketinizin sorusunu girmelisiniz. Kullanım: 2!anketekle Anketinizin Sorusu | return }
var %xm $remove($1,!)
set $+(%,ank,%xm) $upper(%xm) $+ ) $strip($2-)
set $+(%,cevap,%xm) 0
msg # $+(2,$upper(%xm),) Şıkının cevabı 4" $strip($2-) 4" olarak girildi.
}
if $1 == !anketbitir && $chan == $kontrolkanal {
if %setanket == $null { msg # 4* 12Error : Anket Sorusu girişi yapılmamış. 4"2!anketekle Anketinizin Sorusu4" şeklinde giriş yapmalısınız . | return }
if $var(ank*,0) < 3 { msg # 4* 12Error : Anket oluşturulamadı.En az 3 cevap girmelisiniz ! | return }
if %bekletz { notice $nick Bekleyin.. | return }
msg # Tek soruluk anket başarıyla oluşturuldu.
msg # 2Anket Sorusu : %setanket
.timer 1 1 msg # 2[Anket Cevapları]
var %i 1
while %i <= $var(ank*,0) {
.timer 1 %i msg # $var(ank*,%i)
inc %i
}
.timer 1 $calc(%i + 2) msg # Anket'i işleme koymak için 4"2!Ankethazır4", Anket'i iptal etmek için ise 4"2!Anketreset4" şeklinde giriş yapın.
set $+(-eu,$calc(%i + 1)) %bekletz YES
}
if $1 == !ankethazır && $chan == $kontrolkanal {
if %setanket == $null { msg # 4* 12Error : Anket Sorusu girişi yapılmamış. 4"2!anketekle Anketinizin Sorusu4" şeklinde giriş yapmalısınız . | return }
if $var(ank*,0) < 3 { msg # 4* 12Error : Anket oluşturulamadı.Girinler cevaplar yetersiz bulundu ! | return }
if $me !isop $anketkanal || $me !ison $anketkanal { msg # 4* 12Error : $anketkanal kanalında OP olup olmadığımı kontrol edin ! | return }
cs topic $anketkanal 2,14 $network Tek Soruluk Anket 14[2Anket Sorusu14]14[ %setanket 14]1 Cevapları görmek için !cevaplar, cevap vermek için, !cevap şık, anket sonuçlarına bakmak için ise !sonuçlar yazabilirsiniz.
mode $anketkanal -f
msg # 2>4> 1Anket işlem'e koyuldu.
set %hazıranket OK
}
if $1 == !anketreset && $chan == $kontrolkanal {
unset %ank* %setanket %tamam %topcevap %cevap* %beklet %hazıranket
write -c cevap.txt
msg # Girilen anket bilgileri sıfırlandı.4YENİ 1bir anket oluşturmak için 2!Anket1 yazabilirsiniz.
cs topic $anketkanal 4YENİ 1anket sorusu düzenlemesi yapılıyor..
}
if $1 == !sonuçlar && $chan == $anketkanal {
if $var(cevap*,0) == 0 { msg # 4* 12Error : Anket hazır değil ! | return }
if %beklet { notice $nick Bekleyin.. | return }
var %i 1
while %i <= $var(cevap*,0) {
var %ml = %ml $+($var(cevap*,%i).value,.,$remove($var(cevap*,%i),%,cevap))
inc %i
}
var %c 1
.timer -h 1 500 msg # 2__3__4__14[Anket Sonuçları]9__6__10__
while %c <= $gettok($sorttok(%ml,32,nr),0,32) {
var %p = $gettok($sorttok(%ml,32,nr),%c,32)
var %z = $round($calc(($gettok(%p,1,46) / %topcevap) * 100),1)
.timer 1 %c msg # $+(,$+(%c,$chr(44),%c)) $str(|,$int($calc(%z / 2))) 0 $eval($chr(37),0) $eval($+,0) $calc(($gettok(%p,1,46) / %topcevap) * 100) 14 $gettok($($+(%,ank,$gettok(%p,2,46)),2),2-,32)
inc %c
}
.timer 1 $calc(%c + 1) msg # 2__3__4__9__6__10__
set $+(-eu,$calc(%c + 1)) %beklet YES
}
if $1 == !cevaplar && $chan == $anketkanal {
if $var(ank*,0) == 0 { msg # 4* 12Error : Anket hazır değil ! | return }
if %bekletc { notice $nick Bekleyin.. | return }
.timer 1 1 msg # 14[Anket Cevapları]
var %i 1
while %i <= $var(ank*,0) {
.timer 1 %i msg # $var(ank*,%i)
inc %i
}
.timer 1 $calc(%i + 1) msg # 6* Seçmek istediğiniz şıkı, 4"2!Cevap Şık4" şeklinde seçebilirsiniz.14[Örnek: 2!Cevap A14]
set $+(-eu,$calc(%i + 1)) %bekletc YES
}
if $1 == !cevap && $chan == $anketkanal {
if !%hazıranket { msg # 4* 12Error : Anket hazır değil. | return }
if $2 == $null { msg # 4* 12Error : Cevap vermek için, bir şık seçmelisiniz. | return }
if !$regex($2,/^[A-Z]$/i) { msg # 4* 12Error : Cevap vermek için, bir şık seçin.(4Örnek: 2!cevap A) | return }
if $($+(%,ank,$2),2) == $null {
var %i 1
while %i <= $var(ank*,0) {
var %p = %p $upper($remove($var(ank*,%i),%,ank))
inc %i
}
msg # 4* 12Error : Geçersiz şık. Lütfen 4" $replace(%p,$chr(32),$+(14,$chr(44),)) 4" şıklarından birini seçiniz.
return
}
if $read(cevap.txt,w,$nick) { msg $anketkanal 4* 12Error : Cevap hakkınızı kullanmışsınız . | return }
if %nickwh { notice $nick 2Bekleyin 1.. | return }
set %cevapne $2
who $nick
set %nickwh ok
}
}
raw *:*: {
if %nickwh {
if $numeric == 352 {
if *r* !iswmcs $7 { msg $anketkanal 4* 12Error : Nickiniz kayıtlı değil ! | return }
if !$read(cevap.txt,w,$6) {
write cevap.txt $6
inc $+(%,cevap,%cevapne)
inc %topcevap
msg $anketkanal Teşekkürler, cevap hakkınızı 4"2 $($+(%,ank,%cevapne),2) 4" olarak kullandınız.Anket sonuçlarına 2!Sonuçlar yazarak bakabilirsiniz.
}
}
if $numeric == 315 { unset %nickwh %cevapne }
}
}