0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-10-04 14:48:56 +02:00

modules/console: Add manual room join w/ injection placement event_id.

This commit is contained in:
Jason Volk 2018-03-27 03:00:42 -07:00
parent ff1fe4284d
commit ce715f62c7

View file

@ -1645,6 +1645,67 @@ console_cmd__room__redact(opt &out, const string_view &line)
return true; return true;
} }
bool
console_cmd__room__join(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)
};
const string_view &event_id
{
token(line, ' ', 2, {})
};
switch(m::sigil(room_id_or_alias))
{
case m::id::ROOM:
{
const m::room room
{
room_id_or_alias, event_id
};
const auto join_event
{
m::join(room, user_id)
};
out << join_event << std::endl;
return true;
}
case m::id::ROOM_ALIAS:
{
const m::room::alias alias
{
room_id_or_alias
};
const auto join_event
{
m::join(alias, user_id)
};
out << join_event << std::endl;
return true;
}
default: throw error
{
"Don't know how to join '%s'", room_id_or_alias
};
}
return true;
}
bool bool
console_cmd__room__id(opt &out, const string_view &id) console_cmd__room__id(opt &out, const string_view &id)
{ {