Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/commands.c @ 490:af6e31e32d9e
Add "/room privmsg"
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 08 Oct 2005 00:29:02 +0200 |
parents | 9e8519078e00 |
children | 321ae11e7ddb |
comparison
equal
deleted
inserted
replaced
489:21ab22a60bcb | 490:af6e31e32d9e |
---|---|
157 compl_add_category_word(COMPL_ROOM, "invite"); | 157 compl_add_category_word(COMPL_ROOM, "invite"); |
158 compl_add_category_word(COMPL_ROOM, "join"); | 158 compl_add_category_word(COMPL_ROOM, "join"); |
159 compl_add_category_word(COMPL_ROOM, "leave"); | 159 compl_add_category_word(COMPL_ROOM, "leave"); |
160 compl_add_category_word(COMPL_ROOM, "names"); | 160 compl_add_category_word(COMPL_ROOM, "names"); |
161 compl_add_category_word(COMPL_ROOM, "nick"); | 161 compl_add_category_word(COMPL_ROOM, "nick"); |
162 compl_add_category_word(COMPL_ROOM, "privmsg"); | |
162 compl_add_category_word(COMPL_ROOM, "remove"); | 163 compl_add_category_word(COMPL_ROOM, "remove"); |
163 compl_add_category_word(COMPL_ROOM, "topic"); | 164 compl_add_category_word(COMPL_ROOM, "topic"); |
164 compl_add_category_word(COMPL_ROOM, "unlock"); | 165 compl_add_category_word(COMPL_ROOM, "unlock"); |
165 } | 166 } |
166 | 167 |
1083 g_free(roomname); | 1084 g_free(roomname); |
1084 buddylist_build(); | 1085 buddylist_build(); |
1085 update_roster = TRUE; | 1086 update_roster = TRUE; |
1086 } else if (!strncasecmp(arg, "invite", 6)) { | 1087 } else if (!strncasecmp(arg, "invite", 6)) { |
1087 const gchar *roomname; | 1088 const gchar *roomname; |
1088 gchar*jid; | 1089 gchar* jid; |
1089 arg += 6; | 1090 arg += 6; |
1090 if (*arg++ != ' ') { | 1091 if (*arg++ != ' ') { |
1091 scr_LogPrint(LPRINT_NORMAL, "Wrong or missing parameter"); | 1092 scr_LogPrint(LPRINT_NORMAL, "Wrong or missing parameter"); |
1092 return; | 1093 return; |
1093 } | 1094 } |
1150 return; | 1151 return; |
1151 } | 1152 } |
1152 cmd = g_strdup_printf("join %s %s", buddy_getjid(bud), arg); | 1153 cmd = g_strdup_printf("join %s %s", buddy_getjid(bud), arg); |
1153 do_room(cmd); | 1154 do_room(cmd); |
1154 g_free(cmd); | 1155 g_free(cmd); |
1156 } else if (!strncasecmp(arg, "privmsg", 7)) { | |
1157 gchar *nick, *cmd; | |
1158 arg += 7; | |
1159 if (*arg++ != ' ') { | |
1160 scr_LogPrint(LPRINT_NORMAL, "Wrong or missing parameter"); | |
1161 return; | |
1162 } | |
1163 for (; *arg && *arg == ' '; arg++) | |
1164 ; | |
1165 if (!(buddy_gettype(bud) & ROSTER_TYPE_ROOM)) { | |
1166 scr_LogPrint(LPRINT_NORMAL, "This isn't a chatroom"); | |
1167 return; | |
1168 } | |
1169 if (!*arg) { | |
1170 scr_LogPrint(LPRINT_NORMAL, "Missing parameter"); | |
1171 return; | |
1172 } | |
1173 nick = g_strdup(arg); | |
1174 arg = strchr(nick, ' '); | |
1175 if (!arg) { | |
1176 scr_LogPrint(LPRINT_NORMAL, "Missing parameter"); | |
1177 return; | |
1178 } | |
1179 *arg++ = 0; | |
1180 for (; *arg && *arg == ' '; arg++) | |
1181 ; | |
1182 cmd = g_strdup_printf("%s/%s %s", buddy_getjid(bud), nick, arg); | |
1183 do_say_to(cmd); | |
1184 g_free(cmd); | |
1185 g_free(nick); | |
1155 } else if (!strcasecmp(arg, "remove")) { | 1186 } else if (!strcasecmp(arg, "remove")) { |
1156 if (!(buddy_gettype(bud) & ROSTER_TYPE_ROOM)) { | 1187 if (!(buddy_gettype(bud) & ROSTER_TYPE_ROOM)) { |
1157 scr_LogPrint(LPRINT_NORMAL, "This isn't a chatroom"); | 1188 scr_LogPrint(LPRINT_NORMAL, "This isn't a chatroom"); |
1158 return; | 1189 return; |
1159 } | 1190 } |