(&mut self, timer: IntervalTimer)
| 548 | } |
| 549 | |
| 550 | async fn dispatch_interval_timer(&mut self, timer: IntervalTimer) { |
| 551 | info!("dispatching interval timer"); |
| 552 | let evt = runtime_models::internal::timers::IntervalTimerEvent { |
| 553 | name: timer.name.clone(), |
| 554 | plugin_id: timer.plugin_id.map(PluginId), |
| 555 | }; |
| 556 | |
| 557 | let serialized = serde_json::to_value(&evt).unwrap(); |
| 558 | self.dispatch_worker_evt( |
| 559 | "BOTLOADER_INTERVAL_TIMER_FIRED".to_string(), |
| 560 | serialized, |
| 561 | PendingAckType::IntervalTimer(TimerId::new(timer.plugin_id, timer.name)), |
| 562 | EventSource::Timer, |
| 563 | Utc::now(), |
| 564 | ) |
| 565 | .await; |
| 566 | } |
| 567 | |
| 568 | pub async fn send_discord_guild_event(&mut self, evt: DiscordEvent) { |
| 569 | self.inner_send_discord_guild_event(evt, None).await; |
no test coverage detected