/* Whether to send the original message back to clients with echo-message support. */
bool echo_original;
+ /** Whether to update the source user's idle time. */
+ bool update_idle;
+
/** The users who are exempted from receiving this message. */
CUList exemptions;
MessageDetails(MessageType mt, const std::string& msg, const ClientProtocol::TagMap& tags)
: echo(true)
, echo_original(false)
+ , update_idle(true)
, original_text(msg)
, tags_in(tags)
, text(msg)
/* Whether to send the original tags back to clients with echo-message support. */
bool echo_original;
+ /** Whether to update the source user's idle time. */
+ bool update_idle;
+
/** The users who are exempted from receiving this message. */
CUList exemptions;
TagMessageDetails(const ClientProtocol::TagMap& tags)
: echo(true)
, echo_original(false)
+ , update_idle(true)
, tags_in(tags)
{
}
{
// If the source is local and was not sending a CTCP reply then update their idle time.
LocalUser* lsource = IS_LOCAL(source);
- if (lsource && (msgdetails.type != MSG_NOTICE || !msgdetails.IsCTCP()))
+ if (lsource && msgdetails.update_idle && (msgdetails.type != MSG_NOTICE || !msgdetails.IsCTCP()))
lsource->idle_lastmsg = ServerInstance->Time();
// Inform modules that a message was sent.
{
// If the source is local then update its idle time.
LocalUser* lsource = IS_LOCAL(source);
- if (lsource)
+ if (lsource && msgdetails.update_idle)
lsource->idle_lastmsg = ServerInstance->Time();
// Inform modules that a TAGMSG was sent.