From f18aa9fcf7386337f694f30aafb7d19aeeecc419 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Wed, 12 Sep 2018 19:54:09 +0300 Subject: [PATCH] console: Add leave command for room aliases --- modules/console.cc | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/modules/console.cc b/modules/console.cc index 135ebc26e..fe8a04fde 100644 --- a/modules/console.cc +++ b/modules/console.cc @@ -5621,6 +5621,47 @@ console_cmd__room__join(opt &out, const string_view &line) return true; } +bool +console_cmd__room__leave(opt &out, const string_view &line) +{ + const string_view room_id_or_alias + { + token(line, ' ', 0) + }; + + const m::user::id &user_id + { + token(line, ' ', 1) + }; + + switch(m::sigil(room_id_or_alias)) + { + case m::id::ROOM: + case m::id::ROOM_ALIAS: + { + const m::room room + { + m::room_id(room_id_or_alias) + }; + + const auto leave_event + { + m::leave(room, user_id) + }; + + out << leave_event << std::endl; + return true; + } + + default: throw error + { + "Don't know how to leave '%s'", room_id_or_alias + }; + } + + return true; +} + bool console_cmd__room__create(opt &out, const string_view &line) {