Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TReiIRC2 = class
- private
- FSocket : TSocket;
- FWSAEvent : THandle;
- msNextSend : DWORD;
- FServerType : TReiIRCServerType;
- FServerProt : Integer;
- FIPList : TReiStringList;
- FIPListPos : Integer;
- FCommandHandler : TReiIRCCommandHandler;
- FMessages : TReiStringList;
- thd_MSGContainer : TThread_MSGContainer;
- thd_NotifyList : TThread_NotifyList;
- thd_WSAEvent : TThread_WSAEvent;
- FConnected : Boolean;
- FSockConnected : Boolean;
- FMOTDReceived : Boolean;
- FAntiFlood : Boolean;
- FServer : String;
- FPort : Integer;
- FPassword : String;
- FNickname : String;
- FUsername : String;
- FRealname : String;
- FUserMode : TReiIRCUserModes;
- FAway : Boolean;
- FAwayMessage : String;
- FMOTD : ReiGlobal.TStringList;
- FWhoisInfo : TReiIRCWhoisInfo;
- FReplies : TReiIRCCTCPReplies;
- FChannels : TReiIRCChannels;
- {$IFDEF NOTIFYLIST}
- FNotifyList : TReiIRCNotifyList;
- {$ENDIF}
- {$IFDEF GETSERVERPARAMS}
- FServerParams : TReiIRCServerParams;
- {$ENDIF}
- FTag : Integer;
- FOnRaw : TReiIRCRawEvent;
- FOnServerWelcome : TReiIRCServerWelcomeEvent;
- FOnMOTD : TReiIRCMOTDEvent;
- FOnPing : TReiIRCPingEvent;
- FOnNicknameChange : TReiIRCNicknameChangeEvent;
- FOnPrivateMessage : TReiIRCPrivMsgEvent;
- FOnNotice : TReiIRCNoticeEvent;
- FOnCTCP : TReiIRCCTCPEvent;
- FOnAway : TReiIRCAwayEvent;
- FOnErrorReceive : TReiIRCErrorReceiveEvent;
- FOnJoin : TReiIRCJoinEvent;
- FOnPart : TReiIRCPartEvent;
- FOnWhoisReceive : TReiIRCWhoisReceiveEvent;
- FOnNicknameInUse : TReiIRCNicknameInUseEvent;
- FOnKick : TReiIRCKickEvent;
- FOnQuit : TReiIRCQuitEvent;
- FOnTopic : TReiIRCTopicEvent;
- FOnInvite : TReiIRCInviteEvent;
- FOnBan : TReiIRCBanEvent;
- FOnUnban : TReiIRCBanEvent;
- FOnOp : TReiIRCUserStatusEvent;
- FOnDeOp : TReiIRCUserStatusEvent;
- FOnVoice : TReiIRCUserStatusEvent;
- FOnDevoice : TReiIRCUserStatusEvent;
- FOnNicknameNotify : TReiIRCNicknameNotifyEvent;
- FOnModeChange : TReiIRCModeChangeEvent;
- procedure CommandWELCOME(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandYOURHOST(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandCREATED(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandMYINFO(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandISUPPORT(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandMOTDSTART(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandMOTD(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandENDOFMOTD(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandNOMOTD(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandPING(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandAWAY(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandUNAWAY(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandNOWAWAY(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- {$IFDEF NOTIFYLIST}
- procedure CommandISON(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- {$ENDIF}
- procedure CommandWHOISUSER(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandWHOISSERVER(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandWHOISOPERATOR(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandWHOISIDLE(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandWHOISCHANNELS(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandENDOFWHOIS(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandNICKNAMEINUSE(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandNAMREPLY(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandTOPIC(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandERROR(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandNICK(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandPRIVMSG(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandNOTICE(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandJOIN(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandPART(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandKICK(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandQUIT(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandINVITE(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure CommandMODE(const ASender : TReiIRCCommandHandler; const AMessage : TReiIRCRawMessageInfo);
- procedure thdfunc_WSAEvent;
- procedure thdfunc_MSGContainer;
- {$IFDEF NOTIFYLIST}
- procedure thdfunc_NotifyList;
- {$ENDIF}
- {$IFDEF USERLIST}
- function SplitUser(const AUser : String; out ANickname, AFlags : String) : Integer;
- {$ENDIF}
- function ParseRawMessage(const ARaw : String; out AMessage : TReiIRCRawMessageInfo) : Integer;
- function ParseRawLine(const ALine : String) : Integer;
- function ParseCTCPQuery(const AMessage : TReiIRCRawMessageInfo) : Integer;
- procedure ResolveServerIPs;
- protected
- public
- constructor Create;
- destructor Destroy; override;
- function SetServer(const AServer : String; const APort : Integer = 6667; const AType : TReiIRCServerType = stIPv4; const APassword : String = '') : Integer;
- function SetNickname(const ANickname : String) : Integer;
- function SetUsername(const AUsername : String) : Integer;
- function SetRealname(const ARealname : String) : Integer;
- function GetUserMode : String;
- function Disconnect : Integer;
- function Connect : Integer;
- function SetAway(const AAwayMessage : String = '') : Integer;
- function SetMode(const ATarget, AMode, AParams : String) : Integer;
- function Quit(const AReason : String = '') : Integer;
- function Raw(const AMessage : String) : Integer;
- function Pong(const AServer : String; const AServer2 : String = '') : Integer;
- function Notice(const ATarget, AMessage : String) : Integer;
- function CTCPReply(const ATarget, ACTCP : String; const AReply : String = '') : Integer;
- function Join(const AChannel : String; const AKeyword : String = '') : Integer;
- function Part(const AChannel : String; const AReason : String = '') : Integer;
- function Say(const ATarget, AMessage : String) : Integer;
- function Kick(const AChannel, ANickname, AReason : String) : Integer;
- function Ban(const AChannel, AHostmask : String) : Integer;
- function Unban(const AChannel, AHostmask : String) : Integer;
- function Invite(const AChannel, ANickname : String) : Integer;
- function OP(const AChannel, ANickname : String) : Integer;
- function DeOP(const AChannel, ANickname : String) : Integer;
- function Voice(const AChannel, ANickname : String) : Integer;
- function DeVoice(const AChannel, ANickname : String) : Integer;
- function SetTopic(const AChannel, ATopic : String) : Integer;
- function RequestNicknameList(const AChannel : String) : Integer;
- function Who(const AQuery : String) : Integer;
- function WhoIs(const AQuery : String) : Integer;
- function WhoWas(const AQuery : String) : Integer;
- property IsConnected : Boolean read FConnected;
- property IsAway : Boolean read FAway;
- published
- property GetServer : String read FServer;
- property GetPort : Integer read FPort;
- property GetPassword : String read FPassword;
- property GetNickname : String read FNickname;
- property GetUsername : String read FUsername;
- property GetRealname : String read FRealname;
- property UserMode : TReiIRCUserModes read FUserMode write FUserMode;
- property AntiFlood : Boolean read FAntiFlood write FAntiFlood;
- property GetChannels : TReiIRCChannels read FChannels;
- property IsMOTDReceived : Boolean read FMOTDReceived;
- property ServerType : TReiIRCServerType read FServerType write FServerType;
- property Tag : Integer read FTag write FTag;
- {$IFDEF NOTIFYLIST}
- property NotifyList : TReiIRCNotifyList read FNotifyList write FNotifyList;
- {$ENDIF}
- {$IFDEF GETSERVERPARAMS}
- property GetServerParams : TReiIRCServerParams read FServerParams;
- {$ENDIF}
- property OnRaw : TReiIRCRawEvent read FOnRaw write FOnRaw;
- property OnServerWelcome : TReiIRCServerWelcomeEvent read FOnServerWelcome write FOnServerWelcome;
- property OnMOTD : TReiIRCMOTDEvent read FOnMOTD write FOnMOTD;
- property OnPing : TReiIRCPingEvent read FOnPing write FOnPing;
- property OnNicknameChange : TReiIRCNicknameChangeEvent read FOnNicknameChange write FOnNicknameChange;
- property OnPrivateMessage : TReiIRCPrivMsgEvent read FOnPrivateMessage write FOnPrivateMessage;
- property OnNotice : TReiIRCNoticeEvent read FOnNotice write FOnNotice;
- property OnCTCPReceive : TReiIRCCTCPEvent read FOnCTCP write FOnCTCP;
- property OnAway : TReiIRCAwayEvent read FOnAway write FOnAway;
- property OnErrorReceive : TReiIRCErrorReceiveEvent read FOnErrorReceive write FOnErrorReceive;
- property OnWhoisReceive : TReiIRCWhoisReceiveEvent read FOnWhoisReceive write FOnWhoisReceive;
- property OnNicknameInUse : TReiIRCNicknameInUseEvent read FOnNicknameInUse write FOnNicknameInUse;
- property OnKick : TReiIRCKickEvent read FOnKick write FOnKick;
- property OnQuit : TReiIRCQuitEvent read FOnQuit write FOnQuit;
- property OnTopic : TReiIRCTopicEvent read FOnTopic write FOnTopic;
- property OnInvite : TReiIRCInviteEvent read FOnInvite write FOnInvite;
- property OnBan : TReiIRCBanEvent read FOnBan write FOnBan;
- property OnUnban : TReiIRCBanEvent read FOnUnban write FOnUnban;
- property OnOp : TReiIRCUserStatusEvent read FOnOp write FOnOp;
- property OnDeOp : TReiIRCUserStatusEvent read FOnDeOp write FOnDeOp;
- property OnVoice : TReiIRCUserStatusEvent read FOnVoice write FOnVoice;
- property OnDeVoice : TReiIRCUserStatusEvent read FOnDeVoice write FOnDeVoice;
- property OnNicknameNotify : TReiIRCNicknameNotifyEvent read FOnNicknameNotify write FOnNicknameNotify;
- property OnJoin : TReiIRCJoinEvent read FOnJoin write FOnJoin;
- property OnPart : TReiIRCPartEvent read FOnPart write FOnPart;
- property OnModeChange : TReiIRCModeChangeEvent read FOnModeChange write FOnModeChange;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement