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/)
-   IRCd Botlar (https://www.ircforumlari.net/ircd-botlar/)
-   -   Geveze Tcl (Konuşan bot) (https://www.ircforumlari.net/ircd-botlar/50615-geveze-tcl-konusan-bot.html)

BuCaLI 12 Şubat 2008 21:32

Geveze Tcl (Konuşan bot)
 
Kanal genelindeki dönen sohbete göre konuşan / cevap veren bir tcl. uzun zaman önceki bi uğraşımdı forumda istendiğini görünce paylaşmayı uygun buldum.
geveze.tcl ile bot dosyasını scripts klasörüne atıp uygun bir conf oluşturarak çalıştırın. bot dosyası içindeki metin belgeleri (txt) isteğe göre düzenlenebilir / geliştirilebilir. aynı şekilde geveze.tcl geliştirilmeye açıktır.

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

rar şifresi : bucali

Cemalizim 13 Şubat 2008 04:30

Cevap: Geveze Tcl (Konuşan bot)
 
Hocam bunu SöyLe bişe yapamayızmı Mesela owner olsun sadece o nick /dur /basla yani Durdurmak botu Istıyorum ıstedigim zaman CaLısmasını Istıyorum Bazen Gereksiz olabilir botun sohbet etmesi.. lazım oldugu zaman kullanamak daha uygun olabilir tşkler

SaW 13 Şubat 2008 18:32

Yanıt: Geveze Tcl (Konuşan bot)
 
Kodları açık görebildiğimiz için kendi adıma teşekkür ederim BuCaLi : )
Böylece olumlu/olumsuz eleştrilerimizi daha sağlıklı sunabiliriz bundan da herkes kazançlı çıkar sanırım..

Programlamada bir kural vardır; tek satır bile fazla kod gereksizdir ve bütün koda kötü demeye yeterlidir.. Çünkü yazılan her yazıda bot dosyayı baştan sonra okuyor ve her satır için fazladan işlem yapmış oluyor.. O yüzden sonuca gidebilecek en kısa yoldan gitmek her zaman daha iyidir..

Kod:

proc konus { nick uhost host chan arg } {
global botnick
if {[string match -nocase "*selam*" "$arg"] || [string match -nocase "*slm*" "$arg"]} { yaz "selam.txt" $chan $nick }
if {[string match -nocase "*te?ekk*" "$arg"]} { yaz "tşk.txt" $chan $nick }
if {[string match -nocase "*tel*" "$arg"]} { yaz "telefon.txt" $chan $nick }
if {[string match -nocase "*iyi*" "$arg"] || [string match -nocase "ii*" "$arg"]} { yaz "iyi.txt" $chan $nick }
if {[string match -nocase "*nbr*" "$arg"] || [string match -nocase "*naber*" "$arg"] || [string match -nocase "*nas?ls?n*" "$arg"]} { yaz "nasılsın.txt" $chan $nick }
if {[string match -nocase "*nrd*" "$arg"] || [string match -nocase "*nerden*" "$arg"]} { yaz "nerden.txt" $chan $nick }
if {[string match -nocase "*canım*" "$arg"] || [string match -nocase "*aşkım*" "$arg"]} { yaz "aşkım.txt" $chan $nick }
if {[string match -nocase "*alo*" "$arg"]} { yaz "alo.txt" $chan $nick }
if {[string match -nocase "*or*damısın*" "$arg"]} { yaz "ordamısın.txt" $chan $nick }
if {[string match -nocase "*of*" "$arg"]} { yaz "off.txt" $chan $nick }
if {[string match -nocase "*bay*" "$arg"] || [string match -nocase "*bye*" "$arg"]} { yaz "bye.txt" $chan $nick }
if {[string match -nocase "*hyr*" "$arg"] || [string match -nocase "*hay?r*" "$arg"]} { yaz "hayır.txt" $chan $nick }
if {[string match -nocase "*neden*" "$arg"] || [string match -nocase "*ni?in*" "$arg"] || [string match -nocase "*niye*" "$arg"]} { yaz "neden.txt" $chan $nick }
if {[string match -nocase "*yaş*" "$arg"] || [string match -nocase "*asl*" "$arg"]} { yaz "asl.txt" $chan $nick }
if {[string match -nocase "*bot*" "$arg"]} { yaz "bot.txt" $chan $nick }
if {[string match -nocase "haha*" "$arg"] || [string match -nocase "hehe*" "$arg"] || [string match -nocase "*muha*" "$arg"] || [string match -nocase "*zuhah*" "$arg"] || [string match -nocase "*pohah*" "$arg"]} { yaz "komik.txt" $chan $nick }
if {[string match -nocase "ee*" "$arg"]} { yaz "eee.txt" $chan $nick }
if {[string match -nocase "ok" "$arg"] || [string match -nocase "oke" "$arg"] || [string match -nocase "*tamam*" "$arg"]} { yaz "tamam.txt" $chan $nick }
if {[string match -nocase "*merhaba*" "$arg"] || [string match -nocase "*mrb*" "$arg"]} { yaz "merhaba.txt" $chan $nick }
if {[string match -nocase "*olmaz*" "$arg"]} { yaz "olmaz.txt" $chan $nick }
if {[string match -nocase "*evlen*" "$arg"]} { yaz "evlenelim.txt" $chan $nick }
if {[string match -nocase "*gelim*" "$arg"]} { yaz "gelim.txt" $chan $nick }
if {[string match -nocase "*gidicem*" "$arg"] || [string match -nocase "*gidiyom*" "$arg"] || [string match -nocase "*gidiyorum*" "$arg"]} { yaz "gidicem.txt" $chan $nick }
if {[string match -nocase "*gelmicem*" "$arg"]} { yaz "gelmem.txt" $chan $nick }
if {[string match -nocase "*geldim*" "$arg"] || [string match -nocase "*or*dayım*" "$arg"]} { yaz "geldim.txt" $chan $nick }
if {[string match -nocase "*sıkıldım*" "$arg"]} { yaz "sıkıldım.txt" $chan $nick }
if {[string match -nocase "cevap*" "$arg"]} { yaz "cevap.txt" $chan $nick }
if {[string match -nocase "*bilmem*" "$arg"]} { yaz "bilmem.txt" $chan $nick }
if {[string match -nocase "*peki*" "$arg"]} { yaz "peki.txt" $chan $nick }
if {[string match -nocase "*olabilir*" "$arg"]} { yaz "olabilir.txt" $chan $nick }
}

Buradan başlayalım..
oradaki her kelimeyi daha öncesinde bir değişken içerisine setlemek ve o değişkendeki verileri proc içerisinde bir döngü içerisinde taratıp tek if ile olayı çözebilirdin.. örnek olarak:



Kod:

set kelimeler "selam kelam melam vs"
proc {nick uhost host chan arg} {
global kelimeler
foreach a $kelimeler {
if {[string match -nocase *$a*  $arg]} { yaz "$a.txt" $chan $nick }
}
}

Bu sadece genel mantığını göstermek için bir örnekti daha düzgün birşey çıkabilir ortaya tabiki..
Bir diğeri ise:

Kod:

utimer 1[list putserv "privmsg $chan $rmsg"]
Satırı.. Buradaki timer'ın mantığını anlamış değilim.. Eğer putserv'ı bir saniye daha geç iletmekse maksat, putserv yerine puthelp kullanıp timer kullanmaya gerek görmeyebilirdin, dediğim gibi fazladan işlem herzaman gereksizdir..

Onun haricinde emeğine sağlık ve çalışmalarında başarılar diliyorum.

BuCaLI 13 Şubat 2008 20:19

Cevap: Geveze Tcl (Konuşan bot)
 
Anlatmaya çalıştığın sana göre ilk başta mantıklı görünmüş olabilir fakat bazı durumlarda veya ( || ) ile ayrılmış yani benzer anlamlara gelen kelimeler var ve her birinde aynı sonuca varılmasını istemişim dediğin şekilde yaparsam ya örnek veriyorum selam diyenle slm diyeni ayırt edemem yada her bi eşanlamlı sözcük için ayrı metin belgeleri oluşturmam gerekir. yinede dediğim gibi çok eskiden kalan bi çalışma üzerinde düşünme fırsatım olmadan kendim kullanmak amacıyla yaptığım bişey. yinede tşk.

kup{a}pazl 29 Nisan 2008 01:25

Cevap: Geveze Tcl (Konuşan bot)
 
GüzeL ßişe Tşk Ederim ßaşarlarınızın Ve Başarılarımızın Devamını dilerim.. yaww ßunu Nasıl Sunucuya sokucaz :S

ßirde Sizden ŞöyLe ßişeyİsteyebilirmiyim komik Bot Var Mesela onun gibi Özle ßir KanaLda Eğlence Amaçlı Fıkra v.s gibi Şeyler Anlatarak Timer ile Eglendirsin gülmek Var Ölmek yok :)

yanki 29 Nisan 2008 11:00

Cevap: Geveze Tcl (Konuşan bot)
 
ilk postta nasil oldugunu açiklanmiş.

eXtReMe` 03 Temmuz 2008 21:06

Cevap: Geveze Tcl (Konuşan bot)
 
Link Kırık YeniLermiSiniz ?? :) Yada eLinde Olan ßiri upLoad Edeßilirmi..

LauReLL60 15 Kasım 2008 13:08

Cevap: Geveze Tcl (Konuşan bot)
 
nen şifresi ne bunun :D

ByZuLuM 15 Kasım 2008 14:22

Cevap: Geveze Tcl (Konuşan bot)
 
Alıntı:

BuCaLI Nickli Üyeden Alıntı (Mesaj 499062)
rar şifresi : bucali

Diyor :)

Cumbusvar 01 Aralık 2008 03:31

Cevap: Geveze Tcl (Konuşan bot)
 
Link ölü aga:D yenilermisin

BuCaLI 03 Aralık 2008 13:04

Cevap: Geveze Tcl (Konuşan bot)
 
İlk mesajdaki link sağlam..

Cmd 04 Mart 2009 11:01

Cevap: Geveze Tcl (Konuşan bot)
 
Tcl güzel hoş olmuş ama eksik yeri var denenmemiş sanırım. Bot dosyasının içideki .txt lerden aldığını kanala yazmıyor, sadece ilk cümlesini alıyor.

BuCaLI 11 Nisan 2009 11:33

Cevap: Geveze Tcl (Konuşan bot)
 
link düzeltildi

LeX_LuGeR 23 Nisan 2009 18:24

Cevap: Geveze Tcl (Konuşan bot)
 
ya güzelde buna göre conf dosyasını nasıl yapacaz

toXic 23 Nisan 2009 20:03

Cevap: Geveze Tcl (Konuşan bot)
 
Herhangi Bir conf dosyası Bulup Çalıstırabilirsiniz. Forumda Aratırsanız, Bulursunuz.

SevGiceKSheLL 04 Eylül 2009 19:58

Cevap: Geveze Tcl (Konuşan bot)
 
Alıntı:

BuCaLI Nickli Üyeden Alıntı (Mesaj 349311)
Kanal genelindeki dönen sohbete göre konuşan / cevap veren bir tcl. uzun zaman önceki bi uğraşımdı forumda istendiğini görünce paylaşmayı uygun buldum.
geveze.tcl ile bot dosyasını scripts klasörüne atıp uygun bir conf oluşturarak çalıştırın. bot dosyası içindeki metin belgeleri (txt) isteğe göre düzenlenebilir / geliştirilebilir. aynı şekilde geveze.tcl geliştirilmeye açıktır.

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

rar şifresi : bucali

selam bucalı kardeşimiz elina sağlık güzel bir paylaşım yapmışsın (ama ben bunu kelime confunda çalıştırmak istedim bir türlü bot komut almıyor :S anlamadım gitti ) bu konuda yardımcı olursanız sevinirim

KaRa-BeLa 05 Eylül 2009 04:22

Cevap: Geveze Tcl (Konuşan bot)
 
:( Link Çalışmıyor

BuCaLI 05 Eylül 2009 10:51

Cevap: Geveze Tcl (Konuşan bot)
 
Link sağlam. Botun çalışmaması konusunda da aldığınız bi hata mesajı vs. vermezseniz neden çalışmadığını bilemeyiz müneccim değiliz nihayetinde ;)

PiSLiCk_06 08 Eylül 2009 00:05

Cevap: Geveze Tcl (Konuşan bot)
 
gercekten guzel bısey olmus... ellerıne saglık... bı ıkı arkadastan duydum karısk falan dıyolar ama bence gayet basit ve kullanıslı olmus... geliştirilmeye acık demıssın eywallah sagolasın gelıstırcem gelıstırılmıs halınıde ılk sana göstercem :D

Raw 30 Eylül 2009 23:55

Cevap: Geveze Tcl (Konuşan bot)
 
Alıntı:

BuCaLI Nickli Üyeden Alıntı (Mesaj 795673)
Link sağlam. Botun çalışmaması konusunda da aldığınız bi hata mesajı vs. vermezseniz neden çalışmadığını bilemeyiz müneccim değiliz nihayetinde ;)

koptum ya huh :D

RebeLLious 01 Ekim 2009 01:23

Cevap: Geveze Tcl (Konuşan bot)
 
adam haklı abi :D

Mavi_yaka 03 Kasım 2009 21:09

Cevap: Geveze Tcl (Konuşan bot)
 
aynen ya ölü :XD:D

efsaneyim_01 26 Aralık 2009 18:31

Cevap: Geveze Tcl (Konuşan bot)
 
Bu tcl de botun sadece belirlenen bir kanalda mesela #sohbet kanalında konuşması için ne yapmak gerekir

BuCaLI 26 Aralık 2009 20:04

Cevap: Geveze Tcl (Konuşan bot)
 
Kod:

proc konus { nick uhost host chan arg } {
global botnick

hemen altına ;

Kod:

if {$chan != "#sohbet"} {return 0}
satırını eklersen sohbet kanalı dışında bi yerde çalışmaz..

efsaneyim_01 26 Aralık 2009 20:59

Cevap: Geveze Tcl (Konuşan bot)
 
teşekkürler bucalı

AsiGurcu 29 Aralık 2009 04:09

Cevap: Geveze Tcl (Konuşan bot)
 
Bucali Eline Saglık Guzel Baylasım Tesekkür

kayit123 24 Ocak 2010 12:47

Cevap: Geveze Tcl (Konuşan bot)
 
ben baktım güzel ama nasıl uygulamaya sokcaz ne yapıcaz ki çalışsın

KnOuCK 09 Şubat 2010 21:35

Cevap: Geveze Tcl (Konuşan bot)
 
ben bu botun sadece özelde konuşmasını istersem ne yapmam lazım yardım edebilirmisiniz?

TxceN 09 Şubat 2011 02:59

Cevap: Geveze Tcl (Konuşan bot)
 
Link Ölü indiren arkadaslar Varsa Yenilerse makbule gecer

MesqeN 14 Temmuz 2011 13:09

Cevap: Geveze Tcl (Konuşan bot)
 
calışıyor saglam ama txt leri okumuyor yardım ederisiniz.

Heartbroken 15 Temmuz 2011 02:55

Cevap: Geveze Tcl (Konuşan bot)
 
bot klasörünü ve geveze.tcl botunuzun scripts dizinine kopyalayın scripts altında bot klasörü diye bu geveze.tcl'nin okuduğu gördüğü txt dosyalarını barındıran bir klasör oluşmuş olacak..

geveze tcl'nin içine if global botnick yazan satırın altına {$chan != "#kanalınız"} {return 0} bu satırı botun konuşmasını istediğiniz kanalınızın adını yazıp ekleyin .bot.conf unuzuda scriptlerin yazılı olduğu satıra source scripts/geveze.tcl satırı ekleyip kapıyoruz. sonra bota rehash yaptırıyoruz hepsi bu..

Feragat 26 Kasım 2011 18:02

Cevap: Geveze Tcl (Konuşan bot)
 
kardeş conf u nasıl oluşturacaz. örnek verebilirmisin nasıl yapacaz onu ?

Heartbroken 26 Kasım 2011 18:20

Cevap: Geveze Tcl (Konuşan bot)
 
her script için ayrı bir conf düzenlemeye gerek yok. elinizde bir conf varsa alttaki scripts satırına source scripts/geveze.tcl şeklinde yüklemek istediğiniz script adını girin ..elinizde bir conf yoksa forumda aratın çok sayıda örnek conf bulabilirsiniz kendinize göre düzenleyip kullanabilirsiniz.

YaRGuCi 26 Kasım 2011 19:19

Cevap: Geveze Tcl (Konuşan bot)
 
Alıntı:

feragat Nickli Üyeden Alıntı (Mesaj 1040931329)
kardeş conf u nasıl oluşturacaz. örnek verebilirmisin nasıl yapacaz onu ?

buyur kardeşim örnek bir conf.

PHP- Kodu:

###### Bilgi Satiri #####
set mod-path "modules/"
set help-path "help/"
set text-path "text/"
loadmodule dns
loadmodule channels
loadmodule server
loadmodule ctcp
loadmodule irc
loadmodule notes
loadmodule console
checkmodule blowfish
 
##### Bilgi Satiri #####
##### Bot bilgileri #####
set nick "BotNick"
set realname "2Bot İdenti"
 
#Bu opsiyonel su an kapalidir. Eger botunuz herhangi bir nedenden oturu size ctcp acmiyorsa
#Bu satira botun barindirilmis oldugu host'un ip adresini yazmaniz yeterli olacaktir.
 
#set my-ip "1.2.3.4"
 
set init-server 
putserv "oper opernick opersifre" 
putserv "PRIVMSG nickserv identify nicksifresi"
}
set servers 66.90.107.187:6667 }
channel add #KanalAdı { chanmode "lik" idle-kick 0 stopnethack-mode 0 }
set net-type 5
set owner TimothY
 
##### Dosyalar ve Dizinler #####
##### Bilgi Satiri #####
set userfile "bots.user"
set chanfile "bots.chan"
set temp-path "/tmp"
logfile msbxco "logs/bots.log"
logfile jpk #kanaladi "logs/#kanaladi.log"
set console "mkcobxs"
 
##### SCRIPTLER #####
source scripts/userinfo.tcl
source scripts
/script1.tcl
source scripts
/script2.tcl
source scripts
/script3.tcl
loadhelp userinfo
.help
# EndOf 

gerekli yerleri kendine göre düzenleyebilirsiniz.

PHP- Kodu:

source scripts/script3.tcl 

bu kısımlara dikkat ediniz.Çünkü; TCL dosyalarını buradan okuturuz.

Örneğin;

PHP- Kodu:

source scripts/geveze.tcl 

gibi ekleme yaparak tcl dosyasını ekleyebilirsiniz.Dikkat etiysen, botun okutulaçağı klasör scripts klasörüdür.TCL'lerini buranın içine atman gerekir.

YuzukIRCMasteR 28 Kasım 2011 15:09

Cevap: Geveze Tcl (Konuşan bot)
 
Link Kırık.

Heartbroken 28 Kasım 2011 15:23

Cevap: Geveze Tcl (Konuşan bot)
 
Toplam 1 Eklenti bulunuyor.
aşağıdaki eklentiden alabilirsiniz.

aspawa 08 Mart 2012 02:18

Cevap: Geveze Tcl (Konuşan bot)
 
Bu botun özelde konuşmasını sağlayamayızmı

CLubber 08 Mart 2012 13:30

Cevap: Geveze Tcl (Konuşan bot)
 
TCL'de bulunan;

PHP- Kodu:

bind pubm - * 

Kısmını

PHP- Kodu:

bind msgm - * 

Olarak değiştirin.

TCL'deki

PHP- Kodu:

nick uhost host chan arg 

Kısmını ise,

PHP- Kodu:

nick uhost host arg 

Olarak değiştirin.

PHP- Kodu:

if {[string match -nocase "*selam*" "$arg"] || [string match -nocase "*slm*" "$arg"]} { yaz "selam.txt" $chan $nick 

Kısımlarındaki $chan kelimelerini silin,

PHP- Kodu:

proc yaz txt chan nick } { 

Kodunu;

PHP- Kodu:

proc yaz txt nick } { 

Olarak değiştirin ve son olarakta;

PHP- Kodu:

[list putserv "privmsg $chan $rmsg"

Kısmını

PHP- Kodu:

[list putserv "privmsg $nick $rmsg"

Olarak değiştirin.

aspawa 08 Mart 2012 14:26

Cevap: Geveze Tcl (Konuşan bot)
 
Culubber çok teşekkür ederim kurdum gayet iyi çalışıyor

aspawa 08 Mart 2012 14:39

Cevap: Geveze Tcl (Konuşan bot)
 
Culubber bişey daha rica etsem bu tcl için bot çok seri cevap veriyor bunu biraz yavaşlatamayızmı


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

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