mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Merge pull request #1963 from RealKindOne/samplemodule
sample: Use newer On...Message events.
This commit is contained in:
@@ -36,7 +36,7 @@ class CSampleJob : public CModuleJob {
|
||||
|
||||
void runThread() override {
|
||||
// Cannot safely use GetModule() in here, because this runs in its
|
||||
// own thread and such an access would require synchronisation
|
||||
// own thread and such an access would require synchronization
|
||||
// between this thread and the main thread!
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
@@ -158,19 +158,29 @@ class CSampleMod : public CModule {
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
void OnKick(const CNick& OpNick, const CString& sKickedNick, CChan& Channel,
|
||||
const CString& sMessage) override {
|
||||
void OnKickMessage(CKickMessage& Message) override {
|
||||
const CNick& OpNick = Message.GetNick();
|
||||
const CString sKickedNick = Message.GetKickedNick();
|
||||
CChan& Channel = *Message.GetChan();
|
||||
const CString sMessage = Message.GetReason();
|
||||
PutModule(t_f("{1} kicked {2} from {3} with the msg {4}")(
|
||||
OpNick.GetNick(), sKickedNick, Channel.GetName(), sMessage));
|
||||
}
|
||||
|
||||
void OnQuit(const CNick& Nick, const CString& sMessage,
|
||||
const vector<CChan*>& vChans) override {
|
||||
void OnQuitMessage(CQuitMessage& Message,
|
||||
const vector<CChan*>& vChans) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
const CString sMessage = Message.GetReason();
|
||||
VCString vsChans;
|
||||
for (CChan* pChan : vChans) {
|
||||
vsChans.push_back(pChan->GetName());
|
||||
}
|
||||
|
||||
PutModule(t_p("* {1} ({2}@{3}) quits ({4}) from channel: {6}",
|
||||
"* {1} ({2}@{3}) quits ({4}) from {5} channels: {6}",
|
||||
vChans.size())(
|
||||
Nick.GetNick(), Nick.GetIdent(), Nick.GetHost(), sMessage,
|
||||
vChans.size(), CString(", ").Join(vChans.begin(), vChans.end())));
|
||||
vChans.size(), CString(", ").Join(vsChans.begin(), vsChans.end())));
|
||||
}
|
||||
|
||||
EModRet OnTimerAutoJoin(CChan& Channel) override {
|
||||
@@ -178,63 +188,81 @@ class CSampleMod : public CModule {
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
void OnJoin(const CNick& Nick, CChan& Channel) override {
|
||||
void OnJoinMessage(CJoinMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CChan& Channel = *Message.GetChan();
|
||||
PutModule(t_f("* {1} ({2}@{3}) joins {4}")(
|
||||
Nick.GetNick(), Nick.GetIdent(), Nick.GetHost(),
|
||||
Channel.GetName()));
|
||||
}
|
||||
|
||||
void OnPart(const CNick& Nick, CChan& Channel,
|
||||
const CString& sMessage) override {
|
||||
PutModule(t_f("* {1} ({2}@{3}) parts {4}")(
|
||||
Nick.GetNick(), Nick.GetIdent(), Nick.GetHost(),
|
||||
Channel.GetName()));
|
||||
void OnPartMessage(CPartMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CChan& Channel = *Message.GetChan();
|
||||
const CString sMessage = Message.GetReason();
|
||||
PutModule(t_f("* {1} ({2}@{3}) parts {4} with message: {5}")(
|
||||
Nick.GetNick(), Nick.GetIdent(), Nick.GetHost(), Channel.GetName(),
|
||||
sMessage));
|
||||
}
|
||||
|
||||
EModRet OnInvite(const CNick& Nick, const CString& sChan) override {
|
||||
if (sChan.Equals("#test")) {
|
||||
EModRet OnInviteMessage(CInviteMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
const CString Channel = Message.GetParam(1);
|
||||
if (Channel.Equals("#test")) {
|
||||
PutModule(t_f("{1} invited us to {2}, ignoring invites to {2}")(
|
||||
Nick.GetNick(), sChan));
|
||||
Nick.GetNick(), Channel));
|
||||
return HALT;
|
||||
}
|
||||
|
||||
PutModule(t_f("{1} invited us to {2}")(Nick.GetNick(), sChan));
|
||||
PutModule(t_f("{1} invited us to {2}")(Nick.GetNick(), Channel));
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
void OnNick(const CNick& OldNick, const CString& sNewNick,
|
||||
const vector<CChan*>& vChans) override {
|
||||
void OnNickMessage(CNickMessage& Message,
|
||||
const vector<CChan*>& vChans) override {
|
||||
const CNick& OldNick = Message.GetNick();
|
||||
const CString sNewNick = Message.GetNewNick();
|
||||
PutModule(t_f("{1} is now known as {2}")(OldNick.GetNick(), sNewNick));
|
||||
}
|
||||
|
||||
EModRet OnUserCTCPReply(CString& sTarget, CString& sMessage) override {
|
||||
EModRet OnUserCTCPReplyMessage(CCTCPMessage& Message) override {
|
||||
CString sTarget = Message.GetTarget();
|
||||
CString sMessage = Message.GetText();
|
||||
PutModule("[" + sTarget + "] userctcpreply [" + sMessage + "]");
|
||||
sMessage = "\037" + sMessage + "\037";
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnCTCPReply(CNick& Nick, CString& sMessage) override {
|
||||
EModRet OnCTCPReplyMessage(CCTCPMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CString sMessage = Message.GetText();
|
||||
PutModule("[" + Nick.GetNick() + "] ctcpreply [" + sMessage + "]");
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnUserCTCP(CString& sTarget, CString& sMessage) override {
|
||||
EModRet OnUserCTCPMessage(CCTCPMessage& Message) override {
|
||||
CString sTarget = Message.GetTarget();
|
||||
CString sMessage = Message.GetText();
|
||||
PutModule("[" + sTarget + "] userctcp [" + sMessage + "]");
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnPrivCTCP(CNick& Nick, CString& sMessage) override {
|
||||
EModRet OnPrivCTCPMessage(CCTCPMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CString sMessage = Message.GetText();
|
||||
PutModule("[" + Nick.GetNick() + "] privctcp [" + sMessage + "]");
|
||||
sMessage = "\002" + sMessage + "\002";
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnChanCTCP(CNick& Nick, CChan& Channel,
|
||||
CString& sMessage) override {
|
||||
EModRet OnChanCTCPMessage(CCTCPMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CString sMessage = Message.GetText();
|
||||
CChan& Channel = *Message.GetChan();
|
||||
PutModule("[" + Nick.GetNick() + "] chanctcp [" + sMessage + "] to [" +
|
||||
Channel.GetName() + "]");
|
||||
sMessage = "\00311,5 " + sMessage + " \003";
|
||||
@@ -242,22 +270,29 @@ class CSampleMod : public CModule {
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnUserNotice(CString& sTarget, CString& sMessage) override {
|
||||
EModRet OnUserNoticeMessage(CNoticeMessage& Message) override {
|
||||
CIRCNetwork* pNetwork = GetNetwork();
|
||||
CString sTarget = Message.GetTarget();
|
||||
CString sMessage = Message.GetText();
|
||||
PutModule("[" + sTarget + "] usernotice [" + sMessage + "]");
|
||||
sMessage = "\037" + sMessage + "\037";
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnPrivNotice(CNick& Nick, CString& sMessage) override {
|
||||
EModRet OnPrivNoticeMessage(CNoticeMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CString sMessage = Message.GetText();
|
||||
PutModule("[" + Nick.GetNick() + "] privnotice [" + sMessage + "]");
|
||||
sMessage = "\002" + sMessage + "\002";
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnChanNotice(CNick& Nick, CChan& Channel,
|
||||
CString& sMessage) override {
|
||||
EModRet OnChanNoticeMessage(CNoticeMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CString sMessage = Message.GetText();
|
||||
CChan& Channel = *Message.GetChan();
|
||||
PutModule("[" + Nick.GetNick() + "] channotice [" + sMessage +
|
||||
"] to [" + Channel.GetName() + "]");
|
||||
sMessage = "\00311,5 " + sMessage + " \003";
|
||||
@@ -265,36 +300,50 @@ class CSampleMod : public CModule {
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnTopic(CNick& Nick, CChan& Channel, CString& sTopic) override {
|
||||
EModRet OnTopicMessage(CTopicMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CChan& Channel = *Message.GetChan();
|
||||
CString sTopic = Message.GetTopic();
|
||||
PutModule(t_f("{1} changes topic on {2} to {3}")(
|
||||
Nick.GetNick(), Channel.GetName(), sTopic));
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnUserTopic(CString& sTarget, CString& sTopic) override {
|
||||
PutModule(t_f("{1} changes topic on {2} to {3}")(GetClient()->GetNick(),
|
||||
sTarget, sTopic));
|
||||
EModRet OnUserTopicMessage(CTopicMessage& Message) override {
|
||||
CChan& Channel = *Message.GetChan();
|
||||
CString sTopic = Message.GetTopic();
|
||||
PutModule(t_f("{1} changes topic on {2} to {3}")(
|
||||
GetClient()->GetNick(), Channel.GetName(), sTopic));
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
// Appends "Sample:" to an outgoing message and colors it red.
|
||||
EModRet OnUserMsg(CString& sTarget, CString& sMessage) override {
|
||||
EModRet OnUserTextMessage(CTextMessage& Message) override {
|
||||
CIRCNetwork* pNetwork = GetNetwork();
|
||||
CString sTarget = Message.GetTarget();
|
||||
CString sMessage = Message.GetText();
|
||||
PutModule("[" + sTarget + "] usermsg [" + sMessage + "]");
|
||||
sMessage = "Sample: \0034" + sMessage + "\003";
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
|
||||
// Bolds an incoming message.
|
||||
EModRet OnPrivMsg(CNick& Nick, CString& sMessage) override {
|
||||
EModRet OnPrivTextMessage(CTextMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CString sMessage = Message.GetText();
|
||||
PutModule("[" + Nick.GetNick() + "] privmsg [" + sMessage + "]");
|
||||
sMessage = "\002" + sMessage + "\002";
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
EModRet OnChanMsg(CNick& Nick, CChan& Channel, CString& sMessage) override {
|
||||
EModRet OnChanTextMessage(CTextMessage& Message) override {
|
||||
const CNick& Nick = Message.GetNick();
|
||||
CString sMessage = Message.GetText();
|
||||
CChan& Channel = *Message.GetChan();
|
||||
if (sMessage == "!ping") {
|
||||
PutIRC("PRIVMSG " + Channel.GetName() + " :PONG?");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user