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/)
-   -   Ignore konusu (https://www.ircforumlari.net/mirc-scripting-sorunlari/527538-ignore-konusu.html)

TİGeR 30 Mart 2013 23:40

Ignore konusu
 
Selamlar Herkese .. Dostlar Belirlediğimiz bir veya bir kac nick kanalda veya özelde seslendiği an otomatik olarak ignore edebiliceğimiz bi kod ayarlayabilirmiyiz?

By_ATMACA 31 Mart 2013 00:02

Cevap: Ignore konusu
 
Alıntı:

TİGeR Nickli Üyeden Alıntı (Mesaj 1041293888)
Selamlar Herkese .. Dostlar Belirlediğimiz bir veya bir kac nick kanalda veya özelde seslendiği an otomatik olarak ignore edebiliceğimiz bi kod ayarlayabilirmiyiz?

Buna Bak İstersen. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

TİGeR 31 Mart 2013 00:24

Cevap: Ignore konusu
 
Tskler ilgin için ama ben "otomatik" olarak ve bana özel/kanal seslendiği anda devreye girmesini istiorum, ilaveten ilk msjımda yazmayı unutmusum ignore edip msg yollasak daha güzel olur eminim bi yolu vardır :)

KiLLed 31 Mart 2013 11:55

Cevap: Ignore konusu
 
[BOX="+b"]on *:text:*:#:{
if ($nick == mısto) { ignore $nick | msg $chan $nick ignore edildin. }
if ($nick == fısto) { ignore $nick | msg $chan $nick ignore edildin. }
}[/BOX]

örnekteki gibi nickleri çoğaltabilirsin.

TİGeR 31 Mart 2013 20:27

Cevap: Ignore konusu
 
bu özelde yazdığı zamanda calısırmı ?

Krieq 01 Nisan 2013 00:17

Cevap: Ignore konusu
 
Alıntı:

TİGeR Nickli Üyeden Alıntı (Mesaj 1041294030)
bu özelde yazdığı zamanda calısırmı ?

Kod:

on *:text:*:#:{
olan kısmı

Kod:

on *:text:*:*:{
yaparsan çalışır.

KiLLed 02 Nisan 2013 10:36

Cevap: Ignore konusu
 
Krieq arkadaşın verdiği şekilde hem özel hem kanal için çalışır ama ayırmak istersen
on *:text:*:?:{
şeklinde yapabilirsin.

thunderboLt 05 Nisan 2013 22:57

Cevap: Ignore konusu
 
Alıntı:

TİGeR Nickli Üyeden Alıntı (Mesaj 1041293888)
Selamlar Herkese .. Dostlar Belirlediğimiz bir veya bir kac nick kanalda veya özelde seslendiği an otomatik olarak ignore edebiliceğimiz bi kod ayarlayabilirmiyiz?

"Seslendiği an" dediğiniz için konu içinde verilmiş örnek doğru değil.

Kod:

on seslenme:text:$(* $+ $me $+ * ):*:{
ignore $nick | notice $nick Ignore edildin.
}

Nickleri belirlemek için kullanmanız gereken iki komut var.
Nick eklemek için:
/auser seslenme Nick!*@*
Nick silmek için:
/ruser seslenme Nick!*@*

Listedeki biri size seslendiği an ignore eder/notice gönderir.

TİGeR 10 Mayıs 2013 10:13

Cevap: Ignore konusu
 
Calısmıyor :S bir kez daha anlatayım belki anlasılmamıstır ignore edilcek nick kanalda seslendiği zaman mesela ( Ahmet nasılsın?) seklinde, özelimde ise nickimi tab etmesine gerek kalmadan her ne yazarsa yazsın (selam nbr? ) gibi ignore edilmesini notice gönderilmesini ve özel penceresinin kapanmasını istiyorum Kolay gelsin ..

Krieq 10 Mayıs 2013 13:40

Cevap: Ignore konusu
 
Kod:

on *:text:$(* $+ $me $+ * ):#:{
if ($nick == Ali) { .ignore $nick | close -m $nick | notice $nick Kanalda Nickimi Yazdığın İçin İgnore Edildin. }
}


Kod:

on *:open:*: if ($nick == ali) { .ignore $nick | close -m $nick | notice $nick Özelime Yazdığın İçin İgnore Edildin. }
}

Kanalda nickini yazdığında yada özeline geldiğinde ignore eder.Özeline ne yazdığı önemli değil,gelir gelmez ignore edilir.

TİGeR 12 Mayıs 2013 15:24

Cevap: Ignore konusu
 
Alıntı:

Krieq Nickli Üyeden Alıntı (Mesaj 1041300641)
Kod:

on *:text:$(* $+ $me $+ * ):#:{
if ($nick == Ali) { .ignore $nick | close -m $nick | notice $nick Kanalda Nickimi Yazdığın İçin İgnore Edildin. }
}


Kod:

on *:open:*: if ($nick == ali) { .ignore $nick | close -m $nick | notice $nick Özelime Yazdığın İçin İgnore Edildin. }
}

Kanalda nickini yazdığında yada özeline geldiğinde ignore eder.Özeline ne yazdığı önemli değil,gelir gelmez ignore edilir.


Tesekkurler [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod istediğim gibi calısıyor, Peki nickleri coğaltma imkanımız varmı ?

Krieq 12 Mayıs 2013 17:21

Cevap: Ignore konusu
 
Alıntı:

TİGeR Nickli Üyeden Alıntı (Mesaj 1041300951)
Tesekkurler [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod istediğim gibi calısıyor, Peki nickleri coğaltma imkanımız varmı ?

Dialog haline getirdim.
/hkn ile dialogu açabilirsin.

Kod:

alias hkn { dialog -m hknprv hknprv }
on *:open:?:*:{
  if !$istok(%krq,$nick,32) == $true { halt }
  close -m $nick
  ignore $nick
  notice $nick Özelime Yazdığınız İçin Engellendiniz.
}
on *:text:$(* $+ $me $+ * ):#:{
  if !$istok(%krq,$nick,32) == $true { halt }
  close -m $nick
  ignore $nick
  notice $nick Kanal Genelinde Nickimi Yazdığınız İçin Engellendiniz.
}
dialog hknprv {
  title "Nick Engelleme"
  size -1 -1 101 140
  option dbu
  list 1, 1 0 97 106, size
  edit "", 2, 3 110 62 11, center
  button "Ekle", 3, 67 110 29 11
  text "Silmek için nickin üstüne çift tıkla", 4, 9 127 85 8
}
on *:dialog:hknprv:init:0: {
  if (%krq) .didtok $dname 1 32 $ifmatch
}
on *:dialog:hknprv:sclick:*: {
  if ($did == 3) {
    if ($did(2) != $null) {
      set -u %ozel $did(2)
      if (%ozel) && (!$istok(%krq,%ozel,32)) {
        .set %krq $addtok(%krq,%ozel,32)
        did -a $dname 1 %ozel
      }
    }
  }
}
on *:dialog:hknprv:dclick:*: {
  if ($did(1).sel > 0) {
    .ignore -r $did(1).seltext
    .set %krq $remtok(%krq,$did(1).seltext,1,32)
    did -d $dname 1 $did(1).sel
    did -c $dname 1 1
  }
}


TİGeR 25 Mayıs 2013 23:37

Cevap: Ignore konusu
 
Kod için tşk ederim istediğim gibi calısıyor, peki bu kisi notice yolladığındada calısırmı? calısmıyorsa nasıl düzenleriz tşkler..

Krieq 26 Mayıs 2013 20:24

Cevap: Ignore konusu
 
Kod:

on *:notice:*:?: {
  if !$istok(%krq,$nick,32) { halt }
  close -m $nick
  ignore $nick
  notice $nick Bana notice attığınız için engellendiniz.
}

Remoteye ekle.

TİGeR 27 Mayıs 2013 00:11

Cevap: Ignore konusu
 
Alıntı:

Krieq Nickli Üyeden Alıntı (Mesaj 1041304927)
Kod:

on *:notice:*:?: {
  if !$istok(%krq,$nick,32) { halt }
  close -m $nick
  ignore $nick
  notice $nick Bana notice attığınız için engellendiniz.
}

Remoteye ekle.

Yukardaki kod bana notice atan herkesimi ignore edicek? yoksa belirlediğim nicklerimi? tam anlayamadım birde bunu diğer koddan ayrı olarak yeni bir remote sayfasınamı ekliyoruz?

IRC-Dancer 27 Mayıs 2013 02:54

Cevap: Ignore konusu
 
;--- Notice atan kişileri engellicek şekilde ayarlamış.
;--- Remote '' kodun devamı '' sayfaya ekliceksin.

TİGeR 27 Mayıs 2013 13:47

Cevap: Ignore konusu
 
Hmm, Peki notice atanları değilde msj atanlarda oldugu gibi sadece belirlediğimiz kisiler notice atınca calışsa?

Krieq 27 Mayıs 2013 20:51

Cevap: Ignore konusu
 
İlle de sayfalarca açıklama mi yapmak gerek.kod yukarda yazdığım dialog kodu ile çalışır.dialogda eklediğin nickler notice atınca çalışır sadece. Sadece ilk satırındaki ?: kısmını sil.yukardaki textten kopy yaparken onu kaldırmayı unutmuşum.yani ilk satır on *:notice:*: { olacak.

TİGeR 22 Eylül 2014 16:37

Cevap: Ignore konusu
 
Bunda nickleri coğaltabiliyormuyduk ?

TİGeR 11 Şubat 2016 22:24

Cevap: Ignore konusu
 
Konuyu tekrar hortlatıyorum :)
Aşşagıdaki kod belirlediğimiz nick özele geldiği an ignore edilior cok güzelde calısıyor peki bu kodu nick + ip aralığı seklinde düzenleyebilrmiyiz?
Örnek: Misafir41454 nickli bir kullanıcı bana yazdı bunun ip adresi 178.152 ile baslıor bu kısım genelde degismeyen bölüm , bu ve buna benzer ip aralıgı ile baslayan ipleri özele geldiği an ignore etme sansımız varmı ? tşkler


Kod:

on *:text:$(* $+ $me $+ * ):#:{
if ($nick == Ali) { .ignore $nick | close -m $nick | notice $nick Kanalda Nickimi Yazdığın İçin İgnore Edildin. }
}


