mod_csi_muc_priorities/mod_csi_muc_priorities.lua
author Kim Alvefur <zash@zash.se>
Mon, 01 Apr 2019 08:21:57 +0200
changeset 3538 700340b57851
parent 3537 d8c4543f1b19
child 3539 bcb0eb9121a9
permissions -rw-r--r--
mod_csi_muc_priorities: Break out room jid into a variable
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3538
700340b57851 mod_csi_muc_priorities: Break out room jid into a variable
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
     1
local jid_bare = require "util.jid".bare;
3536
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
module:hook("csi-is-stanza-important", function (event)
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
	local stanza, session = event.stanza, event.session;
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
	if stanza.name == "message" then
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
		if stanza.attr.type == "groupchat" then
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
			local body = stanza:get_child_text("body");
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
			if not body then return end
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
3538
700340b57851 mod_csi_muc_priorities: Break out room jid into a variable
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
    10
			local room_jid = jid_bare(stanza.attr.from);
700340b57851 mod_csi_muc_priorities: Break out room jid into a variable
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
    11
3536
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
			local rooms = session.rooms_joined;
3537
d8c4543f1b19 mod_csi_muc_priorities: Remove dependency on mod_track_muc_joins
Kim Alvefur <zash@zash.se>
parents: 3536
diff changeset
    13
			if not rooms then return; end
3536
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
3538
700340b57851 mod_csi_muc_priorities: Break out room jid into a variable
Kim Alvefur <zash@zash.se>
parents: 3537
diff changeset
    15
			local room_nick = rooms[room_jid];
3536
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
			if room_nick and body:find(room_nick, 1, true) then return true; end
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
			return false;
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
		end
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
	end
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
end);
85c357b69eec mod_csi_muc_priorities: Reduce importance of group chat messages
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22