summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/modules.h7
-rw-r--r--src/chanserv.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/include/modules.h b/include/modules.h
index 15a49c607..fe171179d 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -747,6 +747,11 @@ class CoreExport Module
*/
virtual void OnChanUnsuspend(ChannelInfo *ci) { }
+ /** Called when a channel is being deleted, for any reason
+ * @param ci The channel
+ */
+ virtual void OnDelChan(ChannelInfo *ci) { }
+
/** Called when a nick is dropped
* @param nick The nick
*/
@@ -854,7 +859,7 @@ enum Implementation
/* ChanServ */
I_OnChanForbidden, I_OnChanSuspend, I_OnChanDrop, I_OnChanExpire, I_OnAccessAdd, I_OnAccessChange,
- I_OnAccessDel, I_OnAccessClear, I_OnChanRegistered, I_OnChanUnsuspend,
+ I_OnAccessDel, I_OnAccessClear, I_OnChanRegistered, I_OnChanUnsuspend, I_OnDelChan,
/* BotServ */
I_OnBotJoin, I_OnBotKick, I_OnBotCreate, I_OnBotChange, I_OnBotDelete, I_OnBotAssign, I_OnBotUnAssign,
diff --git a/src/chanserv.c b/src/chanserv.c
index abebb6f61..ea470e064 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -1665,6 +1665,8 @@ int delchan(ChannelInfo * ci)
return 0;
}
+ FOREACH_MOD(I_OnDelChan, OnDelChan(ci));
+
nc = ci->founder;
if (debug >= 2) {