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/)
-   -   Server Korumasindan Ilallah (https://www.ircforumlari.net/mirc-scripting-sorunlari/33814-server-korumasindan-ilallah.html)

VoLaTiLe 08 Temmuz 2007 17:41

Server Korumasindan Ilallah
 
Merhaba arkadaşlar, aslında bunu dün akşam düşünüp paylaşmak istedim.

Çoğu IRC server'ı kullanıcınını yazdığı bazı mesajları, spam/reklam olarak algılayıp karşı tarafa gönderilmesine izin vermemektedir.

Örneğin IRC.showtvnet.com(reklam amacı taşımadan) sunucusu "çocuğum" kelimesini spam/reklam ile karıştırıp(belki algılayıp) karşı tarafa gönderilmesine izin vermiyor.

İşte bu aşamada şöyle birşey olabilir mi;

Kullanıcı mIRC'i açıp, bağlandığı server'da böyle bir koruma var ise, add-on'u aktif hale getirecek(daha sonra isterse kapatabilecek) sunucuda yasaklı olan kelimeleri add-on'un hafızasına kullanıcı tanımlı olarak(kendisi) girecek ve bu mesajların karşı tarafa iletilebilmesi için mesajların arasında boşluk ve ya başka bir algoritma koyup, tanınmaması için düzelttikten sonra karşı tarafa yollayacak.

Mesela şöyle;

Connected irc.abc.com [bağlandık]
/on SmartMessage [bu sunucuda yasak olduğu için korumayı açtık]
/panel [paneli açtık]
!ekle çocuğum[sunucuda yasaklı olan "çocuğum" hitabını ekledik]
/query nick [bir kullanıcının özeline gidiyoruz]
<ABC> n'haber ç o c u k? [yasaklı kelimeyi boşluk bırakarak karşı tarafa iletti]

ya da;

<ABC> n'haber çoc uk?

ya da;

<ABC> n'haber çocu k?

gibisinden...

NOT: Biliyorum sanki biraz isterik gibi oldu ama; gerçekten benim ve diğer kullanıcıların işine yarayabilecek bir nitelikle. Her ne kadar kodun tamamını yazmazsanız(yazsanız daha makbule geçerdi)kendimiz geliştirebilmek için biraz detayını açıp, yardımcı olursanız sevinirim.

Okuyan, okumayan, ilgi gösteren, göstermeyen, cevap veren, vermeyen herkese şimdiden teşekkürler.
İyi çalışmalar.

esrarlitolga 08 Temmuz 2007 18:17

Cevap: Server Korumasindan Ilallah
 
zaten var istediğin gibi bir addon öncelikle şu adresten indir [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ve aşağıdaki gibi kelimeni ekle
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

VoLaTiLe 08 Temmuz 2007 18:19

Yanıt: Server Korumasindan Ilallah
 
esrarlitolga gerçekten teşekkür ederim, şimdi add-on'u indirip deneyeceğim; umarım beklediğim gibidir.
Senin gibi duyarlı insanların olması çok hoş, zahmet etmişsin; eksik olma.
Teşekkür ederim.

esrarlitolga 08 Temmuz 2007 18:27

Cevap: Server Korumasindan Ilallah
 
eyvallah yardımcı olabildiysem ne mutlu bana : )

detay 09 Temmuz 2007 02:40

Cevap: Server Korumasindan Ilallah
 
Umarim bu tür bir kod bloke edilen reklamlarida aşmak icin kullanilmaz

VoLaTiLe 09 Temmuz 2007 11:37

Yanıt: Server Korumasindan Ilallah
 
RE:

Maalesef üzülerek söylüyorum, yukarıdaki verdiğiniz add-on hatalı ve çalışmıyor.
Add-on'u kurduktan sonra mIRC'den çalıştırıyorum, kelime girmek istediğimizde(ne olursa olsun) hatalı ya da eksik olduğunu söylüyor. Üstelik kısaltılan kelimeyi tam anlamıyla karşı tarafa iletmiyor.
Mesela programa "ali"yi "a l i" diye kısaltma önerisi girerken, ali yazılınca, karşı tarafa yine ali diye gidiyor. Bir etkisi yok sanırım.

detay 09 Temmuz 2007 13:14

Cevap: Server Korumasindan Ilallah
 
Kod:

on *:input:*: {
;editbox'a enterlegimiz yazi komut icermiyorsa ve txt de geciyorsa..
  if /* !iswm $1- && $read(replace.txt,W,$1-) {
;Txtde buldugumuz yazi ile ayrilmis halini yer değiştiriyoruz tabiki aliasla.
    say  $replace($1-,$ifmatch,$ayir($ifmatch))
;Sonra 2 kez yazmasin diye de kodu durduruyoruz
    halt
  }
}

Kod:

alias ekle { write replace.txt $1- | echo -at $1- Listeye Eklendi }
alias sil { if $read(replace.txt,W,$1-) { write $+(-dl,$readn) replace.txt  | echo -at $ifmatch Listeden Silindi. } | else { echo -at $1- Listede bulunamadi } }

Kod:

menu status,menubar {
  Kelime Degistirici
  .Ekle:ekle $$?=Kelime?
  .Sil:Sil $$?=Kelime?
}

Kod:

;burda her harfi tek tek dolastirip while döngüsü ile arada birer bosluk olacak sekilde(addtok ve 32) tekrar birlestirdim döngü bittiginde bosluklu olarak geri döndü yazimiz.
alias ayir  { var %m = $len($1-) | var %t = 0 | while %t < %m { inc %t | var %' = $addtok(%',$wrap($1-,1,arial,2,%t),32) } | return %' }

sunucuya göre calismasi icin input a && xx.net isin $server { seklinde ekleme yapabilirsin yada
#kdegistir on
kodlar
#kdegistir end
yapip enable ve disable la acip kapatabilirsin

VoLaTiLe 09 Temmuz 2007 21:22

Yanıt: Server Korumasindan Ilallah
 
Gerçekten yorulmuşsun, belli.. Teşekkür ve tebrik etmek isterim.. Kodun çok sade ve sadece işlevini yerine getiriyor. Bir kaç ekstra düzenleme yaptım kodunda, altınada senin kodladığına dair ufak bir not. :)

Teşekkür ederim tekrardan; bu sefer tekrar patavatsızlığım üzerimde olacak. 2 ufacık(böö) rica olacak, umarım mazur görürsün. :)

1. ricam: Kodun adım adım, hangi işlevi, ne yaptığını, mantığını bana öğretir misin? [Step by Step] *Çoğunu anladım zaten, bir kaç husus dışında..

2. ricam: Ben bu kodu, daha çok bu işlevi isteyen sunucularda kullanmak istiyorum. Yani normal bir sunucuda, merhaba kelimesinin "m e r h a b a" olarak, ayrılması işime yaramaz doğrusu.
Bunun için load ve unload parametlerini düşündüm, ama unload'dan sonra, script kapanıp açılırsa; menüden silinecek kod.
Bunun için ne önerirsin, kodu açıp(on) kapatmak(off) için ne yapabiliriz?

Cevap verdiğin için şimdiden teşekkürler.
Sevgilerle...

SpecifiC 11 Temmuz 2007 23:43

Cevap: Server Korumasindan Ilallah
 
Biraz daha basit halini ve istedigin servere göre belirterek yazmaya çalışalım.
Kod:

on *:input:*: {
  ;Bu kısıma, aktif olmasını istedigimiz server adını yazıyoruz.
  ;Dikkat edilmesi gereken irc.ServerAdı.com uzantısındaki ServerAdı kısmını yazmamız.

  var %temp, %server = mynet,webmaster,under,sohbet,zurna
  if !$regex($1,^/) && $istok(%server,$gettok($server,2,46),44) && $server != $null {
    ;Bu kısıma ise aralarına boşluk koymasını istedigimiz kelimeleri yazıyoruz.
    ;Tabi aralarında virgül koyarak.

    %temp = kelime,sevgi,barış,deneme
    if $regex(rgxc,$1-,$+(/,$chr(40),$replace(%temp,$chr(44),$chr(124)),$chr(41),/)g) {
      say $replace($1-,$regml(rgxc,1),$regsubex($regml(rgxc,1),/(.)/g,\1$chr(32)))
    }
    else {
      say $1-
    }
    halt
  }

Umarım işini görür hata ile karşılaşırsan eger buradan yardımcı olmaya çalışırım, kolay gelsin.


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

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