This commit is contained in:
norayr 2017-04-14 16:21:58 +04:00
parent b1d7006dfc
commit cee0d425ab
3 changed files with 109 additions and 17 deletions

View file

@ -1,25 +1,54 @@
MODULE test;
IMPORT IRC, Out;
IMPORT IRC, Out, Strings := ooc2Strings;
VAR
owner, user, nick, host, port, channel: ARRAY 32 OF CHAR;
PROCEDURE testBot;
VAR b : BOOLEAN;
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";
nick := "arnet";
user := "norayr_tanakian";
nick := "arnet_am";
host := "irc.freenode.net";
port := "6667";
channel := "#oberon";