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/)
-   -   spamfilter snotice Yadım (https://www.ircforumlari.net/mirc-scripting-sorunlari/336310-spamfilter-snotice-yadim.html)

ExrimCi 25 Mayıs 2010 10:53

spamfilter snotice Yadım
 
SeLamün ALeyküm biLgisi oLan arkadaşLar yardımcı oLabiLirmi acaba ?serverde iken spamfiltere ekleme yada silme yapıldığı anda bana haber veren bi remote yaptım çokta güzeL oLdu fakat bir yerde takıLdım çıkamadım işin içinden takıLdığım yeri anLatayım spama ekLeme yaptığımda sorun yaşiyorum [10:33] < irc.irforumlari.net > *** Spamfilter added: 'avradını' [target: c] [action: block] [reason: Küfretme Lan eşek herif] on Tue May 25 07:34:53 2010 GMT (from ExrimCi!mIRC@TexasLi) bunu ekLedim diyeLim bunu ekLediğimde yaptığım remote bana bu şekiLde @spam penceresinde uyarı veriyor
[10:33] *** SpamfiLter'e ekLeme yapıLdı !
[10:33] *** Spam'a ekLenen KeLime/CümLe: avradını
[10:33] *** Spam Tipi: c
[10:33] *** Ceza şekLi: block
[10:33] *** Spam Nedeni: Küfretme Lan eşek herif
[10:33] *** Spam'ı ekLeyen kişi:
2010

gördüğünüz gibi mavi iLe yazıLı oLan yerde spama kim ekLeme yapmışsa onun Nicki yazması Lazım bunun sebebide spam açıkLmasından kaynakLanıyor yani açıkLama ßir keLimeLik açıkLma oLsa sorun oLmuyor bu şekiLde $19 a denk geLiyor ama açıkLama yani spam nedenine uzun bir cümLe yazdığında sıraLama kayıyor spamı ekLeyen kişinin nicki çıkmıyor bu kısmı nasıL yapabiLiriz Lütfen aciL yardımLarınızı ßekLiyorum.
Yapmış oLduğum remoteyi aynen yazıyorum.
Kod:

on ^*:snotice:*Spamfilter added*: {
  window -e @Spam
  echo @Spam 10 $+ $timestamp 13*** 11SpamfiLter'e ekLeme yapıLdı 4!
  echo @Spam 10 $+ $timestamp 13*** 7Spam'a ekLenen KeLime/CümLe: 8 $remove($4,')
  echo @Spam 10 $+ $timestamp 13*** 7Spam Tipi: 9 $remove($6,])
  echo @Spam 10 $+ $timestamp 13*** 7Ceza şekLi: 8  $remove($8,])
  echo @Spam 10 $+ $timestamp 13*** 7Spam Nedeni: 11 $gettok($10-,1,93)
  echo @Spam 10 $+ $timestamp 13*** 7Spam'ı ekLeyen kişi: 11 $remove($gettok($19,1,33),$chr(41))
  halt
}


Difuzyon 25 Mayıs 2010 21:57

Cevap: spamfilter snotice Yadım
 
Kod:

on ^*:snotice:*Spamfilter added*: {
  if $regex(dify,$1-,/\x28\w+\s(\S+)\x21.+\x40.*\x29/) {
    window -e @Spam
    echo @Spam 10 $+ $timestamp 13*** 11SpamfiLter'e ekLeme yapıLdı 4!
    echo @Spam 10 $+ $timestamp 13*** 7Spam'a ekLenen KeLime/CümLe: 8 $remove($4,')
    echo @Spam 10 $+ $timestamp 13*** 7Spam Tipi: 9 $remove($6,])
    echo @Spam 10 $+ $timestamp 13*** 7Ceza şekLi: 8  $remove($8,])
    echo @Spam 10 $+ $timestamp 13*** 7Spam Nedeni: 11 $gettok($10-,1,93)
    echo @Spam 10 $+ $timestamp 13*** 7Spam'ı ekLeyen kişi: 11 $regml(dify,1)
    halt
  }
}

Şeklinde bir yöntem olabilir...

ExrimCi 25 Mayıs 2010 23:49

Cevap: spamfilter snotice Yadım
 
SevgiLi Difuzyon iLgin için Tşk. £diyorum fakat önerdiğiniz if hiç bir işe yaramadı haLa spama ekLeme yapan operin Nickini vermiyor ßu komut.

