.
Posts Tagged “socket”
Her zaman sorulan socket botun nasıl yapıldığı konusunu biraz anlattım. Aşağıdaki kodun içinde neyin ne olduğunu gösteriyor. Sizde bu kodu yükledikten sonra @sdebug penceresine gelen bilgiye göre swalias’ı içinde istediğinizi ekleyebilirsiniz. İşte kod ve açıklaması:
Önce mIRC’de yazı yazdığımız yerde yani command line’dan /sockopen bot <server-ip> <port> komutunu yazarak botumuzu istediğimiz servera bağlıyoruz.
;”bot” adlı socketımız açıldığında
on *:sockopen:bot:{
;eğer socketta bir sorun varsa işlemi durduruyoruz
if ($sockerr) { echo $color(info) -st Socket botun bağlantısı kesildi. | return }
;servera bağlanırken botun nicki gönderiliyor
swbot NICK BOTUN-NICKI
;servera bağlanırken botun identdi ve usernamei gönderiliyor
swbot USER IDENTD * * :USERNAME BURAYA
;socket botun nickiyle işaretleniyor. yani $sock(bot).mark değeri botun nicki oluyor
sockmark $sockname BOTUN-NICKI
}
;serverdan socketa bilgi geldiğinde
on *:sockread:bot:{
;eğer socketta bir sorun varsa işlemi durduruyoruz
if ($sockerr) { echo $color(info) -st Socket botun bağlantısı kesildi. | return }
;%; diye bir değişken oluşturup sockettan gelen bilgiyi bu değişkene yüklüyoruz ve $1- değerini doldurması için tokenize kullanıyoruz
var %; | sockread %; | tokenize 32 %;
;eğer @sdebug penceresi yoksa pencere oluşturuluyor ve sockettan gelen bilgi o pencereye gösteriliyor
if !$window(@sdebug) { window -k0 @sdebug } | aline -p @sdebug $timestamp < $1-
;sockettan gelen bilgi ile swalias aliasını çağırıyoruz
swalias $1-
}
;socketta bilgi gönderme aliasımız, eğer bot socketı açıksa o socketa istediğimiz bilgiyi gönderiyoruz
alias swbot { if $sock(bot) { sockwrite -n bot $1- } }
;sockettan gelen bilgiyi okumak için oluşturduğumuz swalias aliası
alias swalias {
;eğer bot socketı açıksa
if $sock(bot) {
;%: değişkenine status penceresine echolaması için bir komut yüklüyoruz
var %: = echo $color(info) -st > Socket bot:
;eğer serverdan socket VERSIONu istenirse mIRC v6.17′nin version cevabını gönderiyoruz.
if :VERSION iswm $4- { swbot NOTICE $gettok($gettok($1,1,33),1,5h : $+ $chr(1) $+ VERSION mIRC v6.17 Khaled Mardam-Bey $+ $chr(1) }
;eğer serverdan botumuzun fingerı istenirse ona cevap gönderiyoruz
if :FINGER iswm $4- { swbot NOTICE $gettok($gettok($1,1,33),1,5h : $+ $chr(1) $+ FINGER Sevket Arslan $+ $chr(1) }
;eğer server bizi pinglerse, bizde onu pongluyoruz, düşmemek için bu gerekli.
if $1 == PING { swbot PONG $2- }
;serverdan gelen bilginin 2. kelimesi 474′se, bu 474. rawı gördü demektir, 474. raw bir kanaldan banlı olduğunu gönderir. statuse 4. değer olan kanaldan banlı olduğunu bildiriyor.
if $2 == 474 { %: $4 kanalında banlı. }
;2. kelime 366 ise yani /names komutunun sonu ki bu genelde bot kanala girdiğinde gelir, girdiğimiz kanal status penceresine gösteriliyor.
if $2 == 366 { %: $4 kanalına girdi. }
;eğer 2. kelime kickse ve 4. kelime botumuzun nickiyse, statuse kanaldan kicklendiğimizi kimin kicklediğini ve neden kicklendiğini gösteriyoruz.
if $2 == KICK && $4 == $sock(bot).mark { %: $3 kanalından %n tarafından kicklendi. $+($chr(40),$right($5-,-1),$chr(41)) | swbot JOIN $3 }
;eğer 2. kelime PRIVMSG ise
if $2 == PRIVMSG {
;%n değişkenine nicki, %m değişkenine gelen mesajı, %k değişkenine kanalı ayarlıyoruz
var %n = $gettok($gettok($1,1,33),1,5h, %m = $right($4-,-1), %k = $3
;eğer nickler belirlediğimiz nickler ise (burda el33t ve el33t2)
if $istok(el33t el33t2,%n,32) {
;eğer gelen mesajın birinci sözcüğü .hop ise eğer 2. kelime varsa 2. kelimenin olduğu kanalda, yoksa yazılan kanalda hop komutu uygulanıyor yani kanaldan çıkıp tekrar giriliyor.
if .hop == $gettok(%m,1,32) { var %< = $iif($gettok(%m,2,32),$v1,%k) | swbot PART %< | swbot JOIN %< }
;bu da .hop gibi fakat bunda botumuz belirtilen kanaldan çıkıyor. eğer 2. sözcük varsa, o kanaldan, yoksa mesajın yazıldığı kanaldan
if .part == $gettok(%m,1,32) { var %< = $iif($gettok(%m,2,32),$v1,%k) | swbot PART %< }
;bu da .part gibi ama bununla istediğimiz kanala sokuyoruz
if .join #* iswm %m { swbot JOIN $gettok(%m,2-,32) }
Yorum Yok »
admin tarafýndan Hazır Kodlar, mIRC Addonları, mIRC Script Özel Kodlar içinde postalandý, tags: eğitim botu, help bot, helper botu, ircd services bot, mirc, mırç dowload, mirc indir, mirc script, mirc yükle, socket, socket bot, socket help bot, Türkçe mirc
on *:sockopen:back:{
yaz PASS 123456
yaz Nick HEBOT
yaz user HELP * * :4Socket (v1) Help Egitim Bot..2[LiderChat.Net]
}
on *:sockread:back:{
var %1
sockread %1
tokenize 32 %1
echo -s %1
var %nick = $gettok($gettok($1,1,33),1,58)
var %mesaj = $right($4-,-1)
var %kanal = $3
if $1 == PING {
yaz PONG $2-
}
if $2 == PRIVMSG {
if %mesaj == .konular {
.timeregitim.* off
var %help 1
var %saniye 1
while %help <= $lines(egitim/konular.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/konular.txt,%help)
inc %help
inc %saniye 1
}
}
}
if %mesaj == .Services {
.timeregitim.* off
var %help 1
var %saniye 1
while %help <= $lines(egitim/Services.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/Services.txt,%help)
inc %help
inc %saniye 1
}
}
if %mesaj == .client {
.timeregitim.* off
var %help 1
var %saniye 1
while %help <= $lines(egitim/client.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/client.txt,%help)
inc %help
inc %saniye 1
}
}
if %mesaj == .genel {
.timeregitim.* off
var %help 1
var %saniye 1
while %help <= $lines(egitim/genel.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/genel.txt,%help)
inc %help
inc %saniye 1
}
}
if %mesaj == .usercmds {
.timeregitim.* off
var %help 1
var %saniye 1
while %help <= $lines(egitim/usercmds.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/usercmds.txt,%help)
inc %help
inc %saniye 1
}
}
if %mesaj == .helpserv {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/helpserv.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/helpserv.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .timer {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/timer.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/timer.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .ignore {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/ignore.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/ignore.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .ban {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/ban.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/ban.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .who {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/who.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/who.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .quit {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/quit.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/quit.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .chmodef {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/chmodef.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/chmodef.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .userhost {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/userhost.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/userhost.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .list {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/list.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/list.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .umodes {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/umodes.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/umodes.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .version {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/version.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/version.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .levels {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/levels.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/levels.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .wildcard {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/wildcard.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/wildcard.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .exceptions {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/exceptions.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/exceptions.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .akick {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/akick.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/akick.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .chmodes {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/chmodes.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/chmodes.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .csset {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/csset.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/csset.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .nsset {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/nsset.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/nsset.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .msset {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/msset.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/msset.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .chanserv {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/chanserv.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/chanserv.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .Nickserv {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/nickserv.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/nickserv.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .memoserv {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/memoserv.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/memoserv.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .silence {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/silence.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/silence.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .showmirc {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/showmirc.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/showmirc.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .notify {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/notify.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/notify.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .motd {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/motd.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/motd.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .kick {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/kick.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/kick.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .setname {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/setname.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/setname.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .whois {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/whois.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/whois.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .time {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/time.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/time.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .nick {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/nick.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/nick.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .notice {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/notice.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/notice.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .knock {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/knock.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/knock.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .stats {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/stats.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/stats.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .whowas {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/whowas.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/whowas.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .join {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/join.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/join.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .names {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/names.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/names.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .links {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/links.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/links.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .userip {
.timeregitim.* off
var %help 1
var %saniye 3
while %help <= $lines(egitim/userip.txt) {
.timeregitim. $+ %help 1 %saniye yaz privmsg %kanal $read(egitim/userip.txt,%help)
inc %help
inc %saniye 3
}
}
if %mesaj == .dur {
.timers off
yaz privmsg %kanal %nick Tarafından egitim akisi durduruldu.
}
if $remove($4,:) == .sil {
if $5 == $null {
yaz privmsg %kanal Nick belirtmediniz %nick
}
else {
if $5 == $5 {
yaz cs access #Helpstaff del $5
yaz cs access #Egitim del $5
}
}
}
if $remove($4,:) == .Ekle {
if $5 == $null {
yaz privmsg %kanal Nick Belirtmediniz %nick
}
else {
if $5 == $5 {
yaz cs access #Helpstaff add $5 1
yaz cs access #Egitim add $5 1
}
}
}
if $2 == Notice {
if %nick == ChanServ {
if *kayitli* iswm $5- || *kanalinin* iswm $5- {
yaz privmsg #Egitmen $4-
}
}
}
if $2 == Join {
if $gettok($3,1,58) == #Helpstaff {
yaz privmsg %nick Merhaba %nick $+ , Eğitim konularını incelemek için #helpstaff kanalında .konular yaziniz.
}
}
}
alias yaz { sockwrite -n back $1- }
alias gir { sockopen back 95.168.171.134 6667 }
alias cik { sockclose back }
Merhaba, Arkadaşlar Socket HEBOT Tamamen benim tarafimdan yazilmiştir.
çaliştirmak çok kolay olup
/gir yazmaniz yeterlidir tabiki ayarlarini yapmaniz gerekmektedir.
/cik botu çikartir.
Botun eğitim vereceğim konulari sizin ayarlamaniz gerekir sitemizde mevcuttur bu konular.
Eğitim Adinda Bir klasör açip text halinde verilcek eğitimleri yükleyiniz..
Yapim: 07.07.2008
Yapan: SouL ( back )
Isim: Mehmet.
Web sitesi: www.mircbul.net
eğitim botu, help bot, helper botu, ircd services bot, mirc, mırç dowload, mirc indir, mirc script, mirc yükle, socket, socket bot, socket help bot,
Saygılarimla..
Yorum Yok »
|