blob: 8980b31f17fc2da86464dbe3823e7747745e65a6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
mod agenda;
mod discord;
mod reminder;
mod slack;
use crate::agenda::AgendaPoint;
use crate::reminder::ReminderType;
use futures::join;
use tokio::sync::{mpsc, watch};
#[tokio::main]
async fn main() {
let (from_discord, to_slack) = mpsc::unbounded_channel::<AgendaPoint>();
let (from_slack, to_discord) = mpsc::unbounded_channel::<AgendaPoint>();
let (reminder_sender, reminder_receiver) = watch::channel(ReminderType::Void);
join!(
reminder::handle(reminder_sender),
discord::handle(from_discord, to_discord, reminder_receiver.clone()),
slack::handle(from_slack, to_slack, reminder_receiver),
);
}
|