📄 idircserver.pas
字号:
with CommandHandlers.Add do
begin
Command := 'USERS'; {do not localize}
OnCommand := DoCommandUSERS;
end;
with CommandHandlers.Add do
begin
Command := 'VERSION'; {do not localize}
OnCommand := DoCommandVERSION;
end;
with CommandHandlers.Add do
begin
Command := 'WALLOPS'; {do not localize}
OnCommand := DoCommandWALLOPS;
end;
with CommandHandlers.Add do
begin
Command := 'WHO'; {do not localize}
OnCommand := DoCommandWHO;
end;
with CommandHandlers.Add do
begin
Command := 'WHOIS'; {do not localize}
OnCommand := DoCommandWHOIS;
end;
with CommandHandlers.Add do
begin
Command := 'WHOWAS'; {do not localize}
OnCommand := DoCommandWHOWAS;
end;
{ OTHER }
with CommandHandlers.Add do
begin
Command := '*^*'; {do not localize} // does not exist - so use it to handle errors
end;
end;
{ Command handlers }
procedure TIdIRCServer.DoCommandNotHandled(ASender: TIdCommandHandler;
ACommand: TIdCommand; const AData, AMessage: String);
begin
ACommand.Context.Connection.IOHandler.WriteLn(Format('%s %s', ['421', RSCMDNotRecognized])); {do not localize}
end;
procedure TIdIRCServer.DoCommandOther(ASender: TIdCommandHandler;
ACommand: TIdCommand; const AData, AMessage: String);
begin
if Assigned(OnCommandOther) then
begin
OnCommandOther(ACommand, ACommand.Params[0], ACommand.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandPass(ASender: TIdCommand);
begin
if Assigned(OnCommandPass) then
begin
OnCommandPass(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandNick(ASender: TIdCommand);
begin
if Assigned(OnCommandNick) then
begin
OnCommandNick(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandUser(ASender: TIdCommand);
begin
if Assigned(OnCommandUser) then
begin
OnCommandUser(ASender, ASender.Params[0], ASender.Params[1], ASender.Params[2],
ASender.Params[3]);
end;
end;
procedure TIdIRCServer.DoCommandServer(ASender: TIdCommand);
begin
if Assigned(OnCommandServer) then
begin
OnCommandServer(ASender, ASender.Params[0], ASender.Params[1], ASender.Params[2]);
end;
end;
procedure TIdIRCServer.DoCommandOper(ASender: TIdCommand);
begin
if Assigned(OnCommandNick) then
begin
OnCommandNick(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandQuit(ASender: TIdCommand);
begin
if Assigned(OnCommandQuit) then
begin
OnCommandQuit(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandSQuit(ASender: TIdCommand);
begin
if Assigned(OnCommandSQuit) then
begin
OnCommandSQuit(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandJoin(ASender: TIdCommand);
begin
if Assigned(OnCommandJoin) then
begin
OnCommandJoin(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandPart(ASender: TIdCommand);
begin
if Assigned(OnCommandPart) then
begin
OnCommandPart(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandMode(ASender: TIdCommand);
begin
if Assigned(OnCommandMode) then
begin
OnCommandMode(ASender, ASender.Params[0], ASender.Params[1], ASender.Params[2],
ASender.Params[3], ASender.Params[4]);
end;
end;
procedure TIdIRCServer.DoCommandTopic(ASender: TIdCommand);
begin
if Assigned(OnCommandTopic) then
begin
OnCommandTopic(ASender, ASender.Params[0], ASender.Params[1]) ;
end;
end;
procedure TIdIRCServer.DoCommandNames(ASender: TIdCommand);
begin
if Assigned(OnCommandNames) then
begin
OnCommandNames(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandList(ASender: TIdCommand);
begin
if Assigned(OnCommandList) then
begin
OnCommandList(ASender, ASender.Params[0], ASender.Params[1]) ;
end;
end;
procedure TIdIRCServer.DoCommandInvite(ASender: TIdCommand);
begin
if Assigned(OnCommandInvite) then
begin
OnCommandInvite(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandKick(ASender: TIdCommand);
begin
if Assigned(OnCommandKick) then
begin
OnCommandKick(ASender, ASender.Params[0], ASender.Params[1], ASender.Params[2]);
end;
end;
procedure TIdIRCServer.DoCommandVersion(ASender: TIdCommand);
begin
if Assigned(OnCommandVersion) then
begin
OnCommandVersion(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandStats(ASender: TIdCommand);
begin
if Assigned(OnCommandStats) then
begin
OnCommandStats(ASender, ASender.Params[0], ASender.Params[1]) ;
end;
end;
procedure TIdIRCServer.DoCommandLinks(ASender: TIdCommand);
begin
if Assigned(OnCommandLinks) then
begin
OnCommandLinks(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandTime(ASender: TIdCommand);
begin
if Assigned(OnCommandTime) then
begin
OnCommandTime(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandConnect(ASender: TIdCommand);
begin
if Assigned(OnCommandConnect) then
begin
OnCommandConnect(ASender, ASender.Params[0], ASender.Params[1], ASender.Params[2]);
end;
end;
procedure TIdIRCServer.DoCommandTrace(ASender: TIdCommand);
begin
if Assigned(OnCommandTrace) then
begin
OnCommandTrace(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandAdmin(ASender: TIdCommand);
begin
if Assigned(OnCommandAdmin) then
begin
OnCommandAdmin(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandInfo(ASender: TIdCommand);
begin
if Assigned(OnCommandInfo) then
begin
OnCommandInfo(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandPrivMsg(ASender: TIdCommand);
begin
if Assigned(OnCommandPrivMsg) then
begin
OnCommandPrivMsg(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandNotice(ASender: TIdCommand);
begin
if Assigned(OnCommandNotice) then
begin
OnCommandNotice(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandWho(ASender: TIdCommand);
begin
if Assigned(OnCommandWho) then
begin
OnCommandWho(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandWhoIs(ASender: TIdCommand);
begin
if Assigned(OnCommandWhoIs) then
begin
OnCommandWhoIs(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandWhoWas(ASender: TIdCommand);
begin
if Assigned(OnCommandWhoWas) then
begin
OnCommandWhoWas(ASender, ASender.Params[0], ASender.Params[1], ASender.Params[2]);
end;
end;
procedure TIdIRCServer.DoCommandKill(ASender: TIdCommand);
begin
if Assigned(OnCommandKill) then
begin
OnCommandKill(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandPing(ASender: TIdCommand);
begin
if Assigned(OnCommandPing) then
begin
OnCommandPing(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandPong(ASender: TIdCommand);
begin
if Assigned(OnCommandPong) then
begin
OnCommandPong(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandError(ASender: TIdCommand);
begin
if Assigned(OnCommandError) then
begin
OnCommandError(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandAway(ASender: TIdCommand);
begin
if Assigned(OnCommandAway) then
begin
OnCommandAway(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandRehash(ASender: TIdCommand);
begin
if Assigned(OnCommandRehash) then
begin
OnCommandRehash(ASender);
end;
end;
procedure TIdIRCServer.DoCommandRestart(ASender: TIdCommand);
begin
if Assigned(OnCommandRestart) then
begin
OnCommandRestart(ASender);
end;
end;
procedure TIdIRCServer.DoCommandSummon(ASender: TIdCommand);
begin
if Assigned(OnCommandSummon) then
begin
OnCommandSummon(ASender, ASender.Params[0], ASender.Params[1]);
end;
end;
procedure TIdIRCServer.DoCommandUsers(ASender: TIdCommand);
begin
if Assigned(OnCommandUsers) then
begin
OnCommandUsers(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandWallops(ASender: TIdCommand);
begin
if Assigned(OnCommandWallops) then
begin
OnCommandWallops(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandUserHost(ASender: TIdCommand);
begin
if Assigned(OnCommandUserHost) then
begin
OnCommandUserHost(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoCommandIsOn(ASender: TIdCommand);
begin
if Assigned(OnCommandIsOn) then
begin
OnCommandIsOn(ASender, ASender.Params[0]);
end;
end;
procedure TIdIRCServer.DoConnect(AContext: TIdContext);
begin
inherited;
if AContext.Connection.IOHandler is TIdSSLIOHandlerSocketBase then begin
TIdSSLIOHandlerSocketBase(AContext.Connection.IOHandler).PassThrough:=false;
end;
end;
procedure TIdIRCServer.SetIOHandler(const AValue: TIdServerIOHandler);
begin
inherited;
//we do it this way so that if a user is using a custom value <> default, the default port
//is not set when the IOHandler is changed.
if (IOHandler is TIdServerIOHandlerSSLBase) then
begin
if DefaultPort = IdPORT_IRC then
begin
DefaultPort := IdPORT_IRCS;
end;
end
else
begin
if DefaultPort = IdPORT_IRCS then
begin
DefaultPort := IdPORT_IRC;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -