aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordequis <dx@dxzone.com.ar>2018-02-11 18:27:17 -0300
committerdequis <dx@dxzone.com.ar>2018-02-11 18:27:17 -0300
commit16ea00d7e84a05703e047fa010e2b0621104220b (patch)
tree22b3034ec72e36c797d83d1098a0fd921709fbc8
parent1dcbd3eb4da9002c9ed73b6a9f2423bdc3b8ffea (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.c12
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) {