----------

Pardon özür diLerim Difuzyon £n aLttaki kodu geç farkettim kod istediğim gibi oLdu iLgin aLakan için çok Tşk. £diyorum ALLah razı oLsun. ßirde kodun mantığını açıkLarmısın ßiLmek istiyorum çünki ßana daha çok Lazım oLacak ßu kod çaLışma mantığını ßiLirsem £zbere iş yapmamış oLurum. HayırLı akşamLar...

ExrimCi 08 Haziran 2010 02:53

Cevap: spamfilter snotice Yadım
 
ArkadaşLar ßu remotede Pembe yazı iLe ßeLirttiğim kodun çaLışma mantığını açıkLayacak ßiri varmı ? ßu tür koda çok ihtiyacım var Script imde ßir çok remoteye ßu tür kod £kLemem gerekiyor. Lütfen ßiLgisi oLan arkadaşLarımdan yardım istiyorum iLginiz için şimdiden Tşk. £diyorum.
Kod:

on ^*:snotice:*Spamfilter added*: {
  if $regex(dify,$1-,/\x28\w+\s(\S+)\x21.+\x40.*\x29/) {
    window -e @Spam
    echo @Spam 10 $+ $timestamp 13*** 11SpamfiLter'e ekLeme yapıLdı 4!
    echo @Spam 10 $+ $timestamp 13*** 7Spam'a ekLenen KeLime/CümLe: 8 $remove($4,')
    echo @Spam 10 $+ $timestamp 13*** 7Spam Tipi: 9 $remove($6,])
    echo @Spam 10 $+ $timestamp 13*** 7Ceza şekLi: 8  $remove($8,])
    echo @Spam 10 $+ $timestamp 13*** 7Spam Nedeni: 11 $gettok($10-,1,93)
    echo @Spam 10 $+ $timestamp 13*** 7Spam'ı ekLeyen kişi: 11 $regml(dify,1)
    halt
  }
}


dErtLi 08 Haziran 2010 14:25

Cevap: spamfilter snotice Yadım
 
Kodun çalışma mantığı hakkında detaylı açıklama için bekleme esnasında şu linke de bir göz at istersen;

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Kolay gelsin..

Stealth 08 Haziran 2010 23:48

Cevap: spamfilter snotice Yadım
 
emeginize sağlık ;sucsuz

ExrimCi 09 Haziran 2010 23:23

Cevap: spamfilter snotice Yadım
 
yahu okudum regex komutLarını ama ßiLgim oLmadığı için hiç ßir şey anLamadım acaip karma karışık ßişey madem ki ßiLgin var o Linki ßana gösterene kadar açıkLamasını yapabiLirdin. yokmu yahu ßunun açıkLamasını yapacak yardımsever ßirisi ?

Difuzyon 10 Haziran 2010 00:03

Cevap: spamfilter snotice Yadım
 
O karmakarışık diye belirttiğin kullanımı "en başından sonuna kadar" kavraman gerekiyor.Hatta bu sana yetmeyecektir,daha çok bilgi edinmen ve epeyce araştırma yapman gerekiyor.Elbette pratikte denemeler yapıp kendine bir metod geliştirmende gerekecektir.

Mesela ben kendime bir metod geliştirdim.Puzzle dizmek gibi,her parçayı uygun noktasına monte edip aradan istediğim parçayı(aradığım boyutlara uyan kısmı) çıkarabiliyorum.

O kısacık satırı yazmak "yokmu yahu ßunun açıkLamasını yapacak yardımsever ßirisi ?" demek kadar basit değil.(Ayrıca yazı karakterin hiç hoş değil bunu düzeltmeni tavsiye ederim).Tam aksine güzel ve keyif alıcıdır yeter ki araştırmacı olalım.


