IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Dosyadan okuturken sorun. (https://www.ircforumlari.net/mirc-scripting-sorunlari/47967-dosyadan-okuturken-sorun.html)

Micron 22 Ocak 2008 05:29

Dosyadan okuturken sorun.
 
PHP- Kodu:

on *:text:*:#:if $regex($1-,/ $+ $read(kufur.txt) $+ /i) { ban -u900 # $nick 2 | kick # $nick sebeb } 

Bu kodda küfürleri dosyaya

\bzeytin|\bpeynir|\breçel|

şeklinde ekliyorum.

alt alta eklemem için ne yapmam lazım ?
\bzeytin
\bpeynir
\breçel

gibi .

upriSingTech 22 Ocak 2008 05:37

Yanıt: Dosyadan okuturken sorun.
 
Alıntı:

on *:text:*pipi*:#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*******:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*****:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:********:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*********:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*sik*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*yarak*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*lezbiyen*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*gay*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*******:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*bacını*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*s2m*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*s2ci*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*skrm*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*a.k*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*a.q*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*sie*:
#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }

ASLINDA EN İYİ YÖNTEM REMOTEYE EKLEMEK. DEVAMINI GETİREBİLİRSİN

detay 22 Ocak 2008 11:06

Cevap: Dosyadan okuturken sorun.
 
Kod:

on *:text:*:#: { var %' $lines(kufur.txt) | while  $read(kufur.txt,%') { if $regex($1-,$+(/,$v1,/)) { ban -u900 # $nick 2 | kick # $nick sebeb }  | dec %' } }
while dongusuyle tüm satirlari tek tek kontrol ettirmelisin alt alta kullanıyorsan..

Micron 22 Ocak 2008 12:18

Cevap: Dosyadan okuturken sorun.
 
Alt alta eklenebiliyor . şöyle bir problem var yalnız

\bzeytin
\bpeynir
\breçel

kelimelerinde ezeytin azeytin yazınca normal olarak atmıyor. ama şzeytin yahut çzeytin yazınca türkçe karakteri algılamıyor ve banlıyor. Bu regextenmi kaynaklanıyor bunu düzeltmenin bir yolu yokmu ?

Nickolas 22 Ocak 2008 12:47

Cevap: Dosyadan okuturken sorun.
 
kodlarında ufak bir değişiklik yapman gerekiyor. Örneğin

//echo -a $regex(çzeytin, /(?=([ŞÇÜİĞÖıçşğüö]zeytin))/)

Kod:

if ($regex($1-, $read(kufur.txt,tn, %') ) && !$regex($1-, /(?=([ŞÇÜİĞÖıçşğüö] $+ $replace(\b, $null, $read(kufur.txt,tn, %')) $+ ))/) {

Micron 23 Ocak 2008 09:27

Cevap: Dosyadan okuturken sorun.
 
peki regex kullanmadan wildcard olarak kullanılırsa aynı karakter sorununu yaşarmıyım ? Forumda wildcard kullanılan korumaların çoğu cümlenin tamamını algılamıyor sadece başında kullanılırsa atıyor. While kullanmadıkları içinmi oluyor bu ? Detayın yazdığı kodu wildcard kullanarak nasıl yapabilirim ?
Yani \bzeytin yerine *zeytin gibi uygulamak istiyorum.

CesuryureK 23 Ocak 2008 10:54

Cevap: Yanıt: Dosyadan okuturken sorun.
 
Alıntı:

upriSinG Nickli Üyeden Alıntı (Mesaj 329581)
ASLINDA EN İYİ YÖNTEM REMOTEYE EKLEMEK. DEVAMINI GETİREBİLİRSİN

on *:text:*****:#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*****:#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. } on *:text:*********:#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }
on *:text:*******:#: { mode # +b $nick | kick # $nick Küfür | echo -a $nick Küfür ettiği için # kanalından uzaklaştırıldı. }


ßunlar Ne? => ******* ***** ********

Yani Şu : User Ne Yazarsa Yazsın Atılacaklar, ßen Ne Anladım Küfür Korumasından Peki :) Örneğin

<CesuryureK>Küfür Etmedim ki?

Orda Küfür Etmediği Kalde Atılacak.
ßirileri Almadan Düzeltmek Lazım ßuna ßenzer Olanlarda Var Düzeltmek Lazım ....

Nickolas 23 Ocak 2008 11:51

Cevap: Dosyadan okuturken sorun.
 
Alıntı:

Micron Nickli Üyeden Alıntı (Mesaj 330455)
peki regex kullanmadan wildcard olarak kullanılırsa aynı karakter sorununu yaşarmıyım ? Forumda wildcard kullanılan korumaların çoğu cümlenin tamamını algılamıyor sadece başında kullanılırsa atıyor. While kullanmadıkları içinmi oluyor bu ? Detayın yazdığı kodu wildcard kullanarak nasıl yapabilirim ?
Yani \bzeytin yerine *zeytin gibi uygulamak istiyorum.

Dosya içerisinde yazdığın \bzeytin yerine *zeytin yazman yeterli... Regex onu operatör olarak algılayacaktır.

Micron 24 Ocak 2008 22:22

Cevap: Dosyadan okuturken sorun.
 
peki regex değilde wildcardla iswm kullanarak nasıl yapabilirim aynı kodu ?
Aynı diğer regex kodu gibi 15 dakika banlıyacak hep aopta hem ircopta çalışabilecek şekilde .

CipriX 24 Ocak 2008 22:36

Cevap: Dosyadan okuturken sorun.
 
dosyadaki wildcard'lı kelimeleri okutmak $read ile tam bir baş belasıdır bunun en güzel yöntemi whiledir..

Nickolas 24 Ocak 2008 22:49

Cevap: Dosyadan okuturken sorun.
 
detayın verdiği koda göre...

Kod:


on *:text:*:#: {
  var %' $lines(kufur.txt)
  while ($read(kufur.txt, tn, %')) {
    if ($v1 iswm $1-) {
      ban -ku900 # $nick 2 sebeb
    }
    dec %'
  }
}


Sinbat 24 Ocak 2008 23:29

Cevap: Dosyadan okuturken sorun.
 
Alıntı:

on *:text:*:#: {
var %' $lines(kufur.txt)
while ($read(kufur.txt, tn, %')) {
if ($v1 iswm $1-) {
ban -ku900 # $nick 2 sebeb
}
dec %'
}
}
Bu kod mirci donduruyo
* Break: command halted (line 4, Yeni Metin Belgesi.txt)
* Break: command halted (line 3, Yeni Metin Belgesi.txt)
-
* Break: command halted (line 2, Yeni Metin Belgesi.txt)

Nickolas 25 Ocak 2008 00:21

Cevap: Dosyadan okuturken sorun.
 
arkadaşın kodunu düzenlemiştim...

Kod:

on *:text:*:#: {
  var %i = 1
  while (%i <= $lines(kufur.txt)) {
    if ($read(kufur.txt, tn, %i) iswm $1-) {
      ban -ku900 # $nick 2 sebeb
      break
    }
    inc %i
  }
}


Sinbat 25 Ocak 2008 10:44

Cevap: Dosyadan okuturken sorun.
 
* Break: command halted (line 4, Yeni Metin Belgesi.txt)
-
* Break: command halted (line 2, Yeni Metin Belgesi.txt)
-
* Break: command halted (line 2, Yeni Metin Belgesi.txt)
-
* Break: command halted (line 2, Yeni Metin Belgesi.txt)
-
* Break: command halted (line 2, Yeni Metin Belgesi.txt)

yine hata veriyo Nickolas

Micron 25 Ocak 2008 10:53

Cevap: Dosyadan okuturken sorun.
 
Bende hata vermedide kufur txt ye eklediğim kelimeleri atmadı yani işlem yapmadı. İllaki ilk verdiğim koda göre uyarlanmasada olur. Wildcard kullanılıp dosyadan küfürleri okuyan 15 dakika banlayıp hep yukardayken hem aşağıdayken atan bir kod yokmu ? Forumdan bir kaç tane bulup denedim onlardada kelime sadece cümlenin başında geçiyorsa banladı ortalarında geçince atmadı.
zeytin*
*peynir
ekm?k

gibi alt alta eklemek istiyorum.

Sinbat 25 Ocak 2008 11:41

Cevap: Dosyadan okuturken sorun.
 
Kod:


on *:TEXT:*:#:{
  var %i 1
  while (%i <= $lines(kufur.txt)) {
    if ($read(kufur.txt,%i) iswm $1-) { mode # +b $nick | kick # $nick Küfür | return }
    inc %i
  }
}

kufurleri kufur.txt ye alt alta ekle
*ibne*
*salak*
ortasında atmasını istiyosan * başında ve sonunda kullanmalısın kelimemin banı nicke degilde ipe atmak istersen mode # +b $nick olan yeri mode # +b $wildsite yap

Micron 25 Ocak 2008 12:07

Cevap: Dosyadan okuturken sorun.
 
Sinbat verdiğin kod kelime cümlenin başında kullanılırsa banlıyor .

peynir* olarak ekledim. Yazmışsın ortasında atmak istiyorsan *peynir* diye kullan diye fakat ben peynir* diye ekleyip cümlenin neresinde peynirciler kelimesi geçerse geçsin atmasını istiyorum.*peynir yada peynir* diye kullanamadıktan sonra bir anlamı kalmıyorki korumanın.

[11:57] <dsf> bu bir peynirdir
[11:57] <dsf> deneme 2
[11:57] <dsf> peynirdir bu
«««« sa #help Kanalından Banladı :
«««« Kick : sa Sizi Kickledi..!(Küfür)

Sinbat 25 Ocak 2008 12:20

Cevap: Dosyadan okuturken sorun.
 
* akara has joined #mIRC
<akara> bu bir peynirdir
* alen sets mode: +b akara
* akara was kicked by alen (Küfür)

micron sen yanlış ekliyon ortasında atmasını istiyosan
*peynir* şeklinde ekleyecen başında istiyosan peynir* ondan atmamış * işaretini başında ve sonunda kullan ortasında atar

Micron 25 Ocak 2008 13:10

Cevap: Dosyadan okuturken sorun.
 
İşte bende diyorum ki peynir* diye ekleyemediğimizde bir anlamı kalmaz.

diyelim amın* kelimesini ekledik. amın ile başlayan sonsuza kadar giden her kelimeyi atması lazım. *amın* diye eklersek selamın bayramın bayramınızı gibi kelimelerdede hatalı ban atar bu seferde. İlla regexmi kullanmamız lazım direk wildcardla istediğim şekilde olmuyormu?

Nickolas 25 Ocak 2008 13:20

Cevap: Dosyadan okuturken sorun.
 
Bir boşluk ve peynir* olarak koy...

Micron 25 Ocak 2008 15:08

Cevap: Dosyadan okuturken sorun.
 
* peynir*

bu şekilde dediğim gibi oluyor.

Nickolas 25 Ocak 2008 16:26

Cevap: Dosyadan okuturken sorun.
 
boşluklar kelime kontrolde bazen hayati önem taşır ;)

L4roXyL 25 Ocak 2008 17:16

Cevap: Dosyadan okuturken sorun.
 
Bunun mantığı çok basittir aslında;

on @*:text:*:#:if !$regex($nick(#,$nick).pnick,@|%|&|~) { var %1 = 1 | while %1 <= $lines(dosya.txt) { if $regex($1-,$read(dosya.txt,%1)) { ban -k # $nick 2 sebeb. | break } | inc %1 } }

Mesela burada regex'in mantığı;
//echo -a $iif($regex(deneme,deneme),Evet,Hayır) yaptığınız'da evet olarak döner.
//echo -a $iif($regex(111deneme111,deneme),Evet,Hayır) yaptığınız'da yine evet olarak döner.
Yani bir nevi; $iif(*deneme* iswm 111deneme111,Evet,Hayır) ile aynı işlevi yapar.

Siz burada "kelime ile başlıyorsa/bitiyorsa" olayını * kullanarak yapabilirsiniz.
Örneğin; if $regex($1-,$read(dosya.txt,%1)) kelime içinde geçiyorsa demektir. Yukarıda açıkladım zaten.

"Kelime ile başlıyorsa" için;
if $+($read(dosya.txt,%1),*) iswm $1- kullanabilirsiniz.
"Kelime ile bitiyorsa" için;
if $+(*,$read(dosya.txt,%1)) iswm $1- kullanabilirsiniz.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 21:17.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net