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

4Beğeni(ler)
  • 4 Post By Toprak

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 07 Temmuz 2021, 11:00   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
NodeJS Socket Bot




Merhaba,
Bir zamanlar uğraşıyordum şuan için ara verdim.
Mantık bire bir mIRC gibi hemen kavraya bilirsiniz, örnek olması açısından paylaşıyorum..

İlk önce sunucumuzda node.js'yi aktif ediyoruz artından util ve iconv eklentilerini kuruyoruz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
const NET = require("net"), socket = new NET.Socket(), format = require('util').format, Iconv = require('iconv').Iconv, iconv = new Iconv('ISO-8859-9', 'UTF-8'); // Ayarlar bölümü const bot = "NodeJS-Bot"; const pass = "5gf4343fkhpe"; const ident = "Paradox"; const fullname = "NodeJS Socket Bot - Paradox"; const oper = "Bot 123321"; const supass = "Toprak"; const sunucu = "irc.Toprak.NET"; const sunucuip = "194.31.87.36"; const port = "6667"; const ppass = "S1fr3s1Z"; const master = "Toprak Tprk"; // Kanal ayarları const admin = "#System"; const opers = "#Opers"; const operhelp = "#OperHelp"; const services = "#Services"; const log = "#Log"; const bots = "#Bots"; const xline = "#Xline"; const reklam = "#Adwords"; const kontrol = "#Karantina"; // BUNDAN SONRASINA ELLEŞME function _nick(nick) { if (nick = nick.match(/^\:(.+)!/i)) { return nick[1]; } } function _nickler(nick) { var muafn = ["ChanServ", "NickServ", "MemoServ", "HelpServ", "OperServ", "StatServ", bot]; if (muafn.indexOf(nick) != -1) { return 1; } else { return 0; } } const kanallar = [opers, admin, log, xline, bots, kontrol]; // START bot = socket.connect(port, sunucuip, function() { console.log('Sunucuya bağlanılıyor...'); }); bot.on('connect', function() { console.log('Bağlandı.'); bot.write(format('PASS %s\r\n', ppass)); bot.write(format('NICK %s\r\n', bot + Math.floor(Math.random() * 99999))); bot.write(format('USER %s "" "%s" :%s\r\n', ident, bot.remoteAddress, fullname)); }); bot.on('data', function(message) { message = Buffer.from(message, 'binary'); message = message.toString(); lines = message.split("\r\n"); lines[0] = "" + lines[0]; lastLine = lines.pop(); lines.forEach(function(line) { message = line.normalize(); console.log(message); message = message.split(" "); if (message[0].match(/^PING$/i)) { bot.write(format('PONG %s\r\n', message[1].replace(':', ''))); } else if (message[0].match(/^ERROR$/i)) { bot.end(); } else if (message[1].match(/^(001|433)$/)) { console.log('Giriş yapıldı.'); bot.write(format('OPER %s\r\n', oper)); bot.write(format('NICKSERV GHOST %s %s\r\n', bot, pass)); bot.write(format('NICKSERV RELEASE %s %s\r\n', bot, pass)); bot.write(format('JOIN #0,0\r\n')); setTimeout(function() { bot.write(format('NICK %s\r\n', bot)); }, 3000); } else if (message[1].match(/^(481|411)$/)) { bot.write(format('OPER %s\r\n', oper)); bot.write(format('NICK %s\r\n', bot)); setTimeout(function() { bot.write(format('NICKSERV IDENTIFY %s\r\n', pass)); }, 2000); } else if (message[1].match(/^NICK$/i)) { if (_nick(message[0]) == bot) { bot.write(format('NICKSERV GHOST %s %s\r\n', bot, pass)); bot.write(format('NICKSERV RELEASE %s %s\r\n', bot, pass)); setTimeout(function() { bot.write(format('NICK %s\r\n', bot)); }, 3000); } else if (message[2].replace(':', '') == bot) { bot.write(format('NICKSERV IDENTIFY %s\r\n', pass)); bot.write(format('OPER %s\r\n', oper)); bot.write(format('OPERSERV SU %s\r\n', supass)); bot.write(format('JOIN #0,0\r\n')); bot.write(format('MODE %s +qHp-hY\r\n', bot)); setTimeout(function() { bot.write(format('SAJOIN %s %s,%s,%s,%s,%s,%s\r\n', bot, opers, admin, log, xline, bots, kontrol)); }, 3000); } } else if (message[1].match(/^PART$/i) && (_nick(message[0]) == bot)) { if (kanallar.lastIndexOf(message[2]) != -1) { bot.write(format('SAJOIN %s %s\r\n', bot, message[2])); } } else if (message[1].match(/^KICK$/i) && (message[3] == bot)) { if (kanallar.lastIndexOf(message[2]) != -1) { bot.write(format('SAJOIN %s %s\r\n', bot, message[2])); } } else if (message[1].match(/^JOIN$/i) && (_nick(message[0]) == bot)) { if (kanallar.lastIndexOf(message[2].replace(':', '')) != -1) { bot.write(format('MODE %s -qao+h %s %s %s %s\r\n', message[2].replace(':', ''), bot, bot, bot, bot)); } else { bot.write(format('SAPART %s %s\r\n', bot, message[2].replace(':', ''))); } } else if (message[1].match(/^MODE$/i) && (message[2].match(/^#/))) { if (message[3].match(/^\+(\S+)?(b)(\S+)?/i) && (message.join(" ").lastIndexOf(" " + bot + "!*@*") != -1)) { bot.write(format('MODE %s -bqao+h %s %s %s %s %s\r\n', message[2], bot, bot, bot, bot, bot)); } else if ((message.join(" ").lastIndexOf(" " + bot + "") != -1) && (_nickler(_nick(message[0])) == 0)) { bot.write(format('MODE %s -bqao+h %s %s %s %s %s\r\n', message[2], bot, bot, bot, bot, bot)); } } }); });

Merhaba,
Bir zamanlar uğraşıyordum şuan için ara verdim.
Mantık bire bir mIRC gibi hemen kavraya bilirsiniz, örnek olması açısından paylaşıyorum..

İlk önce sunucumuzda node.js'yi aktif ediyoruz artından util ve iconv eklentilerini kuruyoruz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
const NET = require("net"), socket = new NET.Socket(), format = require('util').format, Iconv = require('iconv').Iconv, iconv = new Iconv('ISO-8859-9', 'UTF-8'); // Ayarlar bölümü const bot = "NodeJS-Bot"; const pass = "5gf4343fkhpe"; const ident = "Paradox"; const fullname = "NodeJS Socket Bot - Paradox"; const oper = "Bot 123321"; const supass = "Toprak"; const sunucu = "irc.Toprak.NET"; const sunucuip = "194.31.87.36"; const port = "6667"; const ppass = "S1fr3s1Z"; const master = "Toprak Tprk"; // Kanal ayarları const admin = "#System"; const opers = "#Opers"; const operhelp = "#OperHelp"; const services = "#Services"; const log = "#Log"; const bots = "#Bots"; const xline = "#Xline"; const reklam = "#Adwords"; const kontrol = "#Karantina"; // BUNDAN SONRASINA ELLEŞME function _nick(nick) { if (nick = nick.match(/^\:(.+)!/i)) { return nick[1]; } } function _nickler(nick) { var muafn = ["ChanServ", "NickServ", "MemoServ", "HelpServ", "OperServ", "StatServ", bot]; if (muafn.indexOf(nick) != -1) { return 1; } else { return 0; } } const kanallar = [opers, admin, log, xline, bots, kontrol]; // START bot = socket.connect(port, sunucuip, function() { console.log('Sunucuya bağlanılıyor...'); }); bot.on('connect', function() { console.log('Bağlandı.'); bot.write(format('PASS %s\r\n', ppass)); bot.write(format('NICK %s\r\n', bot + Math.floor(Math.random() * 99999))); bot.write(format('USER %s "" "%s" :%s\r\n', ident, bot.remoteAddress, fullname)); }); bot.on('data', function(message) { message = Buffer.from(message, 'binary'); message = message.toString(); lines = message.split("\r\n"); lines[0] = "" + lines[0]; lastLine = lines.pop(); lines.forEach(function(line) { message = line.normalize(); console.log(message); message = message.split(" "); if (message[0].match(/^PING$/i)) { bot.write(format('PONG %s\r\n', message[1].replace(':', ''))); } else if (message[0].match(/^ERROR$/i)) { bot.end(); } else if (message[1].match(/^(001|433)$/)) { console.log('Giriş yapıldı.'); bot.write(format('OPER %s\r\n', oper)); bot.write(format('NICKSERV GHOST %s %s\r\n', bot, pass)); bot.write(format('NICKSERV RELEASE %s %s\r\n', bot, pass)); bot.write(format('JOIN #0,0\r\n')); setTimeout(function() { bot.write(format('NICK %s\r\n', bot)); }, 3000); } else if (message[1].match(/^(481|411)$/)) { bot.write(format('OPER %s\r\n', oper)); bot.write(format('NICK %s\r\n', bot)); setTimeout(function() { bot.write(format('NICKSERV IDENTIFY %s\r\n', pass)); }, 2000); } else if (message[1].match(/^NICK$/i)) { if (_nick(message[0]) == bot) { bot.write(format('NICKSERV GHOST %s %s\r\n', bot, pass)); bot.write(format('NICKSERV RELEASE %s %s\r\n', bot, pass)); setTimeout(function() { bot.write(format('NICK %s\r\n', bot)); }, 3000); } else if (message[2].replace(':', '') == bot) { bot.write(format('NICKSERV IDENTIFY %s\r\n', pass)); bot.write(format('OPER %s\r\n', oper)); bot.write(format('OPERSERV SU %s\r\n', supass)); bot.write(format('JOIN #0,0\r\n')); bot.write(format('MODE %s +qHp-hY\r\n', bot)); setTimeout(function() { bot.write(format('SAJOIN %s %s,%s,%s,%s,%s,%s\r\n', bot, opers, admin, log, xline, bots, kontrol)); }, 3000); } } else if (message[1].match(/^PART$/i) && (_nick(message[0]) == bot)) { if (kanallar.lastIndexOf(message[2]) != -1) { bot.write(format('SAJOIN %s %s\r\n', bot, message[2])); } } else if (message[1].match(/^KICK$/i) && (message[3] == bot)) { if (kanallar.lastIndexOf(message[2]) != -1) { bot.write(format('SAJOIN %s %s\r\n', bot, message[2])); } } else if (message[1].match(/^JOIN$/i) && (_nick(message[0]) == bot)) { if (kanallar.lastIndexOf(message[2].replace(':', '')) != -1) { bot.write(format('MODE %s -qao+h %s %s %s %s\r\n', message[2].replace(':', ''), bot, bot, bot, bot)); } else { bot.write(format('SAPART %s %s\r\n', bot, message[2].replace(':', ''))); } } else if (message[1].match(/^MODE$/i) && (message[2].match(/^#/))) { if (message[3].match(/^\+(\S+)?(b)(\S+)?/i) && (message.join(" ").lastIndexOf(" " + bot + "!*@*") != -1)) { bot.write(format('MODE %s -bqao+h %s %s %s %s %s\r\n', message[2], bot, bot, bot, bot, bot)); } else if ((message.join(" ").lastIndexOf(" " + bot + "") != -1) && (_nickler(_nick(message[0])) == 0)) { bot.write(format('MODE %s -bqao+h %s %s %s %s %s\r\n', message[2], bot, bot, bot, bot, bot)); } } }); });

__________________
Gözümde küçülmüş insanlarla büyük "hesaplarım" olmaz benim.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Sohbet
Cevapla

Etiketler
node.js socket, nodejs, socket bot


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
socket Tupac mIRC Scripting Sorunları 1 19 Ocak 2018 01:56
Socket Help Bot Che IRCd Botlar 2 11 Temmuz 2015 11:35
NODEJS NEDİR TUNAHAN Visual Basic 0 25 Eylül 2013 13:57
Socket Bot. lacremel mIRC Scripting Sorunları 11 22 Aralık 2008 14:02
socket bot berduSh mIRC Scripting Sorunları 0 10 Ağustos 2007 11:46