Add /op, /deop, /voice, /devoice
This collides with using /o for /open which I'm sad about, but I think these commands should exist...master
parent
bb2f3c7a01
commit
ebbb5ad4d2
10
catgirl.1
10
catgirl.1
|
@ -1,4 +1,4 @@
|
|||
.Dd March 25, 2020
|
||||
.Dd March 29, 2020
|
||||
.Dt CATGIRL 1
|
||||
.Os
|
||||
.
|
||||
|
@ -330,6 +330,10 @@ Switch to window by number.
|
|||
.Bl -tag -width Ds
|
||||
.It Ic /ban Op Ar mask ...
|
||||
List or ban masks from the channel.
|
||||
.It Ic /deop Ar nick ...
|
||||
Revoke channel operator status from users.
|
||||
.It Ic /devoice Ar nick ...
|
||||
Revoke voice from users in the channel.
|
||||
.It Ic /except Op Ar mask ...
|
||||
List or add masks to the channel ban exception list.
|
||||
.It Ic /invex Op Ar mask ...
|
||||
|
@ -342,12 +346,16 @@ In the
|
|||
.Sy <network>
|
||||
window,
|
||||
show or set user modes.
|
||||
.It Ic /op Ar nick ...
|
||||
Grant users channel operator status.
|
||||
.It Ic /unban Ar mask ...
|
||||
Unban masks from the channel.
|
||||
.It Ic /unexcept Ar mask ...
|
||||
Remove masks from the channel ban exception list.
|
||||
.It Ic /uninvex Ar mask ...
|
||||
Remove masks from the channel invite list.
|
||||
.It Ic /voice Ar nick ...
|
||||
Grant users voice in the channel.
|
||||
.El
|
||||
.
|
||||
.Sh KEY BINDINGS
|
||||
|
|
24
command.c
24
command.c
|
@ -206,6 +206,26 @@ static void channelListMode(uint id, char pm, char l, char *params) {
|
|||
ircFormat("MODE %s %c%.*s %s\r\n", idNames[id], pm, count, modes, params);
|
||||
}
|
||||
|
||||
static void commandOp(uint id, char *params) {
|
||||
if (!params) return;
|
||||
channelListMode(id, '+', 'o', params);
|
||||
}
|
||||
|
||||
static void commandDeop(uint id, char *params) {
|
||||
if (!params) return;
|
||||
channelListMode(id, '-', 'o', params);
|
||||
}
|
||||
|
||||
static void commandVoice(uint id, char *params) {
|
||||
if (!params) return;
|
||||
channelListMode(id, '+', 'v', params);
|
||||
}
|
||||
|
||||
static void commandDevoice(uint id, char *params) {
|
||||
if (!params) return;
|
||||
channelListMode(id, '-', 'v', params);
|
||||
}
|
||||
|
||||
static void commandBan(uint id, char *params) {
|
||||
if (params) {
|
||||
channelListMode(id, '+', 'b', params);
|
||||
|
@ -379,6 +399,8 @@ static const struct Handler {
|
|||
{ "/copy", commandCopy, Restricted },
|
||||
{ "/cs", commandCS, 0 },
|
||||
{ "/debug", commandDebug, Restricted },
|
||||
{ "/deop", commandDeop, 0 },
|
||||
{ "/devoice", commandDevoice, 0 },
|
||||
{ "/except", commandExcept, 0 },
|
||||
{ "/exec", commandExec, Multiline | Restricted },
|
||||
{ "/help", commandHelp, 0 },
|
||||
|
@ -395,6 +417,7 @@ static const struct Handler {
|
|||
{ "/nick", commandNick, 0 },
|
||||
{ "/notice", commandNotice, Multiline },
|
||||
{ "/ns", commandNS, 0 },
|
||||
{ "/op", commandOp, 0 },
|
||||
{ "/open", commandOpen, Restricted },
|
||||
{ "/part", commandPart, 0 },
|
||||
{ "/query", commandQuery, Restricted },
|
||||
|
@ -405,6 +428,7 @@ static const struct Handler {
|
|||
{ "/unban", commandUnban, 0 },
|
||||
{ "/unexcept", commandUnexcept, 0 },
|
||||
{ "/uninvex", commandUninvex, 0 },
|
||||
{ "/voice", commandVoice, 0 },
|
||||
{ "/whois", commandWhois, 0 },
|
||||
{ "/window", commandWindow, 0 },
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue