forked from the-distro/ofborg
Merge remote-tracking branch 'origin/released' into next
This commit is contained in:
commit
666596b251
|
@ -30,7 +30,9 @@ use std::env;
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
struct MessageToIRC {
|
struct MessageToIRC {
|
||||||
target: String,
|
target: String,
|
||||||
body: String
|
body: String,
|
||||||
|
#[serde(default = "default_irc_message_type")]
|
||||||
|
message_type: IRCMessageType
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug)]
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
@ -40,6 +42,17 @@ struct MessageFromIRC {
|
||||||
body: String
|
body: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug)]
|
||||||
|
#[serde(rename_all = "lowercase")]
|
||||||
|
enum IRCMessageType {
|
||||||
|
Privmsg,
|
||||||
|
Notice
|
||||||
|
}
|
||||||
|
|
||||||
|
fn default_irc_message_type() -> IRCMessageType {
|
||||||
|
IRCMessageType::Privmsg
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if let Err(_) = env::var("RUST_LOG") {
|
if let Err(_) = env::var("RUST_LOG") {
|
||||||
env::set_var("RUST_LOG", "info");
|
env::set_var("RUST_LOG", "info");
|
||||||
|
@ -81,8 +94,15 @@ fn main() {
|
||||||
move |_channel: &mut Channel, _deliver: Deliver, _headers: BasicProperties, body: Vec<u8>| {
|
move |_channel: &mut Channel, _deliver: Deliver, _headers: BasicProperties, body: Vec<u8>| {
|
||||||
let msg: Result<MessageToIRC, serde_json::Error> = serde_json::from_slice(&body);
|
let msg: Result<MessageToIRC, serde_json::Error> = serde_json::from_slice(&body);
|
||||||
if let Ok(msg) = msg {
|
if let Ok(msg) = msg {
|
||||||
|
match msg.message_type {
|
||||||
|
IRCMessageType::Notice => {
|
||||||
|
server.send_notice(&msg.target, &msg.body).unwrap();
|
||||||
|
}
|
||||||
|
IRCMessageType::Privmsg => {
|
||||||
server.send_privmsg(&msg.target, &msg.body).unwrap();
|
server.send_privmsg(&msg.target, &msg.body).unwrap();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"queue-publish", "", false, true, false, false, Table::new());
|
"queue-publish", "", false, true, false, false, Table::new());
|
||||||
println!("Starting consumer {:?}", consumer_name);
|
println!("Starting consumer {:?}", consumer_name);
|
||||||
|
|
Loading…
Reference in a new issue