mirror of
https://github.com/znc/znc.git
synced 2026-08-10 02:43:05 +02:00
Add OnSendToIRCMessage and OnSendToClientMessage
This also alters PutClient such that the CMessage variant handles sending messages, rather than the CString variant. As a side bonus, this gives callers better information on whether the message was sent to the client. Additionally, it eliminates the need for a hook to let modules set the tags sent to a client, as that can now be done inside OnSendToClientMessage.
This commit is contained in:
@@ -97,3 +97,5 @@ EModRet OnChanTextMessage(CTextMessage& Message)
|
||||
EModRet OnPrivNoticeMessage(CNoticeMessage& Message)
|
||||
EModRet OnChanNoticeMessage(CNoticeMessage& Message)
|
||||
EModRet OnTopicMessage(CTopicMessage& Message)
|
||||
EModRet OnSendToClientMessage(CMessage& Message)
|
||||
EModRet OnSendToIRCMessage(CMessage& Message)
|
||||
|
||||
@@ -153,6 +153,8 @@ class ZNC_EXPORT_LIB_EXPORT CPerlModule : public CModule {
|
||||
EModRet OnPrivNoticeMessage(CNoticeMessage& Message) override;
|
||||
EModRet OnChanNoticeMessage(CNoticeMessage& Message) override;
|
||||
EModRet OnTopicMessage(CTopicMessage& Message) override;
|
||||
EModRet OnSendToClientMessage(CMessage& Message) override;
|
||||
EModRet OnSendToIRCMessage(CMessage& Message) override;
|
||||
};
|
||||
|
||||
static inline CPerlModule* AsPerlModule(CModule* p) {
|
||||
|
||||
@@ -577,6 +577,8 @@ sub OnTopicMessage {
|
||||
$msg->SetTopic($topic);
|
||||
return $ret;
|
||||
}
|
||||
sub OnSendToClientMessage {}
|
||||
sub OnSendToIRCMessage {}
|
||||
|
||||
# In Perl "undefined" is allowed value, so perl modules may continue using OnMode and not OnMode2
|
||||
sub OnChanPermission2 { my $self = shift; $self->OnChanPermission(@_) }
|
||||
|
||||
@@ -97,6 +97,8 @@ EModRet OnChanTextMessage(CTextMessage& Message)
|
||||
EModRet OnPrivNoticeMessage(CNoticeMessage& Message)
|
||||
EModRet OnChanNoticeMessage(CNoticeMessage& Message)
|
||||
EModRet OnTopicMessage(CTopicMessage& Message)
|
||||
EModRet OnSendToClientMessage(CMessage& Message)
|
||||
EModRet OnSendToIRCMessage(CMessage& Message)
|
||||
|
||||
EModRet OnAddUser(CUser& User, CString& sErrorRet)
|
||||
EModRet OnDeleteUser(CUser& User)
|
||||
|
||||
@@ -173,6 +173,8 @@ class ZNC_EXPORT_LIB_EXPORT CPyModule : public CModule {
|
||||
EModRet OnPrivNoticeMessage(CNoticeMessage& Message) override;
|
||||
EModRet OnChanNoticeMessage(CNoticeMessage& Message) override;
|
||||
EModRet OnTopicMessage(CTopicMessage& Message) override;
|
||||
EModRet OnSendToClientMessage(CMessage& Message) override;
|
||||
EModRet OnSendToIRCMessage(CMessage& Message) override;
|
||||
|
||||
// Global Modules
|
||||
EModRet OnAddUser(CUser& User, CString& sErrorRet) override;
|
||||
|
||||
@@ -655,6 +655,12 @@ class Module:
|
||||
def OnUnknownUserRawMessage(self, msg):
|
||||
pass
|
||||
|
||||
def OnSendToClientMessage(self, msg):
|
||||
pass
|
||||
|
||||
def OnSendToIRCMessage(self, msg):
|
||||
pass
|
||||
|
||||
|
||||
def make_inherit(cl, parent, attr):
|
||||
def make_caller(parent, name, attr):
|
||||
|
||||
Reference in New Issue
Block a user