diff options
author | Ashelyn Rose <git@ashen.earth> | 2025-03-01 20:16:27 -0700 |
---|---|---|
committer | Ashelyn Rose <git@ashen.earth> | 2025-03-01 20:16:27 -0700 |
commit | 0d54c17faa6b09f52fe9c1dcc23dc4edd02b3286 (patch) | |
tree | dd5d0d3c375f92b8fbe6d48fc3c93d7c827ed582 /src/system/plugin/edit.rs | |
parent | 2cd846913aaba03dda8a6071ecc28c85c5a26fa4 (diff) |
Better target message lookup plugin-architecture
Diffstat (limited to 'src/system/plugin/edit.rs')
-rw-r--r-- | src/system/plugin/edit.rs | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/system/plugin/edit.rs b/src/system/plugin/edit.rs index 2edc504..1fd4e23 100644 --- a/src/system/plugin/edit.rs +++ b/src/system/plugin/edit.rs @@ -24,16 +24,7 @@ impl<'system> SeancePlugin<'system> for Edit { } async fn handle_command<'message>(&self, logger: &'system Logger, system: &'system System, message: &'message Message, command: PluginCommand, args: Vec<&'message str>) { - let most_recent_message = system.get_most_recent_message(message.channel_id).await; - - if let Some((edit_target, update_most_recent)) = match message.kind { - twilight_model::channel::message::MessageType::Regular => most_recent_message.map(|(message, _)| (message, true)), - twilight_model::channel::message::MessageType::Reply => async {Some(( - message.referenced_message.as_ref()?.as_ref().clone(), - message.referenced_message.as_ref()?.id == most_recent_message?.0.id - ))}.await, - _ => todo!(), - } { + if let Some((edit_target, update_most_recent)) = system.resolve_message_target(message).await { if let Some(authoring_member) = system.get_member_by_id(edit_target.author.id).await { if let Some(edit_contents) = match command { PluginCommand::Word("edit") => Some(args.join(" ")), |