diff options
author | dequis <dx@dxzone.com.ar> | 2018-02-11 18:27:17 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2018-02-11 18:27:17 -0300 |
commit | 16ea00d7e84a05703e047fa010e2b0621104220b (patch) | |
tree | 22b3034ec72e36c797d83d1098a0fd921709fbc8 | |
parent | 1dcbd3eb4da9002c9ed73b6a9f2423bdc3b8ffea (diff) |
root_commands: Improve 'chat add' error/success messages
This handles the most common error case with an obvious error message
(channel already exists, join it, etc), and the rarer ones with vague
but different wording. For those cases:
- "Could not add chatroom."
This wording is not present in this version anymore, likely means the
channel already exists.
- "Error creating channel for chatroom."
irc_channel_new() failed but the channel doesn't exist already. This
could be that some name validation failed, but this function already
generates a suitable name.
- "Error adding chatroom."
irc_channel_new() succeeded, but one of the set_setstr() failed. There
are account checks earlier, and the room setting is not normally
validated at this point.
Can't really imagine situations where these vague errors would still
show up, but at least now you only get those for unknown cases.
-rw-r--r-- | root_commands.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/root_commands.c b/root_commands.c index 1278126f..4988e382 100644 --- a/root_commands.c +++ b/root_commands.c @@ -1341,13 +1341,19 @@ static void cmd_chat(irc_t *irc, char **cmd) set_setstr(&ic->set, "chat_type", "room") && set_setstr(&ic->set, "account", cmd[2]) && set_setstr(&ic->set, "room", room)) { - irc_rootmsg(irc, "Chatroom successfully added."); + irc_rootmsg(irc, "Chatroom successfully added, join with \002/join %s\002", channel); } else { if (ic) { irc_channel_free(ic); - } - irc_rootmsg(irc, "Could not add chatroom."); + irc_rootmsg(irc, "Error adding chatroom."); + } else if (irc_channel_by_name(irc, channel)) { + irc_rootmsg(irc, "A channel named `%s' already exists. " + "Join with \002/join %s\002 or see \002help channel\002 to modify it", + channel, channel); + } else { + irc_rootmsg(irc, "Error creating channel for chatroom."); + } } g_free(channel); } else if (g_strcasecmp(cmd[1], "list") == 0) { |