Quake-IRC-Bot / Channels parsen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von alsdwo3, 25. Juli 2013 .

Schlagworte:
  1. 25. Juli 2013
    Zuletzt bearbeitet: 26. Juli 2013
    Ich würde mir gerne einen Quake-IRC-Bot programmieren, der Channels durchsucht und Inhalte auf meinen Server kopiert. (a´la http://pr0gramm.com/#status)

    Diese würde ich dann gerne auf einer Webseite anzeigen.

    Gibt es da eventuell ein paar Bots die solche Funktionen (also das parsen von Channels) beherrschen?

    Danke!
     
  2. 25. Juli 2013
    AW: Quake-IRC-Bot / Channels parsen

    Schreib dir den Bot doch selber. IRC ist ein simples Protokoll: IRCHelp.org — Untitled Page
    Parsen dürfte je nach Anforderung mit nem RexEx möglich sein. Den Deamon (Bot) wirst du nicht in PHP programmieren können (zumindest nicht als "klassisches" PHP Skript auf nem Webserver) denn dieser muss immer Laufen (Stichwort max_execution_time und TimeOut).
    Ansonsten gibts natürlich bereits viel fertiges: [G]open source irc bot[/G]
     
  3. 26. Juli 2013
    AW: Quake-IRC-Bot / Channels parsen

    Er könnte schon in PHP entwickeln. Das es quatsch wäre, ist eine andere Frage. PHP bietet durchaus die notwendigen Funktionen.

    Das "Problem" ist, dass du hier eine zeitlich unbeschränkte Aufgabe verrichten willst. Da ist PHP mit seinem prozeduralen Konzept (Request, wir laden die Libs, wir verarbeiten alles, wir beenden alles) halt nicht so gut geeignet. Besser wäre Node.js (wenn es im Web sein soll). Da startest du quasi einmal das Programm und dies wartet dann auf die Eingaben, ohne dass sich bestimmte Prozesse durch Wartezeiten in die Quere kommen.
     
  4. 26. Juli 2013
    AW: Quake-IRC-Bot / Channels parsen

    Unter Linux kann man mit pcntl_fork() asynchron arbeiten (Multiprozess). Damit kann man auch einen Bot recht einfach in einem oder mehreren Channels idlen lassen.

    Ist, wie MasterJulian schon schrieb, total einfach.
    Im Grunde muss man nur den RFC entsprechend abbilden und dann die Logik drum rum bauen.
     
  5. 26. Juli 2013
    Zuletzt bearbeitet: 26. Juli 2013
    AW: Quake-IRC-Bot / Channels parsen

    Von Quatsch habe ich nichts gesagt. Selbstverständlich kannst du einen Bot in PHP programmieren. Nur eben nicht als webscript laufen lassen. Was anderes habe ich nie behauptet. Wenn ich das richtig sehe (kenne mich damit nicht aus) muss node.js aus installiert werden um eben dann als deamon zu laufen. Was dann letztendlich die Botaufgabe übernimmt ist mMn im großen und ganzen Egal. Ob das ein Serverseitig gestartetes PHP Script, ein C++ Programm oder Node.js ist. Gibt evtl. ein paar Ressourcenunterschiede aber die dürften bei so einer simplen Aufgabe kaum eine Rolle spielen.
    //edit: @Murdoc: PHP ist nicht so meins aber wenn ich via pcntl_fork() einen Unterprozess spawne dann ist der doch an den Erzeugerprozess gebunden und müsste genauso von der PHP Execution Time bzw. Apache Timeout betroffen sein oder nicht? Sonst könnte ich ja auf jedem Webhoster der diese Funktion erlaubt einen Deamon spawnen und als Bot nutzten.
     
  6. 26. Juli 2013
    AW: Quake-IRC-Bot / Channels parsen

    pcntl_fork() macht natürlich nur unter CLI (PHP CLI hat kein timeout) wirklich Sinn.
    D.h. man müsste den Bot dann unabhängig implementieren und sich was für die API überlegen.

    Da man aber ganz normal auf Datenbanken zugreifen kann, kann man diese einfach über den Bot befüllen und in der Webseite auslesen + anzeigen lassen.
     
  7. 26. Juli 2013
    AW: Quake-IRC-Bot / Channels parsen

    Alles klar. Man könnte auch für die Website eine API basteln um nich direkt auf die DB zu müssen.
    insert.php?type=video&url=http....
    Dann halt prüfen ob der Request vom Server kam (IP) und/oder ggf. noch noch einen API Key o.ä.
    Ich lasse Prozesse gerne mit screen im Hintergrund laufen. Wenns läuft ist warscheinlich ein init.d Script die beste lösung.
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.