Feragat 12 Şubat 2016 01:11

Cevap: Ignore konusu
 
Alıntı:

TİGeR Nickli Üyeden Alıntı (Mesaj 1041741563)
Konuyu tekrar hortlatıyorum :)
Aşşagıdaki kod belirlediğimiz nick özele geldiği an ignore edilior cok güzelde calısıyor peki bu kodu nick + ip aralığı seklinde düzenleyebilrmiyiz?
Örnek: Misafir41454 nickli bir kullanıcı bana yazdı bunun ip adresi 178.152 ile baslıor bu kısım genelde degismeyen bölüm , bu ve buna benzer ip aralıgı ile baslayan ipleri özele geldiği an ignore etme sansımız varmı ? tşkler


Kod:

on *:text:$(* $+ $me $+ * ):#:{
if ($nick == Ali) { .ignore $nick | close -m $nick | notice $nick Kanalda Nickimi Yazdığın İçin İgnore Edildin. }
}


bunun için mIRC Access Levels özelliğini kullanabilirsin
Kod:

on x:text:$(* $+ $me $+ * ):#:{
x seviyesine nick, ip veya ident tanımlayabilirsin

Nick - Ident - IP Eklemek

Örnek:

Kod:

/auser x Nick!ident@IP
/auser x Feragat!*@* - Nick Feragat ise
/auser x *!mIRC@* - Ident mIRC ise
/auser x *!*@178.152.* - IP adresi 178.152 ile başlıyorsa
gibi..

Nick - Ident - IP Silmek
Örnek:
Kod:

/ruser x Feragat!*@*
/ruser x *!*@178.152.*

gibi..

Faydalı kaynaklar
1- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
2- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

SuLh 12 Şubat 2016 01:39

Cevap: Ignore konusu
 
Ip'den tespit edip sorgulatman için bize gerekli veriler neler olmalıdır?

- Kişinin ip'sini görebilmek
- Bu ip'yi ayıklamak
- Ve kendi ip ağımızla karşılaştırmak.


Kişinin ip'sini görebilmek için gerekli flaglara sahip olduğumuzu varsayıyorum. En basit yolu ile bir nick ipsini "Whois" çekerek görebiliriz. Yani bize gerekli olan verilerden ilkini sağlıyoruz.

Whois çektiğimizde önümüze şöyle bir tablo gelecektir muhtemelen;
Kod:

1 ® Nick : 12 SuLh
1 ® Adres : 12 .@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]Admin.ESohbet.Net
1 ® Full Name : 12 .
SuLh  +iowghraAsOxNWqtp +kcfFvGqSso modlarını kullanıyor
SuLh  *@* 12.12.12.12 adresinden bağlantı kuruyor

Burada ip'yi ayıklamaya çalışmamız gerekecek. Aslında whoisin bize döndüğü cevaplar, ham veri dediğimiz rawlara tekabül ediyor. Server bize bu rawları numaralarıyla dönüyor ve bize buna göre işlem olanağı sunuyor. Daha detaylı anlatımı için: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Bize gerekli olan kısmı bulalım, yani whois içerisinde gelen rawlardan hangisi ip'yi bize veriyor bunu görelim. bunun için şöyle bir kod deneyelim.
Kod:

raw *:*: { echo -a $numeric : $1- }
yaptığımızda artık serverın bütün raw mesajlarını numaralarıyla birlikte görebiliriz. şimdi bakalım whoisin rawında neler var?

Kod:

311 : SuLh SuLh . RootAdmin.ESohbet.Net * .
379 : SuLh SuLh +iowghraAsOxNWqtp +kcfFvGqSso modlarını kullanıyor
SuLh  +iowghraAsOxNWqtp +kcfFvGqSso modlarını kullanıyor
378 : SuLh SuLh *@* 12.12.12.12 adresinden bağlantı kuruyor

yani gördüğümüz gibi 378 rawı benim ip'yi verdi. burası bize ileride lazım olacak. burayıda hallettiysek başlayalım o halde.

öncelikle bir engel adında alias oluşturalım,

Kod:

alias engel {
daha sonra işi biraz daha süslendirelim ve gerekli if (eğer) koşullarını ekleyelim.

Not: IF-THEN-ELSE için detaylı anlatım: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Hiçbir şey yazılmadığını varsayalım ve bunun gerçekleşmesi halinde uyarı verip işlemi sonlandıralım:

Kod:

if !$1 { echo -a Engellenecek bir ip giriniz! | return }
Not: aliaslarda belirlenen alias kısayolundan sonra gelen kelime mIRC tarafından $1 olarak algılanır, alias için detaylı anlatım: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Daha sonra ip yerine nick girmeye çalıştığımızı varsayalım ve buna uyarı verelim.
+
İçinde "." olmadığı ihtimalini göze alalım, yoksa bu ip olarak belirlenemeyecektir.
+
Son olarak 2 kısımdan fazla ip girme olasılığını göze olalım. ( Statik ip'lerde kurum tarafından atanan ipnin son iki hanesi değişir.)
Kod:

if !$regex($1,/^[0-9]/)  || !$regex($1,\.) || $token($1,0,46) > 2 { echo -a Lutfen ilk iki hanesini yazacağınız "ip" giriniz. | return }
if !$regex($1,/^[0-9]/) || !$regex($1,\.) : Burada ilk olarak 0-9 arası rakamlarla başlamıyorsa ve içerisinde "." karakteri geçmiyorsa anlamı çıkartabiliriz.
$token($1,0,46) > 2 burada yazdığımız kelime eğer ascii kodu 46 olan "." karakterinden 2 den fazla içeriyorsa anlamı taşır.

Ve son olarak ip'nin daha önce eklendiği ihtimalini göze alalım;
bunu $read ile sorgulatalım, $read ve dosya/klasör identifiersları detaylı kullanımı için: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Kod:

if $read(engel.txt,w,$1) { echo -a Daha once bu ip'yi eklediniz. | return }
şimdi eğer seçeneklerimiz doğrulanıyorsa, $1 ipsini engel.txt'mize yazdıralım..

Kod:

  write engel.txt $1
ve aliasımızı bitirelim artık, sorgulatmaya geçelim.

Kod:

alias engel {
  if !$1 { echo -a Engellenecek bir ip giriniz. | return }
  if !$regex($1,/^[0-9]/) || !$regex($1,\.) || $token($1,0,46) > 2 { echo -a Lutfen ilk iki hanesini yazacağınız "ip" giriniz. | return }
  if $read(engel.txt,w,$1) { echo -a Daha once bu ip'yi eklediniz. | return }
  echo -a Engel listesine $1 'i eklediniz.
  write engel.txt $1
}

Şimdi "open" pencere açıldığında anlamı taşıyan eventimizi kullanalım.

Kod:

on *:open:? {
ve özelimize gelen nickin sunucu da herhangi bir botun/servisin nicki olup olmadığını algılatalım.

Kod:

if $istok(NickServ Chanserv OperServ Radyo SuLh,$nick,32) {  return }
gelen nicki bir değişkene aktaralım, bu bize raw kontrolü sırasında kolaylık sağlayacaktır.

Kod:

  set %:enick $nick
eh nicki de aldığımıza göre bi whois çektirebiliriz artık...

Kod:

whois $nick
open eventiyle de işimiz bitti.

Kod:

on *:open:? {
  if $istok(NickServ Chanserv OperServ Radyo Sr,$nick,32) { echo -a SuLh bu. | return }
  set %:enick $nick
  whois  $nick
}



Şimdi başlayalım raw sorgusuna:

Kod:

raw 378:*: {
evet bu rawı en başta açıklamıştık, şimdi burada 378 numaralı rawdan bilgi geldiğinde harekete geç diyoruz.

şimdi farklı bir zamanda çektiğimiz whoisin etkilememesi için %:enick değişkenine nickimizi atamıştık bunu sorgulatalım.
if $2 = %:enick {

daha sonra ip ağımızda olup olmadığına bakalım, bunu yine $read ile yapacağız ve $token ile ayrıştıracağız.

Kod:

  if $read(engel.txt,w,$token($4,1-2,46)) {
eğer bu koşulda tutuyor ise;

Kod:

      ignore %:enick
      close -m %:enick
      msg %:enick Engel listemdesin!

artık gereken şeyleri uygulatalım.. ve sonlandıralım.

Kod:

raw 378:*: {
  if $2 = %:enick {
    if $read(engel.txt,w,$token($4,1-2,46)) {
      ignore %:enick
      close -m %:enick
      msg %:enick Engel listemdesin!
    }
  }
}



epeydir hastaydım, özlediğimden bu kadar ayrıntıya girdim :p

TİGeR 12 Şubat 2016 15:02

Cevap: Ignore konusu
 
Alıntı:

Feragat Nickli Üyeden Alıntı (Mesaj 1041741655)
bunun için mIRC Access Levels özelliğini kullanabilirsin
Kod:

on x:text:$(* $+ $me $+ * ):#:{
x seviyesine nick, ip veya ident tanımlayabilirsin

Nick - Ident - IP Eklemek

Örnek:

Kod:

/auser x Nick!ident@IP
/auser x Feragat!*@* - Nick Feragat ise
/auser x *!mIRC@* - Ident mIRC ise
/auser x *!*@178.152.* - IP adresi 178.152 ile başlıyorsa
gibi..

Nick - Ident - IP Silmek
Örnek:
Kod:

/ruser x Feragat!*@*
/ruser x *!*@178.152.*

gibi..

Faydalı kaynaklar
1- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
2- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Alıntı:

SuLh Nickli Üyeden Alıntı (Mesaj 1041741661)
Ip'den tespit edip sorgulatman için bize gerekli veriler neler olmalıdır?

- Kişinin ip'sini görebilmek
- Bu ip'yi ayıklamak
- Ve kendi ip ağımızla karşılaştırmak.


Kişinin ip'sini görebilmek için gerekli flaglara sahip olduğumuzu varsayıyorum. En basit yolu ile bir nick ipsini "Whois" çekerek görebiliriz. Yani bize gerekli olan verilerden ilkini sağlıyoruz.

Whois çektiğimizde önümüze şöyle bir tablo gelecektir muhtemelen;
Kod:

1 ® Nick : 12 SuLh
1 ® Adres : 12 .@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]Admin.ESohbet.Net
1 ® Full Name : 12 .
SuLh  +iowghraAsOxNWqtp +kcfFvGqSso modlarını kullanıyor
SuLh  *@* 12.12.12.12 adresinden bağlantı kuruyor

Burada ip'yi ayıklamaya çalışmamız gerekecek. Aslında whoisin bize döndüğü cevaplar, ham veri dediğimiz rawlara tekabül ediyor. Server bize bu rawları numaralarıyla dönüyor ve bize buna göre işlem olanağı sunuyor. Daha detaylı anlatımı için: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Bize gerekli olan kısmı bulalım, yani whois içerisinde gelen rawlardan hangisi ip'yi bize veriyor bunu görelim. bunun için şöyle bir kod deneyelim.
Kod:

raw *:*: { echo -a $numeric : $1- }
yaptığımızda artık serverın bütün raw mesajlarını numaralarıyla birlikte görebiliriz. şimdi bakalım whoisin rawında neler var?

Kod:

311 : SuLh SuLh . RootAdmin.ESohbet.Net * .
379 : SuLh SuLh +iowghraAsOxNWqtp +kcfFvGqSso modlarını kullanıyor
SuLh  +iowghraAsOxNWqtp +kcfFvGqSso modlarını kullanıyor
378 : SuLh SuLh *@* 12.12.12.12 adresinden bağlantı kuruyor

yani gördüğümüz gibi 378 rawı benim ip'yi verdi. burası bize ileride lazım olacak. burayıda hallettiysek başlayalım o halde.

öncelikle bir engel adında alias oluşturalım,

Kod:

alias engel {
daha sonra işi biraz daha süslendirelim ve gerekli if (eğer) koşullarını ekleyelim.

Not: IF-THEN-ELSE için detaylı anlatım: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Hiçbir şey yazılmadığını varsayalım ve bunun gerçekleşmesi halinde uyarı verip işlemi sonlandıralım:

Kod:

if !$1 { echo -a Engellenecek bir ip giriniz! | return }
Not: aliaslarda belirlenen alias kısayolundan sonra gelen kelime mIRC tarafından $1 olarak algılanır, alias için detaylı anlatım: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Daha sonra ip yerine nick girmeye çalıştığımızı varsayalım ve buna uyarı verelim.
+
İçinde "." olmadığı ihtimalini göze alalım, yoksa bu ip olarak belirlenemeyecektir.
+
Son olarak 2 kısımdan fazla ip girme olasılığını göze olalım. ( Statik ip'lerde kurum tarafından atanan ipnin son iki hanesi değişir.)
Kod:

if !$regex($1,/^[0-9]/)  || !$regex($1,\.) || $token($1,0,46) > 2 { echo -a Lutfen ilk iki hanesini yazacağınız "ip" giriniz. | return }
if !$regex($1,/^[0-9]/) || !$regex($1,\.) : Burada ilk olarak 0-9 arası rakamlarla başlamıyorsa ve içerisinde "." karakteri geçmiyorsa anlamı çıkartabiliriz.
$token($1,0,46) > 2 burada yazdığımız kelime eğer ascii kodu 46 olan "." karakterinden 2 den fazla içeriyorsa anlamı taşır.

Ve son olarak ip'nin daha önce eklendiği ihtimalini göze alalım;
bunu $read ile sorgulatalım, $read ve dosya/klasör identifiersları detaylı kullanımı için: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Kod:

if $read(engel.txt,w,$1) { echo -a Daha once bu ip'yi eklediniz. | return }
şimdi eğer seçeneklerimiz doğrulanıyorsa, $1 ipsini engel.txt'mize yazdıralım..

Kod:

  write engel.txt $1
ve aliasımızı bitirelim artık, sorgulatmaya geçelim.

Kod:

alias engel {
  if !$1 { echo -a Engellenecek bir ip giriniz. | return }
  if !$regex($1,/^[0-9]/) || !$regex($1,\.) || $token($1,0,46) > 2 { echo -a Lutfen ilk iki hanesini yazacağınız "ip" giriniz. | return }
  if $read(engel.txt,w,$1) { echo -a Daha once bu ip'yi eklediniz. | return }
  echo -a Engel listesine $1 'i eklediniz.
  write engel.txt $1
}

Şimdi "open" pencere açıldığında anlamı taşıyan eventimizi kullanalım.

Kod:

on *:open:? {
ve özelimize gelen nickin sunucu da herhangi bir botun/servisin nicki olup olmadığını algılatalım.

Kod:

if $istok(NickServ Chanserv OperServ Radyo SuLh,$nick,32) {  return }
gelen nicki bir değişkene aktaralım, bu bize raw kontrolü sırasında kolaylık sağlayacaktır.

Kod:

  set %:enick $nick
eh nicki de aldığımıza göre bi whois çektirebiliriz artık...

Kod:

whois $nick
open eventiyle de işimiz bitti.

Kod:

on *:open:? {
  if $istok(NickServ Chanserv OperServ Radyo Sr,$nick,32) { echo -a SuLh bu. | return }
  set %:enick $nick
  whois  $nick
}



Şimdi başlayalım raw sorgusuna:

Kod:

raw 378:*: {
evet bu rawı en başta açıklamıştık, şimdi burada 378 numaralı rawdan bilgi geldiğinde harekete geç diyoruz.

şimdi farklı bir zamanda çektiğimiz whoisin etkilememesi için %:enick değişkenine nickimizi atamıştık bunu sorgulatalım.
if $2 = %:enick {

daha sonra ip ağımızda olup olmadığına bakalım, bunu yine $read ile yapacağız ve $token ile ayrıştıracağız.

Kod:

  if $read(engel.txt,w,$token($4,1-2,46)) {
eğer bu koşulda tutuyor ise;

Kod:

      ignore %:enick
      close -m %:enick
      msg %:enick Engel listemdesin!

artık gereken şeyleri uygulatalım.. ve sonlandıralım.

Kod:

raw 378:*: {
  if $2 = %:enick {
    if $read(engel.txt,w,$token($4,1-2,46)) {
      ignore %:enick
      close -m %:enick
      msg %:enick Engel listemdesin!
    }
  }
}



epeydir hastaydım, özlediğimden bu kadar ayrıntıya girdim :p


Cvplar icin cok tesekkür ediyorum . Lakiin Once Feragat hocanın tarifine göre biseyler yaptım calıstıramadım tepki yok yani

daha sora Sulh Hocanın verdiği kodlara göre birleştirip biseyler yapım Mirc kafayı yedi :D
sonuc: beceremedik sanırım :S

SuLh 12 Şubat 2016 18:44

Cevap: Ignore konusu
 
mIRC access levels'de host da kullanabilirsin.

$address(nick,2) dönüşü, kullanıcının hostunu verecektir, bunu x seviyesine ekleterek Feragat'ın dediklerini gerçekleştirebilirsin.

ben her konunun sonuna kodu birleştirmiştim zaten.

Kod:

alias engel {
  if !$1 { echo -a Engellenecek bir ip giriniz. | return }
  if !$regex($1,/^[0-9]/) || !$regex($1,\.) || $token($1,0,46) > 2 { echo -a Lutfen ilk iki hanesini yazacağınız "ip" giriniz. | return }
  if $read(engel.txt,w,$1) { echo -a Daha once bu ip'yi eklediniz. | return }
  echo -a Engel listesine $1 'i eklediniz.
  write engel.txt $1
}
on *:open:? {
  if $istok(NickServ Chanserv OperServ Radyo Sr,$nick,32) { echo -a SuLh bu. | return }
  set %:enick $nick
  whois  $nick
}
raw 378:*: {
  if $2 = %:enick {
    if $read(engel.txt,w,$token($4,1-2,46)) {
      ignore %:enick
      close -m %:enick
      msg %:enick Engel listemdesin!
    }
  }
}


TİGeR 12 Şubat 2016 22:23

Cevap: Ignore konusu
 
Alıntı:

SuLh Nickli Üyeden Alıntı (Mesaj 1041741948)
mIRC access levels'de host da kullanabilirsin.

$address(nick,2) dönüşü, kullanıcının hostunu verecektir, bunu x seviyesine ekleterek Feragat'ın dediklerini gerçekleştirebilirsin.

ben her konunun sonuna kodu birleştirmiştim zaten.

Kod:

alias engel {
  if !$1 { echo -a Engellenecek bir ip giriniz. | return }
  if !$regex($1,/^[0-9]/) || !$regex($1,\.) || $token($1,0,46) > 2 { echo -a Lutfen ilk iki hanesini yazacağınız "ip" giriniz. | return }
  if $read(engel.txt,w,$1) { echo -a Daha once bu ip'yi eklediniz. | return }
  echo -a Engel listesine $1 'i eklediniz.
  write engel.txt $1
}
on *:open:? {
  if $istok(NickServ Chanserv OperServ Radyo Sr,$nick,32) { echo -a SuLh bu. | return }
  set %:enick $nick
  whois  $nick
}
raw 378:*: {
  if $2 = %:enick {
    if $read(engel.txt,w,$token($4,1-2,46)) {
      ignore %:enick
      close -m %:enick
      msg %:enick Engel listemdesin!
    }
  }
}


Kullanımı nasıl hocam bunun ya engel.txt'e ip ekliyoruz koduda remoteye ekliyoruz otomatik calısıyor doğrumudur ?

SuLh 12 Şubat 2016 23:32

Cevap: Ignore konusu
 
İlk iki hanesini istemistin @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
/engel 122.122 gibi iki hane ekliyorsun sadece.

TİGeR 12 Şubat 2016 23:49

Cevap: Ignore konusu
 
Alıntı:

SuLh Nickli Üyeden Alıntı (Mesaj 1041742071)
İlk iki hanesini istemistin @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
/engel 122.122 gibi iki hane ekliyorsun sadece.

aynen bu sekilde ekliyorumm /engel 187.98 örnek < fakat calısmadı sadece wgois cekiyor yazan nick gene yazabiliyor yni :d

SuLh 13 Şubat 2016 23:41

Cevap: Ignore konusu
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Userin whoisten ip'sini görecek flagların yoksa göremezsin.

Açıklamaları yazmadan hemen önce bak şunu yazmıştım

Kod:

Kişinin ip'sini görebilmek için gerekli flaglara sahip olduğumuzu varsayıyorum.
ben bunda komik bir şey göremedim yalnız.

Feragat 14 Şubat 2016 02:56

Cevap: Ignore konusu
 
Pek çok sunucuda oper-admin veya özel hostlara sahip olmayan kullanıcıların userhost olarak IP adresinin bir kaç hanesi gözükmekte, Access Levels örneğini bu yüzden vermiştim.
Dilersen onu da baz alabilirsin.
Biraz kolaylık sağlar sana

Örnek:
Kod:

[02:51] * Joins: deney123 (mIRC@78.170.A608B4D7.9E1C2F3A)


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

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