Browse Source

add notice handling

Jordan Koch 1 year ago
parent
commit
7ec28b4bde
1 changed files with 49 additions and 0 deletions
  1. 49 0
      push.cpp

+ 49 - 0
push.cpp

@@ -1303,6 +1303,25 @@ class CPushMod : public CModule
 			return CONTINUE;
 		}
 
+		/**
+		 * Handle channel notices.
+		 *
+		 * @param nick Nick that sent the notice
+		 * @param channel Channel the notice was sent to
+		 * @param message Notice contents
+		 */
+		EModRet OnChanNotice(CNick& nick, CChan& channel, CString& message)
+		{
+			if (notify_channel(nick, channel, message))
+			{
+				CString title = "Channel Notice";
+
+				send_message(message, title, channel.GetName(), nick);
+			}
+
+			return CONTINUE;
+		}
+
 		/**
 		 * Handle a private message.
 		 *
@@ -1339,6 +1358,24 @@ class CPushMod : public CModule
 			return CONTINUE;
 		}
 
+		/**
+		 * Handle a private notice.
+		 *
+		 * @param nick Nick that sent the notice
+		 * @param message Notice contents
+		 */
+		EModRet OnPrivNotice(CNick& nick, CString& message)
+		{
+			if (notify_pm(nick, message))
+			{
+				CString title = "Private Notice";
+
+				send_message(message, title, nick.GetNick(), nick);
+			}
+
+			return CONTINUE;
+		}
+
 		/**
 		 * Handle a message sent by the user.
 		 *
@@ -1363,6 +1400,18 @@ class CPushMod : public CModule
 			return CONTINUE;
 		}
 
+		/**
+		 * Handle a notice sent by the user.
+		 *
+		 * @param target Target channel or nick
+		 * @param message Notice contents
+		 */
+		EModRet OnUserNotice(CString& target, CString& message)
+		{
+			last_reply_time[target] = last_active_time[target] = idle_time = time(NULL);
+			return CONTINUE;
+		}
+
 		/**
 		 * Handle the user joining a channel.
 		 *