implement Debug for all structs, provide implementation for message senders
This commit is contained in:
parent
e8b944b836
commit
2baffdacd3
@ -2,6 +2,7 @@ use {Message, Channel, User};
|
||||
|
||||
use std::sync::Arc;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Event {
|
||||
Message { message: Message }, // A user sends a message
|
||||
|
||||
@ -12,6 +13,7 @@ pub enum Event {
|
||||
UserQuit { channel: Channel, user: User } // A user quits a channel
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Envelope {
|
||||
pub from: Option<String>,
|
||||
pub event: Event,
|
||||
|
@ -128,6 +128,7 @@ impl Tenquestionmarks {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Message {
|
||||
content: String,
|
||||
author: User,
|
||||
@ -143,6 +144,7 @@ impl Message {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Channel {
|
||||
name: String,
|
||||
description: String,
|
||||
@ -156,6 +158,7 @@ impl Channel {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct User {
|
||||
name: String,
|
||||
sender: Box<MessageSender>
|
||||
@ -167,6 +170,6 @@ impl User {
|
||||
}
|
||||
}
|
||||
|
||||
pub trait MessageSender : Sync + Send {
|
||||
pub trait MessageSender : Sync + Send + std::fmt::Debug {
|
||||
fn send_message (&self, _: &str) {}
|
||||
}
|
||||
|
@ -13,6 +13,9 @@ use std::sync::Arc;
|
||||
use std::sync::mpsc::Receiver;
|
||||
use transformable_channels::mpsc::ExtSender;
|
||||
|
||||
use std::fmt;
|
||||
use std::fmt::{Debug, Formatter};
|
||||
|
||||
use {MessageSender, Message, User, Channel};
|
||||
|
||||
pub struct DiscordModule {
|
||||
@ -58,6 +61,12 @@ impl MessageSender for DiscordMessageSender {
|
||||
}
|
||||
}
|
||||
|
||||
impl Debug for DiscordMessageSender {
|
||||
fn fmt (&self, formatter: &mut Formatter) -> fmt::Result {
|
||||
write!(formatter, "DiscordMessageSender {{ channel_id: {:?} }}", self.channel_id)
|
||||
}
|
||||
}
|
||||
|
||||
impl EventLoop for DiscordModule {
|
||||
fn run (&self, sender: Box<ExtSender<event::Envelope>>, _: Receiver<Arc<event::Envelope>>) {
|
||||
let discord = Arc::new(Discord::from_bot_token(&self.token[..]).expect("Discord module: Login failed"));
|
||||
|
@ -6,6 +6,7 @@ pub mod random;
|
||||
pub mod pvn;
|
||||
pub mod echobox;
|
||||
pub mod autolink;
|
||||
pub mod logger;
|
||||
|
||||
pub mod loader;
|
||||
|
||||
|
@ -13,6 +13,7 @@ use event::{Event, Envelope};
|
||||
|
||||
pub struct StdinModule {}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct StdinMessageSender {
|
||||
name: String
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user