mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-05 20:42:26 +00:00
now can join several rooms at once. -- noch
This commit is contained in:
parent
3d496ea58d
commit
7d4a6085c8
2 changed files with 29 additions and 15 deletions
39
IRC.Mod
39
IRC.Mod
|
|
@ -61,6 +61,16 @@ BEGIN
|
||||||
UNTIL j = i;
|
UNTIL j = i;
|
||||||
END zeroStr;
|
END zeroStr;
|
||||||
|
|
||||||
|
PROCEDURE appendLFCR(VAR str: ARRAY OF CHAR);
|
||||||
|
VAR
|
||||||
|
l : INTEGER;
|
||||||
|
BEGIN
|
||||||
|
l := Strings.Length(str);
|
||||||
|
str[l] := LF;
|
||||||
|
str[l+1] := CR;
|
||||||
|
str[l+2] := 0X;
|
||||||
|
END appendLFCR;
|
||||||
|
|
||||||
PROCEDURE findChar(ch: CHAR; VAR line: ARRAY OF CHAR; VAR b: BOOLEAN; VAR pos: INTEGER);
|
PROCEDURE findChar(ch: CHAR; VAR line: ARRAY OF CHAR; VAR b: BOOLEAN; VAR pos: INTEGER);
|
||||||
VAR
|
VAR
|
||||||
i : INTEGER;
|
i : INTEGER;
|
||||||
|
|
@ -147,25 +157,29 @@ BEGIN
|
||||||
Strings.Append(eol, ln);
|
Strings.Append(eol, ln);
|
||||||
END formJoinLine;
|
END formJoinLine;
|
||||||
|
|
||||||
PROCEDURE formModeJoinLine(VAR str, nick, chan: ARRAY OF CHAR);
|
PROCEDURE formModeJoinLine(VAR str, nick: ARRAY OF CHAR; channels: chnlist);
|
||||||
VAR
|
VAR
|
||||||
l: INTEGER;
|
i: LONGINT;
|
||||||
BEGIN
|
BEGIN
|
||||||
COPY (cmdMode, str);
|
COPY (cmdMode, str);
|
||||||
Strings.Append(" ", str);
|
Strings.Append(" ", str);
|
||||||
Strings.Append(nick, str);
|
Strings.Append(nick, str);
|
||||||
Strings.Append(" +C", str);
|
Strings.Append(" +C", str);
|
||||||
|
appendLFCR(str);
|
||||||
l := Strings.Length(str);
|
|
||||||
str[l] := LF;
|
|
||||||
str[l+1] := CR;
|
|
||||||
str[l+2] := 0X;
|
|
||||||
(*Strings.Append(eol, str);*)
|
(*Strings.Append(eol, str);*)
|
||||||
|
|
||||||
Strings.Append(cmdJoin, str);
|
i := 0;
|
||||||
Strings.Append(" ", str);
|
REPEAT
|
||||||
Strings.Append(chan, str);
|
Strings.Append(cmdJoin, str);
|
||||||
Strings.Append(eol, str);
|
Strings.Append(" ", str);
|
||||||
|
Strings.Append(channels[i], str);
|
||||||
|
INC(i);
|
||||||
|
IF i = LEN(channels^) THEN
|
||||||
|
Strings.Append(eol, str);
|
||||||
|
ELSE
|
||||||
|
appendLFCR(str);
|
||||||
|
END;
|
||||||
|
UNTIL i = LEN(channels^);
|
||||||
END formModeJoinLine;
|
END formModeJoinLine;
|
||||||
|
|
||||||
PROCEDURE isPing(VAR line: ARRAY OF CHAR): BOOLEAN;
|
PROCEDURE isPing(VAR line: ARRAY OF CHAR): BOOLEAN;
|
||||||
|
|
@ -312,7 +326,7 @@ VAR str: ARRAY msgLen OF CHAR;
|
||||||
b: BOOLEAN;
|
b: BOOLEAN;
|
||||||
BEGIN
|
BEGIN
|
||||||
zeroStr(str);
|
zeroStr(str);
|
||||||
formModeJoinLine(str, inst.nick, inst.channelList^[0]);
|
formModeJoinLine(str, inst.nick, inst.channelList);
|
||||||
b := Send(inst, str);
|
b := Send(inst, str);
|
||||||
END ModeAndJoin;
|
END ModeAndJoin;
|
||||||
|
|
||||||
|
|
@ -464,7 +478,6 @@ VAR
|
||||||
str: ARRAY 32 OF CHAR;
|
str: ARRAY 32 OF CHAR;
|
||||||
BEGIN
|
BEGIN
|
||||||
Strings.Extract(line, 0, Strings.Length(nick), str);
|
Strings.Extract(line, 0, Strings.Length(nick), str);
|
||||||
Out.String("str: "); Out.String(str); Out.Ln;
|
|
||||||
IF str = nick THEN
|
IF str = nick THEN
|
||||||
RETURN TRUE
|
RETURN TRUE
|
||||||
ELSE
|
ELSE
|
||||||
|
|
|
||||||
3
test.Mod
3
test.Mod
|
|
@ -62,8 +62,9 @@ BEGIN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
NEW(channels, 1);
|
NEW(channels, 2);
|
||||||
channels[0] := "#oberon";
|
channels[0] := "#oberon";
|
||||||
|
channels[1] := "#pascal";
|
||||||
IRC.setChannelList(inst, channels);
|
IRC.setChannelList(inst, channels);
|
||||||
|
|
||||||
IF IRC.Connect(inst) # FALSE THEN
|
IF IRC.Connect(inst) # FALSE THEN
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue