IRC Bot
Übersicht

Stevenehemals "Steven04"Betreff: IRC Bot |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
In den letzten Tagen, habe ich mich mal ein bisschen mit IRC bei BB beschäftigt und nun ist folgendes raus gekommen: Es ist ein sehr kleiner IRC Bot, der auf vorgebende Wörter reagiert und dann selbst Antwortet. Die Reaktionswörter, die Antworten und die Daten werden aus einer externen Datei geladen. Außerdem werden noch ein paar weitere Funktionen gezeigt. Der Code sollte mit BlitzPlus und Blitz3D funktionieren. Ich hoffe der Code ist nicht allzu schlimm und er kann für ein paar wenige hilfreich sein: Code: [AUSKLAPPEN] Type Reaktion ;Type für die Reaktionen... Field wort$ ;...mit einem Feld für die "Auslöser"... Field antwort$ ;...und einen für die Reaktion End Type Graphics 800,600,32,2 ;Variabelen Global Dat = OpenFile("Data.txt"),Server$=Replace(ReadLine(Dat),"Server = ",""), Port$=Replace(ReadLine(Dat),"Port = ","") ;Variabelen werden ausgelesen Global NickName$=Replace(ReadLine(Dat),"Nickname = ",""), channel$=Replace(ReadLine(Dat),"Channel = ","") ;Reaktionen/Antworten auslesen While Eof(Dat)<>1 txt$=ReadLine(Dat) If txt$<>"" And txt$<>"REAKTIONSWÖRTER = ANTWORT" Then re.Reaktion= New Reaktion re\wort$=Trim$ ( Left( Replace(txt$,"=","") , Instr(txt$,"=") ) ) ;1. Leerzeichen werden entfern; 2. Linke Hälfte teilenbis zum "=" re\antwort$=Trim$ ( Right ( Replace(txt$,"=","") , Instr(txt$,"=") ) ) If re\wort$="" Or re\antwort$="" Then Delete re EndIf Wend ;Verbindung herstellen Netzwerk = OpenTCPStream(Server$, Port) ;Verbindung zum Server herstellen Hostname$ = "BlitzBasic Irc" WriteLine Netzwerk,"USER "+NickName$+" "+Hostname$+" "+Server$+" :"+NickName$;"Anmelden" WriteLine Netzwerk,"NICK "+NickName$ While Not KeyHit(1) Bytes=ReadAvail(Netzwerk);Liest die Anzahl der Bytes While Bytes>0 Line$=ReadLine(Netzwerk) Print Line$ If Left(Trim(Upper(Line$)),4) = "PING" Then ;Reagiert auf "PING".. WriteLine Netzwerk, "PONG "+Mid(Trim(Upper(Line$)),5) ;... mit "PONG" + Ping Wert EndIf ;Prüft und reagiert dann For re=Each Reaktion If Instr(Line$,re\wort$)>0 Then WriteLine Netzwerk, "PRIVMSG " + channel$ + " :" + re\antwort$ ;Prüft ob wort auf Antwort passt Next Bytes = ReadAvail(Netzwerk) Wend ;Tastenfunktionen If KeyHit(2) Then WriteLine Netzwerk, "JOIN " + channel$:Print "Channel betreten: "+channel$ ;Channel betreten If KeyHit(3) Then WriteLine Netzwerk, "PRIVMSG " + channel$ + " :" + Input("Text eingeben: ");Schreiben If KeyHit(4) Then WriteLine Netzwerk, "QUIT " ;Channel verlassen Wend Und hier noch eine Beispiel Data Datei: Code: [AUSKLAPPEN] Server = irc.de.quakenet.org
Port = 6667 Nickname = Botto Channel = #botto REAKTIONSWÖRTER = ANTWORT Hallo = Abend! Hi! = Hallo Trottel = Selber!:P cu = Tschau! Ende Würde mich über Kritik freuen! Gruß Steven! |
||
- Zuletzt bearbeitet von Steven am So, Aug 10, 2008 21:25, insgesamt einmal bearbeitet
TeDy14Gast |
![]() Antworten mit Zitat |
|
---|---|---|
Ich hab sogar einen mit einer eigenen Scriptsprache hier irgentwo rumliegen...
Ich werd ihn mal raussuchen ![]() |
||
![]() |
DerKeks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hehe ich hab mal ne ganze Familie gecodet
3 Versionen ![]() Auch von ausses programmierbar und alles einstellbar. Hab gestern noch nen Test gemacht, er hat über 5 Stunden Dauerbelastung im Clanchannel durchgehalten ^^ Ist ne lustige Spielerei und eigentlich leicht zu machen Grüsse Dari |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
IRC ist eigentlich (genauso wie http) immer ideal für den Einstieg in das thema Botprogrammierung
Die gründe sind einfach: Das Protokoll ist Zeilenbasierend, leicht verständlich strukturiert und auch durch reverse Engineering sehr einfach zu verstehen. cu, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group