mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-05 20:42:26 +00:00
58 lines
1.3 KiB
Modula-2
58 lines
1.3 KiB
Modula-2
MODULE test;
|
|
|
|
IMPORT IRC, Out, Strings := ooc2Strings;
|
|
|
|
VAR
|
|
|
|
owner, user, nick, host, port, channel: ARRAY 32 OF CHAR;
|
|
|
|
PROCEDURE testBot;
|
|
VAR
|
|
b, b2: BOOLEAN;
|
|
patternFound : BOOLEAN;
|
|
patternPos: INTEGER;
|
|
str, str2, str3: ARRAY 512 OF CHAR;
|
|
BEGIN
|
|
IF IRC.Connect(host, port) # FALSE THEN
|
|
|
|
b := IRC.Auth(user, nick, owner);
|
|
REPEAT
|
|
b := IRC.Receive(str);
|
|
Strings.Extract(str, 0, 4, str2);
|
|
IF Strings.Equal(str2, IRC.ping) THEN
|
|
(*b := IRC.Send(IRC.pong);*)
|
|
str[1] := 'O'; (* replace "PING" by "PONG" *)
|
|
b2 := IRC.Send(str);
|
|
ELSIF str[0] = ':' THEN
|
|
Out.String("':' found"); Out.Ln;
|
|
Strings.FindNext(IRC.zzo, str, 0, patternFound, patternPos);
|
|
IF patternFound THEN
|
|
Out.String("001 found"); Out.Ln;
|
|
COPY ("MODE ", str3);
|
|
Strings.Append(nick, str3);
|
|
Strings.Append(" +B", str3);
|
|
Strings.Append(IRC.eol, str3);
|
|
Strings.Append(0X, str3);
|
|
b2 := IRC.Send(str3);
|
|
COPY("JOIN ", str3);
|
|
Strings.Append("#oberon", str3);
|
|
Strings.Append(IRC.eol, str3);
|
|
Strings.Append(0X, str3);
|
|
b2 := IRC.Send(str3);
|
|
END;
|
|
END;
|
|
UNTIL ~b;
|
|
END;
|
|
END testBot;
|
|
|
|
BEGIN
|
|
owner := "norayr_tanakian";
|
|
user := "norayr_tanakian";
|
|
nick := "arnet_am";
|
|
host := "irc.freenode.net";
|
|
port := "6667";
|
|
channel := "#oberon";
|
|
|
|
testBot;
|
|
|
|
END test.
|