comparison mcabber/src/hooks.c @ 453:39e173645f9c

External command is called for MUC messages
author Mikael Berthe <mikael@lilotux.net>
date Mon, 26 Sep 2005 22:36:18 +0200
parents 03bb57383cea
children 33dc3ca6e9ca
comparison
equal deleted inserted replaced
452:dfd9c62b3a39 453:39e173645f9c
78 // XXX We could use an option here to know if we should write GC messages... 78 // XXX We could use an option here to know if we should write GC messages...
79 if (!is_groupchat && !(message_flags & HBB_PREFIX_ERR)) 79 if (!is_groupchat && !(message_flags & HBB_PREFIX_ERR))
80 hlog_write_message(jid, timestamp, FALSE, wmsg); 80 hlog_write_message(jid, timestamp, FALSE, wmsg);
81 81
82 // External command 82 // External command
83 if (!is_groupchat) 83 // XXX We should avoid calling the function for history lines in MUC
84 hk_ext_cmd(jid, 'M', 'R', NULL); 84 hk_ext_cmd(jid, (is_groupchat ? 'G' : 'M'), 'R', NULL);
85 85
86 // We need to rebuild the list if the sender is unknown or 86 // We need to rebuild the list if the sender is unknown or
87 // if the sender is offline/invisible and hide_offline_buddies is set 87 // if the sender is offline/invisible and hide_offline_buddies is set
88 if (new_guy || 88 if (new_guy ||
89 (roster_getstatus(jid, NULL) == offline && 89 (roster_getstatus(jid, NULL) == offline &&
168 arg_type = "MSG"; 168 arg_type = "MSG";
169 if (info == 'R') 169 if (info == 'R')
170 arg_info = "IN"; 170 arg_info = "IN";
171 else if (info == 'S') 171 else if (info == 'S')
172 arg_info = "OUT"; 172 arg_info = "OUT";
173 173 break;
174 case 'G':
175 arg_type = "MSG";
176 arg_info = "MUC";
174 break; 177 break;
175 case 'S': 178 case 'S':
176 arg_type = "STATUS"; 179 arg_type = "STATUS";
177 if (strchr(imstatus2char, tolower(info))) { 180 if (strchr(imstatus2char, tolower(info))) {
178 status_str[0] = toupper(info); 181 status_str[0] = toupper(info);