mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-06 04:52:26 +00:00
80 lines
2.5 KiB
Modula-2
80 lines
2.5 KiB
Modula-2
MODULE test;
|
|
|
|
IMPORT IRC, Out, Strings := ooc2Strings;
|
|
|
|
|
|
PROCEDURE onMessage(VAR msg : ARRAY OF CHAR);
|
|
BEGIN
|
|
Out.String("callback procedure is running, youhoo!"); Out.Ln;
|
|
Out.String("input:"); Out.Ln;
|
|
Out.String(msg); Out.String("|"); Out.Ln;
|
|
Out.Ln;
|
|
END onMessage;
|
|
|
|
PROCEDURE onPrivateMessage(VAR msg, user, ident, host: ARRAY OF CHAR);
|
|
BEGIN
|
|
Out.String("*** private message ***"); Out.Ln;
|
|
Out.String("message: '"); Out.String(msg); Out.Char("'"); Out.Ln;
|
|
Out.String("user: '"); Out.String(user); Out.Char("'"); Out.Ln;
|
|
Out.String("ident: '"); Out.String(ident); Out.Char("'"); Out.Ln;
|
|
Out.String("host: '"); Out.String(host); Out.Char("'"); Out.Ln;
|
|
Out.String("*** that's it ***"); Out.Ln;
|
|
END onPrivateMessage;
|
|
|
|
PROCEDURE onPublicMessage(VAR msg, user, ident, rcpt, host: ARRAY OF CHAR);
|
|
BEGIN
|
|
Out.String("*** public message ***"); Out.Ln;
|
|
Out.String("message: '"); Out.String(msg); Out.Char("'"); Out.Ln;
|
|
Out.String("user: '"); Out.String(user); Out.Char("'"); Out.Ln;
|
|
Out.String("ident: '"); Out.String(ident); Out.Char("'"); Out.Ln;
|
|
Out.String("recipient: '"); Out.String(rcpt); Out.Char("'"); Out.Ln;
|
|
Out.String("host: '"); Out.String(host); Out.Char("'"); Out.Ln;
|
|
Out.String("*** that's it ***"); Out.Ln;
|
|
END onPublicMessage;
|
|
|
|
PROCEDURE onPublicMessageWithMention(VAR msg, user, ident, rcpt, host: ARRAY OF CHAR);
|
|
BEGIN
|
|
Out.String("*** public message, bot name mentioned ***"); Out.Ln;
|
|
Out.String("message: '"); Out.String(msg); Out.Char("'"); Out.Ln;
|
|
Out.String("user: '"); Out.String(user); Out.Char("'"); Out.Ln;
|
|
Out.String("ident: '"); Out.String(ident); Out.Char("'"); Out.Ln;
|
|
Out.String("recipient: '"); Out.String(rcpt); Out.Char("'"); Out.Ln;
|
|
Out.String("host: '"); Out.String(host); Out.Char("'"); Out.Ln;
|
|
Out.String("*** that's it ***"); Out.Ln;
|
|
END onPublicMessageWithMention;
|
|
|
|
|
|
PROCEDURE testBot;
|
|
VAR
|
|
inst: IRC.instance;
|
|
channels : IRC.chnlist;
|
|
b: BOOLEAN;
|
|
BEGIN
|
|
inst.owner := "norayr_tanakian";
|
|
inst.user := "norayr_tanakian";
|
|
inst.nick := "vocbot";
|
|
inst.host := "irc.freenode.net";
|
|
inst.port := "6667";
|
|
inst.callbackSimple := onMessage;
|
|
inst.callbackPrivate := onPrivateMessage;
|
|
inst.callbackPublic := onPublicMessage;
|
|
inst.callbackPublicMention := onPublicMessageWithMention;
|
|
|
|
|
|
|
|
NEW(channels, 2);
|
|
channels[0] := "#oberon";
|
|
channels[1] := "#pascal";
|
|
IRC.setChannelList(inst, channels);
|
|
|
|
IF IRC.Connect(inst) # FALSE THEN
|
|
b := IRC.Auth(inst);
|
|
IRC.Loop(inst);
|
|
END;
|
|
END testBot;
|
|
|
|
BEGIN
|
|
|
|
testBot;
|
|
|
|
END test.
|