Add -m mode option to set user modes
parent
d3b2f86a4b
commit
a5a225c52c
|
@ -1,4 +1,4 @@
|
||||||
.Dd June 17, 2021
|
.Dd June 18, 2021
|
||||||
.Dt CATGIRL 1
|
.Dt CATGIRL 1
|
||||||
.Os
|
.Os
|
||||||
.
|
.
|
||||||
|
@ -22,6 +22,7 @@
|
||||||
.Op Fl i Ar ignore
|
.Op Fl i Ar ignore
|
||||||
.Op Fl j Ar join
|
.Op Fl j Ar join
|
||||||
.Op Fl k Ar priv
|
.Op Fl k Ar priv
|
||||||
|
.Op Fl m Ar mode
|
||||||
.Op Fl n Ar nick
|
.Op Fl n Ar nick
|
||||||
.Op Fl p Ar port
|
.Op Fl p Ar port
|
||||||
.Op Fl r Ar real
|
.Op Fl r Ar real
|
||||||
|
@ -287,6 +288,10 @@ as configuration files.
|
||||||
Log chat events to files in paths
|
Log chat events to files in paths
|
||||||
.Pa $XDG_DATA_HOME/catgirl/log/network/channel/YYYY-MM-DD.log .
|
.Pa $XDG_DATA_HOME/catgirl/log/network/channel/YYYY-MM-DD.log .
|
||||||
.
|
.
|
||||||
|
.It Fl m Ar mode | Cm mode No = Ar mode
|
||||||
|
Set the user
|
||||||
|
.Ar mode .
|
||||||
|
.
|
||||||
.It Fl n Ar nick | Cm nick No = Ar nick
|
.It Fl n Ar nick | Cm nick No = Ar nick
|
||||||
Set nickname to
|
Set nickname to
|
||||||
.Ar nick .
|
.Ar nick .
|
||||||
|
|
2
chat.c
2
chat.c
|
@ -180,6 +180,7 @@ int main(int argc, char *argv[]) {
|
||||||
{ .val = 'j', .name = "join", required_argument },
|
{ .val = 'j', .name = "join", required_argument },
|
||||||
{ .val = 'k', .name = "priv", required_argument },
|
{ .val = 'k', .name = "priv", required_argument },
|
||||||
{ .val = 'l', .name = "log", no_argument },
|
{ .val = 'l', .name = "log", no_argument },
|
||||||
|
{ .val = 'm', .name = "mode", required_argument },
|
||||||
{ .val = 'n', .name = "nick", required_argument },
|
{ .val = 'n', .name = "nick", required_argument },
|
||||||
{ .val = 'o', .name = "print-chain", no_argument },
|
{ .val = 'o', .name = "print-chain", no_argument },
|
||||||
{ .val = 'p', .name = "port", required_argument },
|
{ .val = 'p', .name = "port", required_argument },
|
||||||
|
@ -222,6 +223,7 @@ int main(int argc, char *argv[]) {
|
||||||
break; case 'j': self.join = optarg;
|
break; case 'j': self.join = optarg;
|
||||||
break; case 'k': priv = optarg;
|
break; case 'k': priv = optarg;
|
||||||
break; case 'l': logEnable = true;
|
break; case 'l': logEnable = true;
|
||||||
|
break; case 'm': self.mode = optarg;
|
||||||
break; case 'n': nick = optarg;
|
break; case 'n': nick = optarg;
|
||||||
break; case 'o': insecure = true; printCert = true;
|
break; case 'o': insecure = true; printCert = true;
|
||||||
break; case 'p': port = optarg;
|
break; case 'p': port = optarg;
|
||||||
|
|
1
chat.h
1
chat.h
|
@ -192,6 +192,7 @@ extern struct Self {
|
||||||
size_t pos;
|
size_t pos;
|
||||||
enum Cap caps;
|
enum Cap caps;
|
||||||
char *plain;
|
char *plain;
|
||||||
|
char *mode;
|
||||||
char *join;
|
char *join;
|
||||||
char *nick;
|
char *nick;
|
||||||
char *user;
|
char *user;
|
||||||
|
|
1
handle.c
1
handle.c
|
@ -241,6 +241,7 @@ static void handleReplyWelcome(struct Message *msg) {
|
||||||
require(msg, false, 1);
|
require(msg, false, 1);
|
||||||
set(&self.nick, msg->params[0]);
|
set(&self.nick, msg->params[0]);
|
||||||
completeTouch(Network, self.nick, Default);
|
completeTouch(Network, self.nick, Default);
|
||||||
|
if (self.mode) ircFormat("MODE %s %s\r\n", self.nick, self.mode);
|
||||||
if (self.join) {
|
if (self.join) {
|
||||||
uint count = 1;
|
uint count = 1;
|
||||||
for (const char *ch = self.join; *ch && *ch != ' '; ++ch) {
|
for (const char *ch = self.join; *ch && *ch != ' '; ++ch) {
|
||||||
|
|
Loading…
Reference in New Issue