OPERMOTD, self-service VHOST, and command aliases (config-driven)
This commit is contained in:
parent
6be8e5ebcb
commit
f4c01e1bf8
6 changed files with 138 additions and 0 deletions
19
src/ircd.rs
19
src/ircd.rs
|
|
@ -228,6 +228,25 @@ impl Ircd {
|
|||
|
||||
let Some(handler) = self.commands.get(cmd) else {
|
||||
if registered {
|
||||
// command aliases (m_alias): `/NS help` -> PRIVMSG NickServ :help
|
||||
if let Some(target) = self
|
||||
.server
|
||||
.aliases
|
||||
.iter()
|
||||
.find(|(n, _)| n == cmd)
|
||||
.map(|(_, t)| t.clone())
|
||||
{
|
||||
if !msg.params.is_empty() {
|
||||
let text = msg.params.join(" ");
|
||||
crate::coremods::core_message::deliver(
|
||||
&mut self.server,
|
||||
uid,
|
||||
&[target, text],
|
||||
false,
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
self.server
|
||||
.numeric(uid, ERR_UNKNOWNCOMMAND, &format!("{cmd} :Unknown command"));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue