Я хочу сделать программу, которая регистрирует несколько идентификаторов в разных протоколах, получает сообщения и дает ответы на разные сообщения (команды).Полученное сообщение im-msg
пример:
меня: кто
бот: Я на libpurple питание бота.
код выглядит следующим образом:
static void received_im_msg(PurpleAccount *account, char *sender, char *message, PurpleConversation *conv, PurpleMessageFlags flags) { if (conv==NULL) { conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, sender); } printf("%s: %s\n", sender, message); char *answer; if (message == "who") { answer="I'm a libpurple powered bot."; } else if (message=="hello") { answer="Hello, my firend!"; } else { answer="Unknown command."; } //print the answer, so we can see it in terminal: printf("bot: %s\n",message); //send the message: purple_conv_im_send(purple_conversation_get_im_data(conv),answer); }
Для меня этот код выглядит так же хорошо, но не работает, как ожидалось. Любое сообщение, которое получает бот, всегда будет отвечать Неизвестная команда.. Я не могу понять, почему
message == "who"
это не так, даже если
printf("%s: %s\n", sender, message);
печатает что-то вроде:
example_id_345: кто.
У вас есть идеи, почему это происходит? Что я сделал не так?
Спасибо и извините за мой плохой английский.
Это работает. Большое спасибо! –