Das wäre der komplette code
Code: Alles auswählen
library random;
{$mode objfpc}{$H+}
uses
classes,
sysutils,
strutils,
uPluginHeader in '..\uPluginHeader.pas';
var
Irc: TIrcInterface;
function InitProc(uid: cardinal; version: Cardinal; IrcInterface: TIrcInterface; DoJoinProc: TDoJoinProc; DoPartProc: TDoPartProc; DoSayProc: TDoSayProc; DoRawProc: TDoRawProc; DoNickChangeProc : TDoNickChangeProc): Boolean;
begin
Result := true;
Irc := IrcInterface;
Randomize;
end;
procedure MessageProc(AUser: PChar; AChannel: PChar; AMessage: PChar);
var
content, s :string;
i, trenner, atrenner, AVG :integer;
Min, Max, Anzahl, numbers :string;
begin
content := AMessage;
if AnsiStartsText('!rnd ', Content) then
begin
s := Copy(Content, 6, length(Content));
if s <> '' then
begin
//ermittelt minimalwert
trenner := Pos('|', s);
Min := Copy(s, 0, trenner-1);
atrenner := trenner;
//ermittelt max wert
trenner := PosEx('|', s,atrenner);
Max := copy(s, atrenner+1, trenner-1);
atrenner := trenner;
//ermittelt anzahl an zahlen
trenner := PosEx('|', s,atrenner);
Anzahl:= Copy(s, atrenner+1, trenner-1);
for i:= 0 to strtoint(Anzahl) do
begin
numbers := numbers + ' ' +inttostr(random(10));
end;
end;
writeln('Min:'+ Min + ' Max:' + Max + ' Anzahl:' + Anzahl);
Say(Achannel, AUser + ': ' + Numbers)
end;
end;
procedure JoinProc(AUser: PChar; AChannel: PChar);
begin
end;
procedure NickChangeProc(AOldNick : PChar; AHost : PChar; ANewNick : PChar);
begin
end;
procedure PartProc(AUser: PChar; AChannel: PChar);
begin
end;
function RawProc(ARaw: PChar):Boolean;
begin
end;
procedure InfoProc(out Name: PChar; out Version: Cardinal; out Description: PChar);
begin
Name := 'rnd';
Version := 1;
Description := 'Erzeugt random numbers';
end;
exports InitProc, MessageProc, JoinProc, PartProc, RawProc, InfoProc, NickChangeProc;
begin
end.
Das ist ein Plugin für einen BOT den ich mal gefunden hatte, und auch schonmal verlinkt hatte in einem meiner vorherigen threads