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

5Beğeni(ler)
  • 3 Post By CesuryureK
  • 1 Post By CesuryureK
  • 1 Post By Toprak

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 24 Mart 2011, 09:21   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
birden fazla sunucudan tek bir kanala yazıları yansıtma




Selamlar
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



başlıktan anlaşılacağı üzere kendi mircimden birden fazla sunucuya bağlanıyorum 35-40 kanalda 7/24 bağlı kalıyorum.eskiden tek sunucudayken böyle basit küçük bir kodla tek bir kanaldan diğer kanallardaki yazıları takip edebiliyordum :

on *:text:*:#kanal,#kanal1,#kanal2,#kanal3,#kanal4:ms g #anakanal  $chan = $time = $+  $nick  $+ -->  $1- 

şimdi birden fazla sunucda olunca tabi bu kod yetmez oldu bunu sunucuA sunucuB sunucuC diyelim tek birindeki misal SunucuA daki anakanalda toplamak tüm o sunucularda bulunduğum kanallarda geçen lakırdıları tek bir sunucunun benim seçtiğim bir kanalında yansıtmak mümkün müdür ?

teşekkürler..

iyi günler...

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Yazgulu Sohbet
Alt 24 Mart 2011, 12:54   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: birden fazla sunucudan tek bir kanala yazıları yansıtma




Socket yardımı ile yapabilirsin bunu , loglamak istediğin sunuculara socket bot göndericeksin + logların geleceği kanala ve sunucuyada 1 tane sock bot gönderip gelen logları 2. soktuğun botun aliasından kanalına yansıtabilirsin.

 
Alıntı ile Cevapla

Alt 24 Mart 2011, 13:27   #3
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: birden fazla sunucudan tek bir kanala yazıları yansıtma




Merhabalar.
Bu isteğinizi mIRC'in multi-server identifierlerinden $scon ile yapmak mümkün..