if $regex(dify,$1-,/\x28\w+\s(\S+)\x21.+\x40.*\x29/) {

Satır açıklaması : dify isimli Regular Expression'un belirtilen kısmında(ki $1- e tekabül ediyor,puzzle'ın bütünü diyorum buna) \x28 ise ( karakterinin 16'lık bazına denk geliyor,$base identifier'ini araştırabilirsin. \w+ ise a'dan z'ye 0'dan 9'a kadar ve _ karakterini içeren Karakter grubudur(from yazısı yerine bunu aldım). \s 1 karakter boşluk bir diğer deyişle $chr(32)'ye eşittir.İşte puzzle'ın içinden çıkarmak istediğim kısım \S+ içende herhangi bir boşluk içermeyen kelime\rakam\karakter haznesi yani aradığın Nick kısmı tam olarak bu.Dikkat edersen onu (\S+) parantez içine aldım.Kodun alt kısmındaki $regml(dify,1) ile sonucu görüntülemek için.\x21 ise ! karakterinin 16'lık bazını ifade eder. .+ herhangi bir harf\rakam\karakter\boşluk dizininin süregelen devamı demektir.\x40 @ işaretinin 16'lık bazını ifade eder. .* birden çok karakter dizininin süregeleni.Son olarakda \x29 ise ) işaretinin 16'lık bazıdır.

Bu ilk mesajımda belirttiğim üzere yöntemlerden sadece bir tanesi.Daha farklı bir yöntemde uygulayabilirdik.Regex konusu senin için çok erken olabilir,biraz daha kendini geliştirirsen daha iyi kavrarsın.

Kodun açıklaması sende bir hayal kırıklığı yaratmasın,gayret gösterirsen sende başabilirsin.Bu ve benzeri konularda yardımımı asla esirgemem.

Hoşça paylaşımlar dilerim...

ExrimCi 10 Haziran 2010 20:11

Cevap: spamfilter snotice Yadım
 
Çok Teşekkür ediyorum Difuzyon açıkLaman için hemen işe koyuLayım ßakam neLer yapabiLeceğim. ALLah Razı oLsun.

ExrimCi 11 Haziran 2010 02:51

Cevap: spamfilter snotice Yadım
 
"$base identifier" kodLarını nasıL öğrenebiLiriz Difuzyon ? forumda aradım ama ßirşey ßuLamadım ascii kodLarınLa denedim oda oLmadı. Sizinde ßaşınızı ağrıttım ama kusura ßakmazsınız inş. ama taktım kafama ßir kere yapicam ßen ßunu kodu çok güzeL ßir şekiLde açıkLamışsınız çok iyi anLadım ama karakter kodLarını ßiLmiyorum. Spama ekLeme yapıLdığında statüs penceresindeki çıkan noticede gün/tarih/saat/yıL (Thu Jun 10 23:30:18 2010) ßunun kodunu verebiLirmisin ßeLki o zaman ßir adım daha yakLaşırım oLayı çözmeye

Lucifer 11 Haziran 2010 20:38

Cevap: spamfilter snotice Yadım
 
Online mIRC help adlı bölümde bu konuya rahatlıkla ulaşabilirsiniz. İlgili link.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

ExrimCi 12 Haziran 2010 05:27

Cevap: spamfilter snotice Yadım
 
Hocam ßune yaa ? ßu Linkte işime yariyacak hiç ßir ßiLgi yok örnekLi açıkLamaLar iLe şu oLayı netLiğe kavuşturamazmıyız ? ßenim o kadar çok ßi ßiLgim yok sizLer kadar oLamadım henüz rica etsem üstteki postta ßeLirttiğim $base karakter kodLarını ve orada verdiğim snotice satırındaki ßiLginin komutunu yazarmısınız ?

ExrimCi 18 Haziran 2010 05:45

Cevap: spamfilter snotice Yadım
 
