Wenn Sie im Internet Relay Chat (IRC) waren, haben Sie wahrscheinlich irgendwann einen Bot gefunden. Bots sind unabhängige Programme oder Skripte, die auf die gleiche Weise wie ein Mensch eine Verbindung zu einem Netzwerk herstellen. Sie können so programmiert werden, dass sie auf Benutzerbefehle reagieren oder sogar chatten. In diesem Handbuch erfahren Sie, welche Optionen Sie zum Erstellen eines IRC-Bots haben und wie Sie einen von Grund auf neu erstellen.
Schritte
Methode ein von 2: Optionen auswerten
- ein Erwägen Sie die Installation eines Client-Skripts. Manchmal möchten Sie nur eine einfache Aufgabe erledigen und möchten nicht, dass es sich um ein unabhängiges Programm handelt. In diesem Fall können Sie ein Skript an einen IRC-Client anhängen. Dies ist ziemlich häufig zu tun mIRC , das über eine robuste Skript-Engine und eine Vielzahl verfügbarer Skripte verfügt. Dies ist die einfachste Option und wird dringend empfohlen, wenn Sie nicht viel oder keine Programmiererfahrung haben. Für den Rest dieses Handbuchs erfordern die Anweisungen einige Kenntnisse der Computerprogrammierung.
- 2 Betrachten Sie eine bereits vorhandene Codebasis für Ihren Bot. Es gibt viele Open Source- und kostenlose Programme, mit denen Sie schnell Ihren eigenen angepassten Bot einrichten können. Ein solches Beispiel ist Eggdrop , der älteste IRC-Bot, der noch gewartet wird.
- 3 Erwägen Sie, Ihren eigenen Bot zu schreiben. Für fortgeschrittene IRC-Benutzer und Entwickler, die sich bereits mit einer Programmiersprache auskennen, ist dies eine großartige Option. Sie können so ziemlich jede Sprache verwenden, die Sie möchten, solange sie Socket-Unterstützung bietet. Zu den beliebtesten Sprachen gehören Python, Lua, PHP, C und Perl. Wenn Sie keine davon kennen, aber eine andere Sprache kennen, ist das kein Problem. Normalerweise finden Sie Beispiele im Internet in jeder gewünschten Sprache. In diesem Artikel wird die Verwendung von PHP demonstriert. Um PHP verwenden zu können, muss PHP-CLI auf Ihrem Computer oder Server installiert sein.
- PHP kann von heruntergeladen werden php.net
- PHP-Skripte können über die Befehlszeile ausgeführt werden. Weitere Informationen und Hilfe zur Verwendung von PHP finden Sie unter diese PHP-Handbuchseite .
Methode 2 von 2: Entwickeln Sie Ihren eigenen Bot
- ein Sammeln Sie die Verbindungsdetails. Sie benötigen die folgenden Informationen, um eine erfolgreiche Verbindung zum Netzwerk herzustellen.
- Server : Der Domänenname des Servers, der für die Verbindung zum IRC verwendet wird, z. B.
chat.freenode.net
- Hafen : In den meisten Fällen ist dies 6667, aber wenn Sie sich nicht sicher sind, überprüfen Sie Ihren eigenen IRC-Client oder die Website des Netzwerks.
- Spitzname : Der Spitzname, den Ihr Bot verwenden sollte. Beachten Sie, dass einige Sonderzeichen normalerweise nicht zulässig sind (@ #! ~).
- Ident : Das Ident-Feld wird nach dem Spitznamen angezeigt, wenn jemand ein WHOIS wie folgt ausführt:
nickname!ident@hostname
- GECOS : Dieses Feld enthält normalerweise den richtigen Namen eines Benutzers oder eine allgemeine Beschreibung des Bots. Sie können jedoch alles eingeben, was Sie möchten.
- Kanal : Normalerweise soll Ihr Bot in einem oder mehreren Kanälen vorhanden sein. In den meisten Netzwerken wird diesen das Präfix '#' vorangestellt, es kann sich jedoch auch um etwas anderes handeln.
- Server : Der Domänenname des Servers, der für die Verbindung zum IRC verwendet wird, z. B.
- 2 Initialisieren Sie die Konfiguration in Ihrem Skript. Der einfachste Weg, dies zu tun, besteht darin, einige Variablen gemäß den obigen Konfigurationsnamen zu benennen. Sie können sie auch in einer Konfigurationsdatei speichern und analysieren, aber im Moment bleiben wir nur bei den absoluten Notwendigkeiten.
- 3 Stellen Sie eine Verbindung zum Netzwerk her. Dazu müssen Sie am angegebenen Port einen Socket für den Server öffnen. Sie sollten in diesem Teil auch einen Fehlerbehandlungscode hinzufügen, falls die Verbindung aus irgendeinem Grund fehlschlägt. In diesem Fall bietet PHP einige nützliche Funktionen, um den Fehler effektiv zu behandeln.
- 4 Registrieren Sie Ihren Bot. Dies bedeutet, dass Sie dem Server Ihren Spitznamen, Ihre Identität und Ihr GECOS mitteilen. nicht Registrierung bei NickServ. Schreiben Sie dazu einfach die Befehle NICK und USER auf den Server, gefolgt von einem Wagenrücklauf und einem Zeilenumbruch. Es ist unbedingt erforderlich, dass Sie dies genau wie gezeigt tun, da dies in RFC1459, der Spezifikation für das IRC-Protokoll, angegeben ist.
- Beachten Sie, dass die beiden mittleren Parameter (in diesem Fall * und 8) angegeben werden müssen, vom Server jedoch ignoriert werden. Diese beiden werden nur zwischen Verbindungsservern verwendet, nicht von einem direkt verbundenen Client.
- 5 Rufen Sie weiterhin Daten mit einer Schleife aus dem Socket ab. Wenn Sie keine Schleife verwenden würden, würde Ihr Skript sofort beendet und der Bot wäre im Grunde genommen nutzlos. Um in Verbindung zu bleiben, müssen Sie Daten vom Server abrufen, nach gewünschten Eingaben im gewünschten Stream suchen und gegebenenfalls darauf reagieren. Hier erfassen wir Daten mit socket_read (), um alle für uns verfügbaren Daten abzurufen. Wenn ja, machen wir weiter, was auch immer in der Schleife ist. Es kann hilfreich sein, die Rohdaten auch an die Konsole auszugeben, damit Sie sehen können, was aus der Sicht des Bots vor sich geht.
- 6 Schreiben Sie einen Ping-Handler. Das ist wichtig. Wenn Sie nicht rechtzeitig auf Pings antworten, werden Sie vom Server getrennt. Kümmern wir uns zuerst darum. Pings sehen beim Senden vom Server folgendermaßen aus:
PING :rajaniemi.freenode.net
. Der Server muss seinen Namen nicht nach dem ':' setzen, er kann liefern, was er will. Sie müssen genau das wiederholen, was der Server gesagt hat, außer mit PONG. - 7 Treten Sie Ihren Kanälen bei. Okay, wir haben einen Bot, der sich mit dem Netzwerk verbindet und auf Pings reagiert, aber sonst nichts tut. Damit die Leute Ihren Bot sehen und verwenden können, sollte er sich in einem Kanal befinden (andernfalls müssten Sie ihn anweisen, auf private Nachrichten zu antworten).
- Dazu suchen wir nach Serverstatuscodes 376 oder 422. 376 bedeutet, dass die MOTD (Nachricht des Tages) beendet ist. 422 bedeutet, dass kein MOTD gesendet werden musste. Dieses MOTD ist nur etwas, das der Server sendet, wenn Sie eine Verbindung herstellen, aber es ist ein guter Indikator dafür, wann wir anfangen können, Kanälen beizutreten.
- Sie müssen einen JOIN-Befehl ausgeben. Diesem Befehl können ein oder mehrere durch Komma getrennte Kanäle folgen.
- Beachten Sie, dass die vom Server gesendeten Daten zweckmäßigerweise durch Leerzeichen begrenzt sind. Auf diese Weise können wir die Daten aufteilen und mithilfe eines Array-Index referenzieren.
- 8 Antworten Sie auf Kanalnachrichten. Nun zum lustigen Teil. Ihr Bot ist dem Kanal beigetreten, sodass Sie ihn jetzt für das verwenden können, was Sie wollten. Erstellen wir einen Beispielbefehl mit dem Namen @moo.
- Beachten Sie den Versatz, an dem Nachrichten beginnen (dies gilt sowohl für Kanäle als auch für private Nachrichten). Es ist immer am selben Ort.
- Sie können Befehle mit Leerzeichen verarbeiten, indem Sie die aufgeteilten Daten wieder zusammenfügen ($ d). Das geht über den Rahmen dieses Artikels hinaus.
- Wenn das Ziel ein Kanal ist (z. B. # botters-test), antworten Sie darauf. Wenn es sich um eine private Nachricht handelt, ist dieses Bit der Spitzname Ihres Bots! Sie müssen dann mit dem Spitznamen des Absenders antworten, nicht mit Ihrem (sonst würden Sie mit sich selbst sprechen, und das ist einfach albern).
- 9 Erweitern Sie Ihren Bot. Mit der obigen Implementierung können Sie viele neue Funktionen hinzufügen. Es gibt viele andere Befehle, die an das IRC-Netzwerk ausgegeben werden können, z. B. das Verwalten von Operationen, das Treten und Sperren, das Festlegen des Themas und viele andere Funktionen. Werbung
Community Q & A.
Suche Neue Frage hinzufügen- Frage Nachdem ich sie in Editor + hinzugefügt habe, wo füge ich diese Codes hinzu? 8lack fliegen Stellen Sie sie auf einen Webserver (wie Apache), der PHP unterstützt. Sie können XXAMP auf Ihrem lokalen Computer installieren oder auf einem anderen Webserver hosten.
Werbung
Tipps
- Sie können das Ergebnis des Befehls '/ me' erzeugen, indem Sie Ihren Nachrichten Folgendes voranstellen:
- PRIVMSG #channel: 001ACTION Text hier 001 .
- 001 bedeutet ASCII-Zeichen 1 und wird als solches in einer PHP-Zeichenfolge in doppelten Anführungszeichen interpretiert. Alternativ können Sie
chr(1)
verwenden außerhalb der Zeichenfolge.
- Farben können in einer Nachricht durch Präfix ' 003' (ASCII-Code 3) gefolgt von einer Nummer für eine Farbe erzeugt werden. 0 = weiß, 1 = schwarz, 2 = blau, 3 = grün, 4 = rot [...]. Sehen mIRC Seite für mehr Farben.
- Holen Sie aus Höflichkeitsgründen die Zustimmung der Kanalbesitzer und IRC-Betreiber ein, bevor Sie Ihren Bot online schalten. Nicht alle Netzwerke und Kanäle haben eine willkommene Politik gegenüber Bots, auch nicht gut erzogene.
- Einige IRC-Daemons gehen über die Spezifikationen des Protokolls hinaus und implementieren andere Funktionen. Wenn Sie es auf ein bestimmtes Netzwerk ausrichten, können Sie diese Funktionen sicherlich nutzen, wenn Sie das Protokoll kennen. Wenn Sie jedoch möchten, dass Ihr Bot in mehreren Netzwerken bereitgestellt wird, versuchen Sie, ihn auf dem RFC-Stand zu halten.
Anzeige Tipp einreichen Alle Tippbeiträge werden vor der Veröffentlichung sorgfältig geprüft. Vielen Dank, dass Sie einen Tipp zur Überprüfung eingereicht haben!