Kod ve ilgili önemli açıklamalar aşağıdadır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias cesuryurek { .cesur | .enable #yurek } alias cesur { var %cesur = 1, %yurek = $scon(0) while (%cesur <= %yurek) { if ($scon(%cesur).server == irc.anasunucu.com) { set %sconno %cesur } inc %cesur } } #yurek off on *:TEXT:*:#: { /scon %sconno /msg #KANAL $server $chan $+(<,$nick,>) $1- } #yurek end on *:disconnect: { .unset %sconno | .disable #yurek } on *:Exit: { .unset %sconno | .disable #yurek }

-----------------
KODU ALT+R yapınız.
Çıkan remote panelinin sol üst köşesinde "Dosya"(File) var. Ona tıklayınız.
Görüntülenen sekmelerden "Yeni"(New) diyip çıkan boş remote sayfasına kodu yapıştırınız.
-----------------

Kod ne zaman aktif olur ve nasıl olur?

öncelikle kodda geçen kırmızı renkteki 2 kısım var.
Birincisi #KANAL
İkincisi irc.anasunucu.com

#KANAL kısmına hangi kanala yazıların gideceğini belirtiyorsunuz.

irc.anasunucu.com ise, hangi sunucudaki kanala yazıların gideceğini belirtiyorsunuz. Eğerki anasunucu isminin tam olarak ne olduğunu ve koda neyi yapıştıracağınızı garantilemek istiyorsanız anasunucuda herhangi bir pencerede aşağıdaki komutu kullanıyorsunuz. Komudun başında çift slas ( // ) olmasına özen gösteriniz.

//echo -a $server

size verilecek irc sunucusunu kodda geçen irc.anasunucu.com yazıyorsunuz.

/cesuryurek diyip kodu aktifleştiriyorsunuz. Unutmayın tüm sunuculara girip komutu uygulamanızı öneriyorum.
------------------------------------------------

Aşağıdaki vereceğim bilgiler ise kodun açıklaması bu sizi ve buna benzer kod arayanların bundan sonra buna benzer kodları kendilerinin yapabilmesi için, kendi kendine kod öğrenmek isteyenlere yol göstermek adına biraz elimi yorup kodun açıklamasını genişçe yapmak istiyorum.

KODUN AÇIKLAMASI

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias cesur {

cesur adında bir alias oluşturuyoruz. alias kendimizin belirlediği komuttur. /cesur şeklinde çalışır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
var %cesur = 1, %yurek = $scon(0)

var kod içerisinde bir değişkeni belirlemek, atamak için kullanılır. Burda iki değişkenimiz var %cesur ve %yurek . burdaki % işaretinden sonra yazılan kelimenin bir değeri yoktur yani istediğiniz şekilde değişken ismi belirleyebilirsiniz. ben %cesur ve %yurek olarak belirttim.
%cesur değişkenini 1 sayısına eşitledim. Yani bundan sonra kodda 1 yerine %cesur yazdığımda 1 olacaktır.
%yurek değişkenini de girdiğim sunucu sayısına eşitledim
//echo -a $scon(0) : girdiğim sunucu sayısıdır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
while (%cesur <= %yurek) {

while döngü demektir. parantez içinde belirlediğimiz şartlar gerçekleşene kadar döngü devam eder. Burdaki döngümüz %cesur değişkeninin %yurek değişkenine eşit olması veya %yurek değişkeninden büyük olmasıdır. ki büyük olması söz konusu değil lakin kodun doğru çalışması için bu şekilde yapılması gerekir. İsteseydik == şeklinde eşitleyebilirdik değişen birşey olmaz. Çünkü %cesur olarak atadığımız değer hiçbir zaman %yurek değerden büyük olamayacağı için problem yok.
Kısacası %cesur olarak atadığımız 1 sayısı girdiğimiz sunucu sayısına ulaşana kadar döngü devam etsin demektir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if ($scon(%cesur).server == irc.anasunucu.com) { set %sconno %cesur }

if eğer koşuludur. Kodlama yapmak aynen Türkçe yazıp düşünmek gibidir.
"Eğer Ahmet gelirse ben gelmem" bu bir koşuldur gitmenizin koşulu ahmetin gelmemesidir. Ahmet gelirse bu durumda siz gitmeyeceksiniz. İşte kodda da aynen böyledir.
döngümüz %cesur değerinin %yurek değerine eşitlenene kadar devam edeceğini üst satırlarda belirtmiştik.
//echo -a $scon(1).server
//echo -a $scon(2).server
vs.
burdaki 1, 2 yerine kaç tane sunucuda bulunuyorsak o kadar sayıyı koyabiliriz. Bu kod satırının amacı. anasunucunun numarasını bulmak. anasunucu numarası anasunucuya eşitlenince hemen ALT+R remote panelinde Variable dediğimiz kısıma
%Scanno sayı
kısmını ekleyecektir. bu da TEXT eventinde aşağıda belirteceğim şekilde işlev görecektir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
inc %cesur

bu satırda geçen inc kısmı %cesur kısmı 1 arttır demektir.
1 eşit değilse 5'e %cesur olarak atadığımız değeri 1 attır demektir taki 1 sayısı artırılıp 5 olup 5=5 koşulu sağlana kadar döngüde(while) çalışır.
hatırlarsanız %cesur <= %yurek yapmıştık bu koşul olana kadar %cesur sayısı bir artıp döngü başa sarıp gene kontrol edecek eğerki gene eşitlik sağlanamazsa %cesur sayısı 1 artırılıp gene döngü başa sarıp taki %cesur sayısı %yurek sayısına eşit olana kadar kod çalışacaktır..

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:TEXT:*:#: { /scon %sconno /msg #KANAL $server $chan $nick $1- }

TEXT eventi başkalarının kanalda yazı yazdığında harekete geçen, çalışan eventtir.
/scon 1 /msg #Chat Selam : Bu komut bulunduğunuz herhangi bir sunucudan, birinci sunucudaki #Chat kanalına selam yazmak için kullanılır.
Kodda ise, anasunucunun numarasını yukarıda anlattığım gibi döngüde bulmamızı sağlayıp %scanno değişkenine atamıştık.

İşte /scon %sconno /msg #kanal $server $chan $nick $1-
şeklinde herhangi bir sunucuda yazılan yazıyı anasunucudaki #kanal kısmında belirtilen yere $server ile hangi sunucuda $chan hangi kanalda ve $nick ile hangi nickin ve cümlesinin ne olduğunu $1- ile istediğimiz anasunucudaki kanala yansıtıyoruz.

Gelelim son değinmemiz gereken kısımlara

#yurek off
kod
kod
#yurek end

bu grup sistemidir ve gruptaki off kısmı on olduğunda çalışacağını off kısmında bulunması halinde kodun çalışmayacağını belirtir.

/enable #yurek şeklinde grupta belirtilen kod aktif olur.
/disable #yurek ise gruptaki kodun çalışmasını, deaktif olmasını sağlar.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias cesuryurek { .cesur | .enable #yurek }

bu kısım ise /cesuryurek şeklinde komut uyguladığımızda
.cesur komutunu ve #yurek olarak gruplandırılan kod dizinini aktifleştirir.

alias cesur kısmını zaten anasunucunun mircte solda kaç tane sunucu penceresi varsa anasununun baştan aşağıya doğru kaçıncı sırada olduğunu bulmamızı sağladığını yukarıdaki cesur aliasında açıklamıştım.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:disconnect: { .unset %sconno | .disable #yurek }

disconnect eventi, sunucudan bağlantımız kesildiğinde harekete geçen, çalışan koddur. bu event ile ALT+R panelinin Variable kısmına atadığımız %scanno değişkenini siler. ve disable #yurek komutu ile #yurek grubundaki kodların çalışmasını engeller.
Bu satırın amacı ise, disconnect durumunda anasunucunun sayısında değişiklik olabileceğinden kodun hatalı çalışmasını engellemek.

Aynı durum, aşağıda verdiğim EXIT eventinde de geçerli.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:Exit: { .unset %sconno | .disable #yurek }

mIRC kapatıldığında Disconnect eventinde olduğu gibi ALT+R panelinin Variable kısmına atadığımız %scanno değişkenini siler. ve disable #yurek komutu ile #yurek grubundaki kodların çalışmasını engeller. Gene amac kodun hatalı çalışmasını daha sonra mIRC açılıp sunuculara bağlandığında hatasız çalışmasını engellemek.

Umarım detaylı bir şekilde anlatmışımdır ve bu satırın sonuna geldiğinizde kodlama adına bir nebze birşey verebilmişimdir.

Hoşça paylaşımlar..

Not: "mIRC Scripting Dersleri" kısmından ilgili event alias bilgilerine ulaşabilirsiniz.

__________________
Şimdi Saat Sensizliğin Ertesi..
 
Alıntı ile Cevapla

Alt 24 Mart 2011, 14:22   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: birden fazla sunucudan tek bir kanala yazıları yansıtma




süper bir anlatım süper bir kod casuryurek eline saglık

----------

bu koda muaf kanallar ekleye bılırmıyız oyun kanalalrını yansıtmasa ıyı olur gıbı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
veya belirli kanallarını yansıtsa sunucuların

 
Alıntı ile Cevapla

Alt 24 Mart 2011, 15:32   #5
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: birden fazla sunucudan tek bir kanala yazıları yansıtma




Tabi eklenebilir. Şöyleki,

Diyelimki #Kelime #Oyun kanallarını muaf tutsun dersek,

#yurek off
on *:TEXT:*:#: {
/scon %sconno /msg #KANAL $server $chan $+(<,$nick,>) $1-
}
#yurek end

bu satırı aşağıdaki gibi değiştiriyoruz.

#yurek off
on *:TEXT:*:#: {
if (!$regex($chan,/(#Oyun|#Kelime|#Bilmece)/i) {
/scon %sconno /msg #KANAL $server $chan $+(<,$nick,>) $1-
}
}
#yurek end

şeklinde değiştiriyoruz.
Daha fazla kanal eklemek için #Kanal|#kanal1|#kanal2|#kanal3
şeklinde ekleme yaparsınız.

__________________
Şimdi Saat Sensizliğin Ertesi..
 
Alıntı ile Cevapla

Alt 24 Mart 2011, 15:43   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: birden fazla sunucudan tek bir kanala yazıları yansıtma




Merhaba

kodu şimdi denedim 4:4'lük kusursuz çalışıyor ..teşekkür ederim bu çok işime yarıyacak birşey oldu o kadar kanal arasında takip edemiyordum ..zahmet oldu elinize sağlık

iyi çalışmalar iyi günler ..

 
Alıntı ile Cevapla

Alt 23 Nisan 2014, 20:51   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: birden fazla sunucudan tek bir kanala yazıları yansıtma




Buna muaf nick - muaf kelime ekleye bilirmiyiz ?
örnek:nick: nomercy ve check botlarının yadıklarını yansıtmıyacak
birde muaf kelime: aop oldunuz sop oldunuz operator konumuna gectiniz gibi kelimeleri muaf tutabılırmıyız ?

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 20:43 -->-> Daha önceki mesaj 20:05 --

if $istok(nomercy check Nick3,$nick,32) { return }
bu sekılde muaf nick ekledim suan için calısıyor gibi görunuyor lakin muaf kelimeyı nasıl ekleriz çözemedim


yani bazı kelimeleri yansıtmamalı slm , s.a , a.s , a.selam , h.g gibi

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 20:51 -->-> Daha önceki mesaj 20:43 --

vala coder lerde bakıp çıkıyor
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
sanırım kelime yasaklamak zor

 
Alıntı ile Cevapla

Alt 23 Nisan 2014, 22:52   #8
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (1)
IF Ticaret Yüzdesi:(%)
Cevap: birden fazla sunucudan tek bir kanala yazıları yansıtma




Text eventi altına;
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if $istok(s.a a.selam h.geldin,$1,32) { return }

Basit bir şekilde ekleme yapabilirsin.

 
Alıntı ile Cevapla

Alt 09 Aralık 2014, 02:18   #9
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: birden fazla sunucudan tek bir kanala yazıları yansıtma




Mudin Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Socket yardımı ile yapabilirsin bunu , loglamak istediğin sunuculara socket bot göndericeksin + logların geleceği kanala ve sunucuyada 1 tane sock bot gönderip gelen logları 2. soktuğun botun aliasından kanalına yansıtabilirsin.


böyle bir bot var bende cycle tarzı ona ne gibi kod eklersem x sunucuda olan sohbeti i kendi sunucumda kanala yansıtırım loglama ile yardımcı olursanız sevinirim

 
Alıntı ile Cevapla

Cevapla

Etiketler
bir, birden, fazla, kanala, sunucudan, tek, yansıtma, yazıları


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Tek komutta birden fazla kanala ban uygulama Beklenti mIRC Scripting Sorunları 8 28 Haziran 2011 18:28
Tcl koruma botunu birden fazla kanala sokma vasarelli Eggdrop, NeoStats, BNC 4 21 Haziran 2009 15:22
Copy satiri birden fazla ise kanala direk gitmesin vasarelli mIRC Scripting Sorunları 2 03 Haziran 2009 21:31
ÖzeLi KanaLa YanSıtma.. ScoRp|oN mIRC Scripting Sorunları 17 07 Nisan 2008 19:20
ulist kanala yansıtma alfa mIRC Scripting Sorunları 1 11 Mart 2005 16:17