Difuzyon Hocam ßakarmısınız ßu regex komutLarıyLa ßirşey yapmaya çaLıştım ama oLmuyor ßir türLü, nerede hata yapıyorum acaba ßakabiLirmisiniz ?
[05:30] < IRC.IRCforumlari.Net > *** Expiring Z:Line ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]) made by ExrimCi!mIRC@TexasLi (Reason: KuraL ihLaLi !) set 60 seconds ago
ßu snotice deki Mavi renk iLe beLirttiğim cümLeyi aLmak istiyorum fakat ßir türLü oLmadı, ßin ßir kere denedim ama sonuç vermiyor. ßu cümLeyi aLmak için yazdığım kodda ßu if $regex(dify,$1-,/\x28\w+\.+\s\s+\.+\.*\x29/) {
Hata yaptığım kısmı ßuLabiLirmisinz ?

CesuryureK 18 Haziran 2010 07:04

Cevap: spamfilter snotice Yadım
 
Büyük bir ihtimalle attığın zlinede sebep kısmını belli bir kanala oto atmaya çalışıyorsun.

sen regex'i ve cenkin stilini bırak şimdi :)
sana bu konuda daha pratik ve daha kullanışlı bir yol gösterecem.

bir kelimeyi yakalamak istiyorsun ve o kelimenin hangi değere eşit olduğunu tahmin edemiyorsun, bu durumda yapman gereken "Yapılmış ve yapılacak işlemde devamlı sabit olup başka bir snotice mesajında geçmeyen bir kelimeyi seçiyorsun"
bunun amacı o işlem olduğunda Snotice eventini harekete geçmesini sağlamak.

Bu durumda Expiring Z:Line bu iki kelimeden 1. tanesini alabilirsin. ben Expiring kelimesini tercih ediyorum çünkü atılan her ban Z:line şeklinde olmayabilir G:line de olabilir K:line'de..
bu durumda yapacağımız ilk işlem şu olacaktır. Eğerki Snotice mesajında Expiring kelimesi geçiyorsa.

PHP- Kodu:

on *:Snotice:*: {
if (
Expiring isin $1-) { 

işte Expiring kelimesi ne zaman snotice de kullanılırsa hemen Event harekete geçecek.

eğerki Expiring geçip ve banı atan kişi bensem yani aynı zamanda Nickimde geçiyorsa snotince mesajında da diyebilirsin bu durumda,

PHP- Kodu:

on *:Snotice:*: {
if (
Expiring isin $1-) && ($me isin $1-) { 

evet şimdi hem expiring hemde nickim geçerse algıla şekline dönüştürdük.
sıra geldi istediğimiz kelimeyi snotice mesajından almak. En pratik ve en kullanışlı yol olarak şöyle birşey deneyebilirsin.

PHP- Kodu:

on *:snotice:*: {
if (
Expiring isin $1-) && ($me isin $1-) {
echo -
$Bir
echo -$iki
echo -$üç
echo -$dört
echo -$beş
echo -$altı
echo -$yedi
echo -$sekiz
echo -$dokuz
echo -$10 on
echo -$11 onbir
echo -$12 oniki
echo -$13 onüç
echo -$14 ondört
echo -$15 onbeşinci kelime.
}


evet bu son verdiğim haliyle remoteye eklersen ve bir zline atarsan böylelikle o zline de yani senin buraya paste yaptığın snotice mesajında hangi kelimenin hangi değere eşit olduğunu görmüş oluyorsun. Sunucudan sunucuya snoticedeki kelime ve değerler değiştiğinden şu değerdir diyemiyorum.Bu yüzden alacağın değeri bu şekilde kendin alırsın. zline attığın anda zaten aktif pencerende değerlerin sıralaması gösterilecektir.
Diyelimki sıralamada $13 sebep kısmının ilk kelimesine denk geldi.
$13- yaparsan ilk kelime ve ondan sonra yazılmış kelimeleri almış olursun.
kodda kullanmak isteyip bir kanala yansıtmak istersen,

PHP- Kodu:

on *:Snotice:*: {
if (
Expiring isin $1-) && ($me isin $1-) {
msg #Admin Ban Attım Sebep İse; $13-
}


şeklinde yapabilirsin. Bu pratik yol aynı zamanda diğer değerlerin yerini almak içinde kullanabilirsin. Böylelikle hangi değerin hangi değere eşit olduğunu bu kısa yoldan bulabilirsin.


Not: Yeterki bir kodla uğraşıp emek verilsin, biz elimizden gelen her türlü desteği veririz. Diğerleri gibi hazıra konmayıp birşey çabaladığın için kendi adıma Teşekkür ediyor ve bu kod açıklamasını yapmaktan gurur duyuyorum.

Hoşça paylaşımlar.
Dipnot: Cenk hiç gözükme gözüme, Vefasızsın ;s3

ExrimCi 19 Haziran 2010 03:26

Cevap: spamfilter snotice Yadım
 
SevgiLi Cesuryurek Hocam konu iLe iLgiLendiğiniz için çok Tşk. £diyorum £Line koLuna ßiLgine sağLık. ßen serverimde atıLan her türLü ßan için kendi scriptime özeL ßan pencereLeri remotesi yaptım. ister kanaL, isterse server ßanı oLsun, ßir ßaşkası yada ßen ßen attığımda hemen hangi çeşit ßan atıLdıysa o ßanLa iLgiLi remote devreye girerek açıLan penecerede gösteriyor. ßu konuyu açtığımda spam fiLtere £kLeme yapıLdığında kimin £kLedğini gösteren satırı yapamamış sevgiLi Difuzyon arkadaşım yardımcı oLmuştu sağoLsun. ßu regex komutu ßana ßiraz yabancı geLiyor o yüzden açıkLmada yapmıştı regex komutu hakkında verdiği ßiLgiLer doğruLtusunda kendimce ßişiLer yapmaya çaLışıyorum fakat ßi yoL kat £demiyorum ßir kaç örnek iLe anLatıLarak gösteriLmiş oLsa oLayı kavramam daha ßasit oLucak. ßende ßu tür ßiLgiLendirme pencere remoteLeri çok var o yüzden ßu komuta çok ihtiyacım oLuyor özeLLikle notice ve snotice mesajLarında cümLenin istediğim yerinden istediğim keLimeyi veya ßir kaç keLimeyi çıkartıp aLmak istiyorum. ßana £n çok ßu komut Lazım ßu regex komutu haricinde ßir komutLa oLmaz mı acaba ? yapmış oLduğum ßiLgi penceresi remotem ßöyLe...
Kod:

on ^*:snotice:*Expiring*: {
  if $regex(dify,$1-,/\x28\w+\.+\s\s+\.+\.*\x29/) {
    window -e @Unban
    echo @Unban 4ZamanLı Ban BiLgi Penceresi AçıLış 11(7Daha önce iLeri tarihe veya zamana atıLmış Ban çeşidi11)
    echo @Unban 10 $+ $timestamp 13*** 7Unban10 AçıLan Ban Türü11: 0(13=0=9=11>7>4>8 $3 4<7<11<9=0=13=0)
    echo @Unban 10 $+ $timestamp 13*** 7Unban10 Banı AçıLan IP Numarası11: 0(13=0=9=11>7>4>7 $remove($gettok($4,2,64),$chr(41)) 4<7<11<9=0=13=0)
    echo @Unban 10 $+ $timestamp 13*** 7Unban10 Banı Atan Operatör11: 0(13=0=9=11>7>4>9 $remove($gettok($7,1,33),$chr(41)) 4<7<11<9=0=13=0)
    echo @Unban 10 $+ $timestamp 13*** 7Unban10 Banın AtıLış Nedeni Sebep11: 0(13=0=9=11>7>4>13( $regml(dify,1) 4<7<11<9=0=13=0)
    echo @Unban 10 $+ $timestamp 13*** 7Unban10 Banın AtıLış Tarihinden Bu Yana Geçen Zaman11: 0(13=0=9=11>7>4>0 $11 $12 4<7<11<9=0=13=0)
    echo @Unban 4ZamanLı Ban BiLgi Penceresi Kapanış
    echo @Unban 14#######################################################################################
    echo @Unban 
    halt
  }
}

Yani zamanLı server ßan atıLdığında zamanı doLan ßan server tarafından otomatik açıLınca ßu remote devreye giriyor. ßan açıkLaması yani sebebi kısmında probLem yaşiyorum. ßu $9 a denk geLiyor sade $9 yaptığımda ßan sebebinin iLk keLimesi çıkıyor, $9- yaptığımda ise snoticedeki ßan sebebinden ßaşLayarak snoticenin sonuna kadar oLan kısmı gösteriyor. sondaki set 60 seconds ago ßu cümLeyide içine aLıyor ßunu istemiyorum ayırmak istiyorum. ßu regex komutu iLe sebep kısmındaki açıkLamayı nasıL aLabiLirim veya ßir ßaşka komut iLe oLursa o komutu öğrenebiLirmiyim ? ayLardır ßu komutLa yatıp kaLkıyorum sabahLara kadar uğraşiyorum kafayı yicem sonunda ßiLgiLerini ßenimLe payLaşırmısın hocam ? şimdiden Tşk. £diyorum.

CesuryureK 19 Haziran 2010 05:51

Cevap: spamfilter snotice Yadım
 
en basitinden söylim sana

$remove($9-,set 60 seconds ago)

bu işini görür.

$remove'nin kullanımı ise;

$remove(kelime,o kelimede silinecek deger)

ExrimCi 19 Haziran 2010 10:42

Cevap: spamfilter snotice Yadım
 
ßu kod oLmadı hocam denemediniz gaLiba...


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

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk