(&mut self, evt: ScriptMeta)
| 725 | } |
| 726 | |
| 727 | async fn script_loaded(&mut self, evt: ScriptMeta) { |
| 728 | let interval_contribs: Vec<IntervalTimerContrib> = evt |
| 729 | .interval_timers |
| 730 | .iter() |
| 731 | .map(|v| stores::config::IntervalTimerContrib { |
| 732 | name: v.name.clone(), |
| 733 | plugin_id: evt.plugin_id.map(|v| v.0), |
| 734 | interval: match &v.interval { |
| 735 | runtime_models::internal::script::IntervalType::Cron(c) => { |
| 736 | stores::timers::IntervalType::Cron(c.clone()) |
| 737 | } |
| 738 | runtime_models::internal::script::IntervalType::Minutes(m) => { |
| 739 | stores::timers::IntervalType::Minutes(m.0) |
| 740 | } |
| 741 | }, |
| 742 | }) |
| 743 | .collect(); |
| 744 | |
| 745 | self.update_db_derived_state(&evt, interval_contribs.clone()) |
| 746 | .await; |
| 747 | |
| 748 | self.interval_timers_man |
| 749 | .script_started(interval_contribs) |
| 750 | .await; |
| 751 | |
| 752 | self.scheduled_tasks_man.script_started(&evt); |
| 753 | |
| 754 | self.cmd_manager_handle |
| 755 | .send_loaded_script(self.guild_id, evt); |
| 756 | } |
| 757 | |
| 758 | async fn update_db_derived_state( |
| 759 | &mut self, |
no test coverage detected