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;
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
pub enum Event {
|
pub enum Event {
|
||||||
Message { message: Message }, // A user sends a message
|
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
|
UserQuit { channel: Channel, user: User } // A user quits a channel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
pub struct Envelope {
|
pub struct Envelope {
|
||||||
pub from: Option<String>,
|
pub from: Option<String>,
|
||||||
pub event: Event,
|
pub event: Event,
|
||||||
|
@ -128,6 +128,7 @@ impl Tenquestionmarks {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
pub struct Message {
|
pub struct Message {
|
||||||
content: String,
|
content: String,
|
||||||
author: User,
|
author: User,
|
||||||
@ -143,6 +144,7 @@ impl Message {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
pub struct Channel {
|
pub struct Channel {
|
||||||
name: String,
|
name: String,
|
||||||
description: String,
|
description: String,
|
||||||
@ -156,6 +158,7 @@ impl Channel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
pub struct User {
|
pub struct User {
|
||||||
name: String,
|
name: String,
|
||||||
sender: Box<MessageSender>
|
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) {}
|
fn send_message (&self, _: &str) {}
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,9 @@ use std::sync::Arc;
|
|||||||
use std::sync::mpsc::Receiver;
|
use std::sync::mpsc::Receiver;
|
||||||
use transformable_channels::mpsc::ExtSender;
|
use transformable_channels::mpsc::ExtSender;
|
||||||
|
|
||||||
|
use std::fmt;
|
||||||
|
use std::fmt::{Debug, Formatter};
|
||||||
|
|
||||||
use {MessageSender, Message, User, Channel};
|
use {MessageSender, Message, User, Channel};
|
||||||
|
|
||||||
pub struct DiscordModule {
|
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 {
|
impl EventLoop for DiscordModule {
|
||||||
fn run (&self, sender: Box<ExtSender<event::Envelope>>, _: Receiver<Arc<event::Envelope>>) {
|
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"));
|
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 pvn;
|
||||||
pub mod echobox;
|
pub mod echobox;
|
||||||
pub mod autolink;
|
pub mod autolink;
|
||||||
|
pub mod logger;
|
||||||
|
|
||||||
pub mod loader;
|
pub mod loader;
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ use event::{Event, Envelope};
|
|||||||
|
|
||||||
pub struct StdinModule {}
|
pub struct StdinModule {}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
pub struct StdinMessageSender {
|
pub struct StdinMessageSender {
|
||||||
name: String
|
name: String
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user