Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20
  1. #1
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard [Irc|RFC 1459] In Javascript

    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
    Geändert von Surflam (16.02.2012 um 18:47 Uhr) Grund: bugfix nr2

  2. #2
    W32.Lovgate
    Registriert seit
    22.10.2011
    Beiträge
    340

    Standard AW: [Irc|RFC 1459] In Javascript

    Wow wirklich sehr gute Arbeit. Gibt es den auch komplett fertig?

  3. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    fvuj (16.02.2012)

  4. #3
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard AW: [Irc|RFC 1459] In Javascript

    Bisschen viel Copyright für soviel redundanten Code. Muss cby aber widersprechen. Der Hauptteil der Arbeit ist damit ja wirklich schon erledigt. Es fehlt ja nur noch die Verbindung zum Server, das eigentliche Senden der Befehle, das Analysieren der empfangenen Nachrichten (für PING/PONG hat er das ja schon erledigt, was ja die größte Arbeit daran ist) und das erstellen der gesamten Programmlogik. Die Funktionen die mir zu leave("substanzloser Post") den String "PART :substanzloser Post" zurück liefert erleichtert mir die Arbeit dabei wirklich.

    Etwas seriöserer Teil des Posts:
    PART nimmt keine "lmsg" als Parameter, sondern eher eine Liste von Channels. Das ":" was du noch da einbaust ist von dem von dir als Quelle angegebenem RFC nicht vorgesehen.

    P.S.: http://free-hack.com/showpost.php?p=583883&postcount=17 ... verdammt die Leute hier kennen mich gut. Hätte nicht gedacht, dass mich so viele so gut einschätzen können :S

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  5. #4
    W32.Lovgate
    Registriert seit
    22.10.2011
    Beiträge
    340

    Standard AW: [Irc|RFC 1459] In Javascript

    Und genau die Verbindung zum Server scheint mir sehr wichtig zu sein.
    Aber eigentlich war das Ganze eher ironisch gedacht.

  6. #5
    Fortgeschrittener
    Registriert seit
    13.11.2011
    Beiträge
    30

    Standard Re: [Irc|RFC 1459] In Javascript

    Code:
    function pong(servermessage){ if(servermessage.indexOf("PING :")==-1){ }else{ cl_msg = servermessage.replace("PING","PONG"); return cl_msg; } }
    Seriously.
    W. T. F.

    Kannst du mir das Konstrukt mal erklären?

  7. #6
    W32.Lovgate
    Registriert seit
    22.10.2011
    Beiträge
    340

    Standard AW: [Irc|RFC 1459] In Javascript

    Es kommt ein PING und das musst du mit einem PONG wieder zurück geben.

    IN: PING :283423
    OUT: PONG :283423

    Somit bleibt die Verbindung zum Server erhalten. Würdest du kein PONG senden, hättest du je nach Einstellungen ein PING TIMEOUT.

    Aber ich denke du willst auf das if {} elese { } anspielen. Das habe ich mich auch schon gefragt.

  8. #7
    Fortgeschrittener
    Registriert seit
    13.11.2011
    Beiträge
    30

    Standard Re: AW: [Irc|RFC 1459] In Javascript

    Zitat Zitat von cby Beitrag anzeigen
    Es kommt ein PING und das musst du mit einem PONG wieder zurück geben.

    IN: PING :283423
    OUT: PONG :283423

    Somit bleibt die Verbindung zum Server erhalten. Würdest du kein PONG senden, hättest du je nach Einstellungen ein PING TIMEOUT.

    Aber ich denke du willst auf das if {} elese { } anspielen. Das habe ich mich auch schon gefragt.
    Ich kenne das IRC Protokoll, danke.

    Vielleicht habe ich mich falsch ausgedrückt: Unabhängig von der Funktion -- wie, in aller Welt, ist eine solche Struktur zu rechtfertigen?

  9. #8
    W32.Lovgate
    Registriert seit
    22.10.2011
    Beiträge
    340

    Standard AW: [Irc|RFC 1459] In Javascript

    Aber ich denke du willst auf das if {} elese { } anspielen. Das habe ich mich auch schon gefragt.
    Villeicht hast du das ja übersehen.

    Zu deiner Frage: Ãœberhaupt nicht!
    Geändert von cby (16.02.2012 um 14:39 Uhr)

  10. #9
    NoClose Wurm
    Registriert seit
    26.10.2008
    Beiträge
    185

    Standard AW: [Irc|RFC 1459] In Javascript

    Ehm.. Was gibts an der If-Abfrage den zu meckern? indexOf(); Prüft ob es ein Ping-Packet ist das der Server als antwort sendet, ist dies nicht der Fall wird dort -1 zurückgeliefert. Passt also finde ich schon sehr das dann jeweils so zu machen..

    @cby nein noch nicht, da ich wie ich im erst-post schrieb erst demnächst dran basteln werde und es dann auch ein bot und kein client sein wird.

    @blackberry
    PART nimmt keine "lmsg" als Parameter, sondern eher eine Liste von Channels. Das ":" was du noch da einbaust ist von dem von dir als Quelle angegebenem RFC nicht vorgesehen."
    Okay, wusste ich nicht. In dem Info-Paper was ich benutzt hatte stand dies so drin, werde es ausbessern Danke!

    @Alle anderen
    Der Code soll ja auch nicht zum Copy&Paste dasein... Ich hab das Gepostet damit die Leute sehen "wie man sowas machen könnte" und es nicht so schwer haben das umzusetzen, nicht das sie es einfach kopieren

    mfg

  11. #10
    W32.Lovgate
    Registriert seit
    22.10.2011
    Beiträge
    340

    Standard AW: [Irc|RFC 1459] In Javascript

    Wir meinen halt das leere if-statement.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Javascript - Doppelverlinkung
    Von maLL im Forum (X)HTML & CSS
    Antworten: 0
    Letzter Beitrag: 26.07.2009, 16:45
  2. PHP, Javascript TUTs
    Von .net im Forum Suche Tutorials
    Antworten: 0
    Letzter Beitrag: 21.07.2009, 02:43
  3. SQL und JavaScript???
    Von Swola4 im Forum (X)HTML & CSS
    Antworten: 8
    Letzter Beitrag: 29.04.2009, 16:22
  4. Javascript Pw knacken
    Von Southpark im Forum Suche Tutorials
    Antworten: 2
    Letzter Beitrag: 26.12.2008, 01:23

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •