Gefundener IRC BOT
Verfasst: 21.09.2011 13:22
Tag Leute,
zunächst einmal:
Ich habe diesen IRC Bot auf einer Inet Seite bei Google gefunden. Habe ihn getestet und es funktioniert soweit alles. Nun frag ich mich wie ich Befehle machen kann wie bspw. "+msg user$"
sodass der Bot auch den user$ dann anschreibt, ich bekomms einfach nicht geregelt. Hoffe ihr versteht was ich meine, ich möchte im chat eingeben "+msg hidas text" (zb.) und das er das dann splittet.
lg
jume
zunächst einmal:
Ich habe diesen IRC Bot auf einer Inet Seite bei Google gefunden. Habe ihn getestet und es funktioniert soweit alles. Nun frag ich mich wie ich Befehle machen kann wie bspw. "+msg user$"
sodass der Bot auch den user$ dann anschreibt, ich bekomms einfach nicht geregelt. Hoffe ihr versteht was ich meine, ich möchte im chat eingeben "+msg hidas text" (zb.) und das er das dann splittet.
lg
jume
Code: Alles auswählen
OpenConsole()
ConsoleTitle("IRC Bot")
Global yourmom$, cmd$
*buffer = AllocateMemory(4096)
serv$ = "irc.dynastynet.net"
port = 6667
nick$ = "WS"
channel$ = "#ther"
InitNetwork()
Print("PB Bot")
PrintN(Chr(13))
ConnectionID = OpenNetworkConnection(serv$,port)
admin$ = "hidas"
If ConnectionID
yourmom = ConnectionID
PrintN("Connected!" + Chr(13))
SendNetworkString(ConnectionID, "NICK " + nick$ + Chr(13) + Chr(10))
SendNetworkString(ConnectionID, "USER " + nick$ + " 0 * :PBbot" + Chr(13) + Chr(10))
SendNetworkString(ConnectionID, "MODE " + nick$ + " +B" + Chr(13) + Chr(10))
SendNetworkString(ConnectionID, "JOIN " + channel$ + Chr(13) + Chr(10))
Repeat
CEvent = NetworkClientEvent(ConnectionID)
If yourmom$ = "con"
SendNetworkString(ConnectionID, "JOIN " + channel$ + Chr(13) + Chr(10))
EndIf
If CEvent
Servid = EventServer()
Select CEvent
Case #PB_NetworkEvent_Data
ReceiveNetworkData(ConnectionID,*buffer,4096)
mail$ = PeekS(*buffer)
If FindString(mail$," ",0) > 0
If Left(mail$,4) = "PING"
pserv$ = Mid(mail$,FindString(mail$, ":",0) + 1,Len(mail$) - FindString(mail$, ":", 0) + 1)
pserv$ = Trim(pserv$, Chr(0))
;PrintN("Ping Received from " + pserv$ + Chr(13))
SendNetworkString(ConnectionID,"PONG :" + pserv$ + Chr(13) + Chr(10))
; PrintN("Sent ping to " + pserv$ + Chr(13))
ElseIf Mid(mail$, FindString(mail$, " ", 0) + 1, 7) = "PRIVMSG"
rnick$ = StringField(mail$,1,"!")
rnick$ = Trim(rnick$, ":")
mail$ = Trim(mail$, ":")
rmsg$ = Mid(mail$,FindString(mail$, ":",0) + 1, Len(mail$) - FindString(mail$, ":", 0) + 1)
If Left(rmsg$, 1) = "+"
cmd$ = Left(rmsg$, 5)
Trim(cmd$, "+")
;#############################Befehle
Select cmd$
Case "+time"
Time$ = FormatDate("%hh:%ii:%ss", Date())
SendNetworkString(ConnectionID, "PRIVMSG " + channel$ + " :" + Time$ + Chr(13) + Chr(10))
Case "+info"
If rnick$ = admin$
SendNetworkString(ConnectionID, "PRIVMSG " + channel$ + " :Purebasic Bot V1.0 mein lieber Admin"+Chr(13)+Chr(10))
Else
SendNetworkString(ConnectionID, "PRIVMSG " + channel$ + " :Purebasic Bot V1.0"+Chr(13)+Chr(10))
EndIf
Case "+test"
; If rnick$ = admin$
SendNetworkString(ConnectionID, "NOTICE "+user$+" haha"+Chr(13)+Chr(10))
; Else
; SendNetworkString(ConnectionID, "PRIVMSG " + channel$ + " :Sie sind leider nicht befähigt mir Befehle zu geben !"+Chr(13)+Chr(10))
; EndIf
Case "+nick"
user$ = Right(cmd$, 6)
SendNetworkString(ConnectionID, "NICK " +user$ +Chr(13)+Chr(10))
EndSelect
;#############################Ende Befehle
EndIf
PrintN("<" + rnick$ + "> " + rmsg$)
;SendNetworkString(ConnectionID, "PRIVMSG " + channel$ + " :Hi there!" + Chr(13) + Chr(10))
SendNetworkString(ConnectionID, "JOIN " + channel$ + Chr(13) + Chr(10))
EndIf
EndIf
*buffer = AllocateMemory(4096)
Case #PB_NetworkEvent_Disconnect
PrintN("Disconnected, Exiting.")
quit = 1
EndSelect
EndIf
Until quit = 1
Else
PrintN("Failed to connect..." + Chr(13))
;CloseNetworkConnection(ConnectionID)
PrintN("Press ENTER to close.")
Input()
EndIf