feat: add /time
This commit is contained in:
@@ -17,7 +17,7 @@ use tungstenite::protocol::Message;
|
||||
use rust_util::XResult;
|
||||
use crate::types::{PeerMap, RoomMap, Tx};
|
||||
use crate::msg::{RoomMessageDown, RoomMessage, RoomMessageType, RoomMessageDownType};
|
||||
use crate::slash_handles::{HandleContext, HandleTextMessage};
|
||||
use crate::slash_handles::{HandleContext, HandleTextMessage, HandleTextMessageTime};
|
||||
use crate::slash_handles::{HandleTextMessageExit, HandleTextMessageStatics};
|
||||
use crate::slash_handles::{HandleTextMessagePass, HandleTextMessageRoom};
|
||||
use crate::slash_handles::{HandleTextMessageRooms, HandleTextMessageVersion};
|
||||
@@ -34,6 +34,7 @@ lazy_static! {
|
||||
Box::new(HandleTextMessageRooms),
|
||||
Box::new(HandleTextMessageRoom),
|
||||
Box::new(HandleTextMessageVersion),
|
||||
Box::new(HandleTextMessageTime),
|
||||
];
|
||||
handles
|
||||
};
|
||||
|
||||
@@ -3,6 +3,7 @@ use std::net::SocketAddr;
|
||||
use tungstenite::Message;
|
||||
use crate::msg::RoomMessageDown;
|
||||
use crate::{NAME, VERSION};
|
||||
use chrono::Local;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct HandleContext {
|
||||
@@ -125,3 +126,18 @@ impl HandleTextMessage for HandleTextMessageVersion {
|
||||
tx.unbounded_send(Message::Text(format!("{} - v{}", NAME, VERSION))).ok();
|
||||
}
|
||||
}
|
||||
|
||||
pub struct HandleTextMessageTime;
|
||||
impl HandleTextMessage for HandleTextMessageTime {
|
||||
fn is_matches(&self, _handle_context: &mut HandleContext, _tx: &Tx, _addr: SocketAddr, msg: &str) -> bool {
|
||||
msg == "/time"
|
||||
}
|
||||
|
||||
fn handle(&self, _handle_context: &mut HandleContext, tx: &Tx, _addr: SocketAddr, _msg: &str) {
|
||||
simpledateformat::fmt("yyyy-MM-dd HH:mm:ss z").map(
|
||||
|f| {
|
||||
tx.unbounded_send(Message::Text(format!("Time: {}", f.format(&Local::now())))).ok();
|
||||
}
|
||||
).ok();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user