mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Add some basic commands for sysadmins and permission system for them
This commit is contained in:
@@ -39,6 +39,12 @@ impl IntercomHandler {
|
||||
};
|
||||
emitter.emit(event);
|
||||
},
|
||||
IntercomWebServiceUserMessage::Maintenance(msg) => {
|
||||
let event = super::MaintenanceMode {
|
||||
message: msg.message,
|
||||
};
|
||||
emitter.emit(event);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
|
||||
18
rc_services_room/src/events/maintenance_mode.rs
Normal file
18
rc_services_room/src/events/maintenance_mode.rs
Normal file
@@ -0,0 +1,18 @@
|
||||
pub struct MaintenanceMode {
|
||||
pub message: String,
|
||||
}
|
||||
|
||||
impl <C: Send + Sync + 'static> polariton_server::events::IntoEvent<C> for MaintenanceMode {
|
||||
const CHANNEL: u8 = 0;
|
||||
const ENCRYPT: bool = true;
|
||||
const RELIABLE: bool = true;
|
||||
|
||||
fn into_event(self) -> polariton::operation::Event<C> {
|
||||
let mut params = polariton::operation::ParameterTable::with_capacity(1);
|
||||
params.insert(19, polariton::operation::Typed::Str(self.message.clone().into()));
|
||||
polariton::operation::Event {
|
||||
code: 3,
|
||||
params,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,3 +3,6 @@ pub use handler::IntercomHandler;
|
||||
|
||||
mod dev_message;
|
||||
pub use dev_message::DevMessage;
|
||||
|
||||
mod maintenance_mode;
|
||||
pub use maintenance_mode::MaintenanceMode;
|
||||
|
||||
Reference in New Issue
Block a user