Add support to register with a room

`/affiliation register` can now be used to register a nickname with a
MUC.

Tested with a server without forms. Couldn't find a server which
supports forms yet.

Implements https://github.com/profanity-im/profanity/issues/1210
This commit is contained in:
Michael Vetter
2021-03-18 20:32:12 +01:00
parent 064174efa3
commit fde0a0d1c6
8 changed files with 164 additions and 6 deletions

View File

@@ -756,6 +756,7 @@ cmd_ac_init(void)
affiliation_cmd_ac = autocomplete_new();
autocomplete_add(affiliation_cmd_ac, "list");
autocomplete_add(affiliation_cmd_ac, "request");
autocomplete_add(affiliation_cmd_ac, "register");
autocomplete_add(affiliation_cmd_ac, "set");
role_cmd_ac = autocomplete_new();

View File

@@ -695,14 +695,16 @@ static struct cmd_t command_defs[] = {
CMD_SYN(
"/affiliation set <affiliation> <jid> [<reason>]",
"/affiliation list [<affiliation>]",
"/affiliation request")
"/affiliation request",
"/affiliation register")
CMD_DESC(
"Manage room affiliations. "
"Affiliation may be one of owner, admin, member, outcast or none.")
CMD_ARGS(
{ "set <affiliation> <jid> [<reason>]", "Set the affiliation of user with jid, with an optional reason." },
{ "list [<affiliation>]", "List all users with the specified affiliation, or all if none specified." },
{ "request", "Request voice."})
{ "request", "Request voice."},
{ "register", "Register your nickname with the MUC."})
CMD_NOEXAMPLES
},

View File

@@ -4166,6 +4166,11 @@ cmd_affiliation(ProfWin* window, const char* const command, gchar** args)
return TRUE;
}
if (g_strcmp0(cmd, "register") == 0) {
iq_muc_register_nick(mucwin->roomjid);
return TRUE;
}
cons_bad_cmd_usage(command);
return TRUE;
}