aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-11 10:28:57 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-11 10:28:57 +0100
commit99496d745f70cc0e65bc42df01aecc7483ff1166 (patch)
tree0007fd7bb5fa4853f3979e79c6c16a5263902221 /src
parent4ae73c3e2b9a660106030f84e06540ef1324b33e (diff)
downloadkodapa-99496d745f70cc0e65bc42df01aecc7483ff1166.tar.gz
initial discord
Diffstat (limited to 'src')
-rw-r--r--src/main.rs39
1 files changed, 37 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index aef3fa9..fb1ee99 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,3 +1,7 @@
+use discord::{
+ model::Event,
+ Discord,
+};
use slack_api as slack;
#[tokio::main]
@@ -5,11 +9,15 @@ async fn main() {
println!("Hello, world!");
println!("Setting up Slack");
- let slack_token = std::env::var("SLACK_API_TOKEN").expect("No token");
+ let slack_token = std::env::var("SLACK_API_TOKEN")
+ .unwrap_or(""
+ .to_string());
let slack_client = slack::default_client().unwrap();
let slack_request = slack::rtm::StartRequest::default();
- let response = slack::rtm::start(&slack_client, &slack_token, &slack_request).await;
+ let response = slack::rtm::start(&slack_client,
+ &slack_token,
+ &slack_request).await;
if let Ok(response) = response {
if let Some(channels) = response.channels {
@@ -30,4 +38,31 @@ async fn main() {
} else {
println!("{:?}", response)
}
+
+ println!("Setting up Discord");
+
+ let discord_token = std::env::var("DISCORD_API_TOKEN")
+ .unwrap_or(""
+ .to_string());
+ let discord = Discord::from_bot_token(&discord_token);
+
+ if let Ok(discord) = discord {
+ let (mut connection, _) = discord.connect() .expect("discord connect failed");
+ println!("Discord ready");
+ loop {
+ match connection.recv_event() {
+ Ok(Event::MessageCreate(message)) => {
+ println!("{} says: {}", message.author.name, message.content);
+ }
+ Ok(_) => {}
+ Err(discord::Error::Closed(code, body)) => {
+ println!("Discord closed with code {:?}: {}", code, body);
+ break;
+ }
+ Err(err) => {
+ println!("Error: {:?}", err);
+ }
+ }
+ }
+ }
}