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/)
-   TCL Scriptler (https://www.ircforumlari.net/tcl-scriptler/)
-   -   Bot Özellere Mesaj Atma TCL İstek.. (https://www.ircforumlari.net/tcl-scriptler/592983-bot-ozellere-mesaj-atma-tcl-istek.html)

No_FeaR 01 Haziran 2014 16:05

Bot Özellere Mesaj Atma TCL İstek..
 
Selamın Aleyküm Hayırlı Forumlar...

Alttaki TCL'yi Örneğin Radyo Botuna Versek Ve #Dj Kanalın da !djAlım Yazdığımızda Sunucudaki Tüm User/Kullanıcıların Özeline Gitmesini Nasıl Sağlayabilirim ? İlgisi Olan Var mı...

Kod:

# Ayarlar Bu kadar.! DOKUNMAYIN!!!

#gerekli bindler
bind pub - !DjAlım op
bind evnt - init-server baglan_yap

proc baglan_yap {type} {
global inick ipass

  putserv "OPER $inick $ipass"
  putserv "WALLOPS :Basari ile Login Oldum :)"
}

proc op {n u h c a} {
  global gnick
        set gnick $n
        set kanal [lindex $a ]
        putserv "notice $*.xXx.Com $kanal"
}

Daha Fazla İlerletemedim Yardımcılarınız İçin Şimdi den Teşekkürler...

saywhat 01 Haziran 2014 23:11

Cevap: Bot Özellere Mesaj Atma TCL İstek..
 
Kod:

bind pubm mn "#Dj *" vs_op

proc vs_op {n u h c t} {
  if {![string equal -nocase "!djalım" [lindex [split $t] 0]]} { return }
      set mesaj [join [lrange [split $t] 1 end]]
      putserv "describe \$*$::server :$mesaj"
}

#Dj kanalında : !djalım mesajınız... komutu sadece, botun permanent owner'ı [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] (+n flag) ve master'i (.chattr handle +m)
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] kullanabilir.

No_FeaR 02 Haziran 2014 21:47

Cevap: Bot Özellere Mesaj Atma TCL İstek..
 
Kod:

putserv "describe \$*$::server :$mesaj"
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Sanırım Bu Kısma Yazıcaz Dimi Mesajı ; $Mesaj Yerine $DjAl DjAlım Vs Vs..

saywhat 03 Haziran 2014 14:04

Cevap: Bot Özellere Mesaj Atma TCL İstek..
 
kanal üstünde komutla "mesajı" atmak istemediniz mi? hep sabit bir mesaj mı atmak istiyorsunuz da script içine "mesajı" eklemek istiyorsunuz ?

Kod:

bind pubm mn "#Dj *" vs_op

proc vs_op {n u h c t} {
  if {![string equal -nocase "!djalım" [lindex [split $t] 0]]} { return }
      set mesaj [join [lrange [split $t] 1 end]]
  if {[llength $mesaj] < 1} {
      puthelp "notice $n :Kullanımı :$::lastbind <sunucudaki kullanıcılara göndermek istenen meaaj>"
      puthelp "notice $n :Örnek : $::lastbind DeeJay alımı yapılıcak.Tercihen uzun bacaklı,ince belli,ceylan gözlü,az cilveli \
      hanımların, direk $::owner özeline dalmaları reca olunur..."
      return 0
      } else {     
      putserv "describe \$*$::server :$mesaj"
      return 0
      }
}

yada
Kod:

bind pub mn "!djalım" vs_op

proc vs_op {n u h c t} {
  if {![string compare -nocase "#Dj" $c]} { return 0 }
      set mesaj [join [lrange [split $t] 0 end]]
  if {[llength $mesaj] eq 0} {
      puthelp "notice $n :Kullanımı :$::lastbind <sunucudaki kullanıcılara göndermek istenen meaaj>"
      puthelp "notice $n :Örnek : $::lastbind DeeJay alımı yapılıcak.Tercihen uzun bacaklı,ince belli,ceylan gözlü,az cilveli \
      hanımların, direk $::owner özeline dalmaları reca olunur..."
      return 0
      } else {     
      putserv "describe \$*$::server :$mesaj"
      return 0
      }
}

ikiside aynı şekilde #Dj kanalında !djalım <mesajınız> komutuyla işler.
örnek : !djalım DeeJay alımı yapılıcak.Adayların sarışın, uzun bacaklı,ince belli olması gerekmektedir.ilgilenenlerin No_FeaR özeline cep-numaralarını bırakmaları reca olunur...

gibi...

yok sabit bi mesajı her !djalım komutunda atılsın deniyorsa...

Kod:

set mesaj "buraya mesajınızı yazın..."

bind pubm mn "#Dj *" vs_op

proc vs_op {n u h c t} {
  if {![string equal -nocase "!djalım" [lindex [split $t] 0]]} { return }
  if {$::mesaj == ""} {
      puthelp "notice $n :Kullanımı :$::lastbind <sunucudaki kullanıcılara göndermek istenen meaaj>"
      puthelp "notice $n :Örnek : $::lastbind DeeJay alımı yapılıcak.Tercihen uzun bacaklı,ince belli,ceylan gözlü,az kırıtık \
      arkadaşların, direk $::owner özeline dalmaları reca olunur..."
      return 0
      } else {     
      putserv "describe \$*$::server :$::mesaj"
      return 0
      }
}

gibi...

No_FeaR 03 Haziran 2014 21:43

Cevap: Bot Özellere Mesaj Atma TCL İstek..
 
Bunlar Hepsini Denedim Hiç Bir İşlev Görmüyor @Saywhat :(

saywhat 04 Haziran 2014 00:36

Cevap: Bot Özellere Mesaj Atma TCL İstek..
 
1- bot oper girebiliyor,operserv komutlarına erişim için gereken oper modlarını alabiliyor mu?

bunun için kullanılabilecek :
Kod:

set identkmt "identify"

set identserv "nickserv"

set identpass "buraya nick şifresi"

set opernik "buraya oper nicki"

set operpass "buraya oper şifresi"

set opermod "buraya alınması istenen oper nick modları"

bind evnt - init-server evnt:init_server

 proc evnt:init_server {type} {
  putquick "mode $::botnick +iR-ws"
  putquick "privmsg $::identserv :$::identkmt $::identpass"
  utimer 3 [list putquick "oper $::opernik $::operpass"]
  utimer 5 [list putquick "mode $::botnick +$::opermod"]
 }

böyle bir script olabilir.

2- m yada n flag sahipleri o komutu kullanabilir * şeklinde ayarlamışız istediğiniz script için. botunuz sizi sahip olarak tanıyor mu ? botunuza bağlanın telnet/dcc "partyline" üzerinden .whois handle komutu verin. (handle ) iRC nickiniz değildir.botun .conf'unda set owner ,ayarında girdiğiniz botun-user dosyasında sizi tanımladığı rumuz'dur.(illa iRC nickiyle eşleşecek diye bişey yoktur.)

.whois handle komutu çıktısında örnek :
Kod:

.whois nrt
[00:14:56] #nrt# whois nrt
HANDLE                          PASS NOTES FLAGS          LAST
nrt                        yes      0 hjlmnoptx      00:14 (partyline)
  HOSTS: *!*nrt@nrt-hostum, -telnet!*@*
        *!*nrt@nrt-ikinci.hostum

şeklinde dönecektir. "FLAGS" flagları* başlığı altında da o "handle" ait eggdrop kullanıcı flagları botunuzun -user dosyasında ekli haliyle gösterilecektir.
bu flaglar o kişinin/kullanıcının bot komutlarına "erişimini" belirler.yukardaki scripti kullanabilmek için komutu veren kişi/lerin n -> bot sahibi yada m-> bot master'i olmaları gereklidir.bot sizi öyle görmüyor/tanımlamıyorsa tepki vermez.
(hostunuz değişmiş/botun kullanıcı dosyasında ekli halinden farklı ise şu an iRC üzerinde bot sizi tanımaz. yeni değişmiş hostunuzuda .+host handle *!ident@*.hostunuz gibi.. komutla bota tanıtmanız gerekebilir.)

3- sunucudaki tüm kullanıcıların özeline mesaj atma komutu operlar için : /describe $*sunucu <mesaj> imiş. ancak eggdrop == mIRC değildir. mirc'iniz üzerinde uyguladığınız her komutu "aynen" eggdrop üzerinden işletilemez. ki bu komuttaki $* ifadesi dahi Tcl açısından "sorunlu" o nedenle kod içinde "escape" etmem kaçırmam* gerekti.

Benim ne oper botum nede sunucum var.olsun diye de bir "fantazim" de yok..o nedenle bu gibi "oper" komutlarını deneyip işlediğini görmem de mümkün değil.
yukardaki sıraladığım durumlarda sorun yoksa kod içindeki : putserv "describe \$*$::server :$::mesaj" satırının bot üzerinde nasıl çalıştığını/yada çalışmadığını deneyin. bota bağlanın .tcl .set komutlarını kullanılabilir duruma getirin şurada anlatmıştım nasıl yapıldığını -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

sonra bota bağlıyken :
Kod:

.tcl putserv "describe \$*$::server :ben uzayda yetişen bir otum beni inekler bile yemez."
şeklinde gönderin. eğer ki scriptte kullandığımız bu satır Tcl/eggdrop için sorunsuz ise sunucudaki tüm kullanıcıların özeline "ben uzayda yetişen bir otum beni inekler bile yemez." mesajı gidecektir.

4- script komutunu !djalım mesajınız komutu uygularken bota bağlı kalıp herhengi bir mesaj dönüp dönmediğini kontrol edin. örneğin operserv'den yanlış komut vs gibi bir mesaj dönüyor mu yada bir hata çıktısı oluyor mu? aksi halde çalışmıyor/tepki vermiyor vs .. hiçbir şey açıklamıyor...

aquabluee 04 Haziran 2014 23:13

Cevap: Bot Özellere Mesaj Atma TCL İstek..
 
belki alttaki kodlar işine yarar


bind join - * join_greet


bind pub - !sifre sifre

proc sifre {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putquick "PRIVMSG #Dj 10Radyo FM Radyo BiLgiLeri"
putquick "PRIVMSG #Dj "
putquick "PRIVMSG #Dj 10Ip : 4 radyo ipini yaz"
putquick "PRIVMSG #Dj "
putquick "PRIVMSG #Dj 10Port : 4 7201"
putquick "PRIVMSG #Dj "
putquick "PRIVMSG #Dj 10Sifre : 4 radyosifresiyaz"
}

bind pub - !saatler saatler

proc saatler {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putquick "PRIVMSG #dj Dj Yayin Saatleri ; "
}

bind pub - !kurallar kurallar

proc kurallar {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putquick "PRIVMSG #Dj ----------------------"
putquick "PRIVMSG #Dj - DJ KURALLARI"
putquick "PRIVMSG #Dj - 1. Sevgi ve saygi."
putquick "PRIVMSG #Dj - 2. Dinleyiciler ile kavga edilmeyecek ya da sert tartismalara girilmeyecek. Herhangi bir sorun oldugunda sunucudaki yetkililere bildirilecek."
putquick "PRIVMSG #Dj - 3. DJ sohbet odasinda radyo odasinda DJ'ler birbirlerine emir kipi cumleler kurmayacak. Yayin alis ve bırakislarda mutlaka iletisim icinde olunacak. Gorulen hata varsa bile, uygun bir dille genelde degil ozelde konusulacak."
putquick "PRIVMSG #Dj - 4. Yayinlarda DJ arkadaslar birbirlerine destek olmak amaciyla radyo yayinlarini dinlemeli ve istekte bulunmali ki, diger arkadaslar icin ozendirici olsun."
putquick "PRIVMSG #Dj - 5. YAYIN SAATLERINE UYUM: Yayin saatlerine azami olcude uyulmali, gelinemeyecek durumlarda bilgi verilmeli."
putquick "PRIVMSG #Dj - 6. Yayin alis-verislerde diger DJ arkadaslarin hakkina saygi gosterimeli. Yayin suresinin bitiminden sonra, en fazla 5 dakika icinde yayin siradaki arkadasa devredilmeli."
putquick "PRIVMSG #Dj - 7. Yayin sirasinda yayinin patronu DJ arkadaslarımizidir. Ancak siyasi propaganda niteliginde sarki ve marslar ile takim marslari calinmamali. Kufur-argo iceren sarkilarin da yayinlanmamasinda ozen gosterilmeli."
putquick "PRIVMSG #Dj - 8. Yayindan DJ arkadaslarimiz keyif almali ki, yayini dinleyenlere de keyif verebilsin. Yayindan alacaginiz keyif, basariyi getirecektir arkadaslar."
putquick "PRIVMSG #Dj - 9. Msn'lerde ve facelerde yayinlarinizi duyurun ki, dinleyici sayimizda artma olsun."
putquick "PRIVMSG #Dj - Radyo-fM; Herkese iyi calismalar dilerim. Sevgiler saygilar..."
putquick "PRIVMSG #Dj ----------"
}


bind pub - !istekon istekon

proc istekon {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putquick "PRIVMSG #Radyo 0,13- 0,14 İstemiş olduğunuz isteği yayın akışında dinleyebilirsiniz 0,13 - 0,6 radyo-Fm'den ayrılmayınız 0,13 - 0,14 domain.com  "
}

bind pub - !istekoff istekoff

proc istekoff {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putquick "PRIVMSG #Radyo 0,13- 0,14 Suan Yayınımızda istek yoktur. 0,13 - 0,6 keyifli Sohbetler dileriz 0,13 - 0,14 domain.com  "
}

bind pub - !linkat linkat

proc linkat {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putquick "allsend all private global RadyoDinle 0,13 - 0,14 Radyo Fm'i Canlı olaraktan Winamptan dinlemek için, 0,13 -  0,13 - 0,6 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 0,13 -  0,13 - 0,14 adresine tıklayınız.. 0,13 - "
}

bind pub - !djalim djalim

proc djalim {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putquick "allsend all private global DjAlim 0,13 - 0,14 Radyo Fm Dj Alımları Başlamıştır 0,13 -  0,13 - 0,6 Muracat için 0,13 -  0,13 - 13,1Radyo SorumLumuz 1,13 huysuz 13,1 ve 1,13 MeLeKsy 13,1 ile görüsebilirsiniz... 0,13 - "
}




bind pub - !bilgi bilgi

proc bilgi {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putquick "PRIVMSG #Dj -------------------------------------"
putquick "PRIVMSG #Dj - !bilgi : radyo hakkinda bilgi verir."
putquick "PRIVMSG #Dj - !istek on/off : istek saatini acma kapama ozelligi. komutlar ; (!istekon , !istekoff)"
putquick "PRIVMSG #Dj - !sifre : radyo sifre ve port'u verir."
putquick "PRIVMSG #Dj - !linkat : sunucu geneline radyo link'i atar."
putquick "PRIVMSG #Dj - !reklam nick : Yayında olan dj , Radyo linkini özellere gönderir."
putquick "PRIVMSG #Dj - !djalim : sunucu geneline dj alimi vardir diye global atar."
putquick "PRIVMSG #Dj - !var nick : nick'in isteginin siraya alindigini belirtir."
putquick "PRIVMSG #Dj - !yok nick : nick'in isteginin olmadigini belirtir."
putquick "PRIVMSG #Dj - !calma nick : nick'e istek alinmadigini belirtir."
putquick "PRIVMSG #Dj - !saatler : Dj yayin saatlerini gosterir."
putquick "PRIVMSG #Dj - !kurallar : Dj arkadaslarin uymasi gereken kurallar."
putquick "PRIVMSG #Dj ----------------------"
}


#gerekli bindler
bind pub - !yok yok
bind evnt - init-server baglan_yap

proc baglan_yap {type} {
global inick ipass

putserv "OPER $inick $ipass"
putserv "WALLOPS :Basari ile Login Oldum :)"
}

proc yok {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putserv "PRIVMSG #Radyo 2$kanal : 5Üzgünüm İstediğiniz Şarkı Mevcut 4Değildir1. 5Dilerseniz Başka Bir İstek Şarkısı İsteyebilirsiniz1."
}

#gerekli bindler
bind pub - !calma calma
bind evnt - init-server baglan_yap

proc baglan_yap {type} {
global inick ipass

putserv "OPER $inick $ipass"
putserv "WALLOPS :Basari ile Login Oldum :)"
}

proc calma {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putserv "PRIVMSG #Radyo 2$kanal : 5Üzgünüm Şuanda Istek Alınmamaktadir.1. 5Dilerseniz Başka Bir zaman tekrar istekde bulunabilirsiniz1."
}


#gerekli bindler
bind pub - !var var
bind evnt - init-server baglan_yap

proc baglan_yap {type} {
global inick ipass

putserv "OPER $inick $ipass"
putserv "WALLOPS :Basari ile Login Oldum :)"
}

proc var {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putserv "PRIVMSG #Radyo 2$kanal : 5İstediğiniz Şarkı Mevcut Çalma Listesine Alınmıştır1. 4Teşekkür Ederiz1."
}

#gerekli bindler
bind pub - !reklam reklam
bind evnt - init-server baglan_yap

proc baglan_yap {type} {
global inick ipass

putserv "OPER $inick $ipass"
putserv "WALLOPS :Basari ile Login Oldum :)"
}

proc reklam {n u h c a} {
global gnick
set gnick $n
set kanal [lindex $a ]
putserv "allsend all private global Radyo 13,1 Müzigin Kalbi 0,1Radyo FM'13,1de ATiyor Dinlemek Icin => 9,1 [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 13,1 Adresini TikLayabiLirsiniz....0,1 Radyo Fm'e13,1 Hos Geldiniz Suanda Yayinda Olan 9,1 DJ' 13,1Miz 0,1 ($kanal)13,1 Isteklerinizi Radyo Kanalina 0,1!istek13,1 <istediginiz Sarki Mesajiniz> Seklinde Yazabilirsiniz. 0,1Ornek:13,1 Gece Yolculari - Unut Beni Tum0,1 Radyo13,1 Ailesine Gelsin..."
}

saywhat 05 Haziran 2014 03:56

Cevap: Bot Özellere Mesaj Atma TCL İstek..
 
yukarıda verdiğiniz kod için ayrı bir unreal module kurulmalı ki oradaki tüm kullanıcılara özel mesaj komutu işleyebilsin... -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] yani şu :
Kod:

putserv "allsend all private global ....."
bu komut o unreal modülüne ait,onun getirdiği bir "özellik" aksi halde /describe $*sunucu mesaj

Sorun "describe" , imiş... (Heartbroken söyledi...daha evvel kullanmamıştım .eggdrop/Tcl olarak)

describe == /me şeklinde atıyor mesajı... ki eggdrop için bunun karşılığı \001ACTION bla bla bla\001 yani /ctcp ...

yukarıda dediğim gibi eggdrop != mIRC ..o nedenle deneyip görmek lazım eggdrop'da nasıl işlediğini.

Kod:

bind pubm mn "#Dj *" vs_op

proc vs_op {n u h c t} {
  if {![string equal -nocase "!djalım" [lindex [split $t] 0]]} { return 0;}
      set mesaj [join [lrange [split $t] 1 end]]
  if {[llength $mesaj] eq "0"} {
      puthelp "notice $n :Kullanımı :$::lastbind <sunucudaki kullanıcılara göndermek istenen meaaj>"
      return 0
      } else {     
      putserv "privmsg $::server :\001ACTION $mesaj\001"
      return 0
      }
}

bu şekilde deneyin. işlemezse ,şu
Kod:

putserv "privmsg $::server :\001ACTION $mesaj\001"
satırını :

Kod:

putserv "privmsg \$*$::server :\001ACTION $mesaj\001"
şeklinde değişip denersiniz.

sunucu başında illa $* gerekir mi gerekmez mi bunu deneyip görmeniz gerekecek.


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

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