summary refs log tree commit diff
path: root/src/system/plugin/edit.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/system/plugin/edit.rs')
-rw-r--r--src/system/plugin/edit.rs11
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(" ")),