FnX botunun auto spam kodundan bir parçayı sizlerle paylaşma kararı aldım. daha da gelişmiş halini de ilerleyen zamanlarda paylaşmayı düşünüyorum. regexe çevirmek istediğiniz kelimenin boyutu 338 byte/karakterden büyük ise regex çevirme işlemini yapmıyor. bunun sebebi bu kodu kulanmış olduğum sunucuda bu boyutu aşan verilerin (açıklama dahil) spamfilter olarak eklenememesiydi. kullanımıyla ilgili örnekleri aşağıda vereceğim.
öncelikle kodumuz:
Kod :
;yardımcılar
alias _reg { return $replace($1-,a,[àáâãä忯ÀÁÂÃÄÅÆaª@4],e,[æèéêëe£â‚¬ÈÉÊ3],i,ı,ı,İ,İ,[ÌÍÎÏìíîïİıi\!1j],b,ß,ß,[bß],k,[kq],o,ö,ö,Ö,Ö,0,0,[òóôõoöÖøÒØÔº0],u,ü,ü,Ü,Ü,[ùúûÙÚÛuÜüÙµ],[:p[ùúûÙÚÛuÜüÙµ]nct:],[:punct:],ğ,Ğ,Ğ,g,g,q,q,[ğĞgq],c,ç,ç,Ç,Ç,[¢cçÇ],[k[ğĞgq]],([kq]|(\|\{)),[:pun[¢cçÇ]t:],[:punct:],[:[¢cçÇ]ntrl:],[:cntrl:],r,[r\],[:cnt[r\]l:],[:cntrl:],ş,s,s,Ş,Ş,$,$,[Å¡Å*sŞş§\$5],\[Å¡Å*sŞş§\$5],\s,v,w,w,[wv]) }
alias c {
if $regex($prop,/^b$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(2),$chr(2),$chr(2),$2-,$chr(3),$chr(2)) }
if $regex($prop,/^u$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(31),$chr(2),$chr(2),$2-,$chr(3),$chr(31)) }
if $regex($prop,/^(bu)|(ub)$/) { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(31),$chr(2),$chr(2),$chr(2),$2-,$chr(3),$chr(31),$chr(2)) }
else { return $+($chr(3),$regsubex($1,/(x)/g,$chr(44)),$chr(2),$chr(2),$2-,$chr(3))) }
}
;olay
alias çevir3 {
var %breglen (?i) $+ $regsubex($_reg($regsubex($regsubex($regsubex($strip($1),/(.)/g,\1+([[:punct:][:cntrl:] ]|\d)*),/\Q([[:punct:][:cntrl:] ]|\d)*\E$/g,),/\+$/g,)),/(\[bß\]|n|m|z|h|f|x|d|p|y|t|l|\[wv\]|\Q([kq]|(\|\{))\E|\[wv\]|\[¢cçÇ\]|\Q[Å¡Å*sŞş§\$5]\E|\[ğĞgq\]|\Q[r\]\E)\+\Q([[:punct:][:cntrl:] ]|\d)*\E/gi,\1+([[:punct:][:cntrl:] ]|\d|h)*)
if $len(%breglen) > 338 {
echo -a $c(4,<Hata Mesajı>) Çevirdiğiniz regex spamfilter için $c(4,$calc($+($len(%breglen),-,338))) BYTE kadar büyük. Lütfen kelimenizi $c(4,sondan birer harf silerek).b çevirme işlemini yineleyin.
echo -a -
return
}
echo -a $c(2,Kelime:) $1
echo -a $c(2,Regex:) %breglen
echo -a $c(2,Boyut:) $len(%breglen) BYTE
echo -a -
}
uygulama: /çevir3 Xenophanes
cevap:
<Hata Mesajı> Çevirdiğiniz regex spamfilter için 8 BYTE kadar büyük. Lütfen kelimenizi sondan birer harf silerek çevirme işlemini yineleyin.
-
uygulama: /çevir3 Xenop
cevap:
Kelime: Xenop
Regex: (?i)X+([[:punct:][:cntrl:] ]|\d|h)*[æèéêëe£â‚¬ÈÉÊ3]+([[:punct:][:cntrl:] ]|\d)*n+([[:punct:][:cntrl:] ]|\d|h)*[òóôõoöÖøÒØÔº0]+([[:punct:][:cntrl:] ]|\d)*p
Boyut: 152 BYTE
-
uygulama: /çevir3 trsohbet
cevap:
Kelime: trsohbet
Regex: (?i)t+([[:punct:][:cntrl:] ]|\d|h)*[r\]+([[:punct:][:cntrl:] ]|\d|h)*[Å¡Å*sŞş§\$5]+([[:punct:][:cntrl:] ]|\d|h)*[òóôõoöÖøÒØÔº0]+([[:punct:][:cntrl:] ]|\d)*h+([[:punct:][:cntrl:] ]|\d|h)*[bß]+([[:punct:][:cntrl:] ]|\d|h)*[æèéêëe£â‚¬ÈÉÊ3]+([[:punct:][:cntrl:] ]|\d)*t
Boyut: 262 BYTE
-
bu arada şu c aliası kodlarda renk,bold,altı çizili gibi olayları kodlamalarda kullanabilmek için azıcık ta can sıkıntısından yapmış olduğum bir şey. onun da olayı:
kırmızı font, beyaz yazı ile Xenophanes yazmak için: $c(0x4,Xenophanes)
kırmızı font, beyaz yazı, kalın harfler ile Xenophanes yazmak için: $c(0x4,Xenophanes).b
kırmızı font, beyaz yazı, altı çizili harfler ile Xenophanes yazmak için: $c(0x4,Xenophanes).u
kırmızı font, beyaz yazı, altı çizili, kalın harfler ile Xenophanes yazmak için: $c(0x4,Xenophanes).ub veya $c(0x4,Xenophanes).bu
kırmızı yazı ile Xenophanes yazmak için: $c(4,Xenophanes)
-
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.