mirror of
https://github.com/matrix-construct/construct
synced 2024-05-20 03:43:47 +02:00
modules/m_room_message: Stub media-specific effects hook.
This commit is contained in:
parent
b0b0f063a7
commit
7469c09130
|
@ -10,7 +10,10 @@
|
|||
|
||||
namespace ircd::m
|
||||
{
|
||||
static void room_message_media(const event &, vm::eval &);
|
||||
static void room_message_info(const event &, vm::eval &);
|
||||
|
||||
extern hookfn<vm::eval &> room_message_media_hook;
|
||||
extern hookfn<vm::eval &> room_message_info_hook;
|
||||
extern log::log room_message_log;
|
||||
}
|
||||
|
@ -37,6 +40,16 @@ ircd::m::room_message_info_hook
|
|||
}
|
||||
};
|
||||
|
||||
decltype(ircd::m::room_message_media_hook)
|
||||
ircd::m::room_message_media_hook
|
||||
{
|
||||
room_message_media,
|
||||
{
|
||||
{ "_site", "vm.effects" },
|
||||
{ "type", "m.room.message" },
|
||||
}
|
||||
};
|
||||
|
||||
void
|
||||
ircd::m::room_message_info(const event &event,
|
||||
vm::eval &eval)
|
||||
|
@ -67,3 +80,58 @@ ircd::m::room_message_info(const event &event,
|
|||
size(body) > 128? "..."_sv : string_view{}
|
||||
};
|
||||
}
|
||||
|
||||
void
|
||||
ircd::m::room_message_media(const event &event,
|
||||
vm::eval &eval)
|
||||
{
|
||||
const m::room::message msg
|
||||
{
|
||||
json::get<"content"_>(event)
|
||||
};
|
||||
|
||||
const auto &msgtype
|
||||
{
|
||||
json::get<"msgtype"_>(msg)
|
||||
};
|
||||
|
||||
const bool match
|
||||
{
|
||||
false
|
||||
|| msgtype == "m.image"
|
||||
|| msgtype == "m.video"
|
||||
|| msgtype == "m.audio"
|
||||
|| msgtype == "m.file"
|
||||
};
|
||||
|
||||
if(!match)
|
||||
return;
|
||||
|
||||
const auto &url
|
||||
{
|
||||
json::get<"url"_>(msg)
|
||||
};
|
||||
|
||||
if(!url)
|
||||
return;
|
||||
|
||||
const media::mxc mxc
|
||||
{
|
||||
url
|
||||
};
|
||||
|
||||
const auto file_room_id
|
||||
{
|
||||
media::file::room_id(mxc)
|
||||
};
|
||||
|
||||
log::debug
|
||||
{
|
||||
room_message_log, "%s posted %s at %s in %s with %s",
|
||||
json::get<"sender"_>(event),
|
||||
msgtype,
|
||||
json::get<"url"_>(msg),
|
||||
json::get<"room_id"_>(event),
|
||||
string_view{event.event_id},
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue