Hey
Da ich demnächst ein Irc Bot programmieren werde habe ich mir in Javascript mal die entsprechenden Funktionen gescriptet.
Nun dachte ich mir natürlich das ich euch das nicht vorenthalten darf,
gibt schließlich genug Leute die ein Irc-Client Coden wollen und mit dem Protokoll nicht klar kommen. So können sich diese Leute mal anschauen
wie man die jeweiligen Funktionen umsetzen kann.
Code:
/*
Internet Relay Chat Protocol Funktionen in Javascript [Cyb0t v0.1]
Copyright by Cyc0de 2012(c)
Beschreibung:
Funktionen des Irc-Protokolls zum Verbinden, Chatten etc.
Zum Nachbauen in einer anderen Sprache mit Sockets (Es sind keine Sockets dabei,
lediglich die Funktionen die gegebenfalls umgeschrieben werden müssen,
jenachdem Welche Script/Programmiersprache ihr benutzt!
Funktionen:
- Login
- Ping & Pong Abfrage beantworten (Antwort in Cl_Msg)
- Privatnachricht senden
- Nachricht senden
- Channel Joinen
- Channel Verlassen
- Disconnect
*/
//Vordefinierte Variablen
//srv_msg = Server Antwort (Auslesen per Socket und entsprechend übergeben)
//cl_msg = Client Antwort (Hier werden die Nachrichten zum senden gespeichert, jeweils per Socket absenden!)
var logy = new Array("Cyb0t","0","irc.euirc.net","v0.1","#chan"); //Nickname, Client-Host, Server-Host, Whois-Name (Versionsnummer des Bots), Channel
var srv_msg ="";
var cl_msg = "";
//Login-Funktion
//Login()[0] = buffer[0]
//Login()[1] = buffer[1]
function login(){
var buffer = new Array();
buffer[0] = "USER "+logy[0]+" "+logy[1]+" "+logy[2]+" "+logy[3];
buffer[1] = "NICK"+logy[0];
return buffer;
}
//Ping & Pong
function pong(servermessage){
if(servermessage.indexOf("PING :")!=-1){
cl_msg = servermessage.replace("PING","PONG");
return cl_msg;
}
}
//Privatnachricht
function privmsg(user,msg){
cl_msg = "PRIVMSG "+user+" :"+msg;
return cl_msg;
}
//Nachricht in den Channel senden
function chanmsg(msg){
cl_msg = "PRIVMSG "+logy[4]+" :"+msg;
return cl_msg;
}
//Channel Joinen
function join(){
cl_msg = "JOIN "+logy[4];
return cl_msg;
}
//Channel Verlassen
function leave(chan){
cl_msg = "PART "+chan;
return cl_msg;
}
//Disconnecten
function quit(quitmsg){
cl_msg = "QUIT :"+quitmsg;
return cl_msg;
}
Verbesserungsvorschläge sind gern gesehen
Und ja, ich bin Cyc0de... ist mein neuer Nickname -> nicht dass jemand anfängt zu flamen das wäre nicht mein sourcecode:twisted
lg Cy