From e6da7d88c3eb39ef8b69f5268320449b6e8c33cd Mon Sep 17 00:00:00 2001 From: Adrian Perez de Castro Date: Sun, 10 Jul 2016 02:43:50 +0300 Subject: [PATCH] Add new client:find_room(room_id_or_alias) method This allows searching a (previosly joined) room given either their room identifier or any of the room aliases. --- matrix/client.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/matrix/client.lua b/matrix/client.lua index 268b16d..79f008c 100644 --- a/matrix/client.lua +++ b/matrix/client.lua @@ -400,6 +400,21 @@ function Client:_make_room(room_id) return room end +function Client:find_room(room_id_or_alias) + for room_id, room in pairs(self.rooms) do + if room_id_or_alias == room_id or + room_id_or_alias == room.canonical_alias + then + return room + end + for _, alias in ipairs(room.aliases) do + if room_id_or_alias == alias then + return room + end + end + end +end + function Client:_make_user(user_id, display_name, avatar_url) local user = self.presence[user_id] if not user then