我想制作一个程序,在不同的协议上登录几个 ID,接收消息并给出不同消息(命令)的答案。
例子:
我: who
bot:我是一个 libpurple 驱动的机器人。
代码如下所示:
static void received_im_msg(PurpleAccount *account, char *sender, char *message,
PurpleConversation *conv, PurpleMessageFlags 标志)
{
if (conv==NULL) {
conv = Purple_conversation_new(PURPLE_CONV_TYPE_IM,帐户,发件人);
}
printf("%s: %s\n", sender, message);
字符 *答案;
如果(消息==“谁”){
answer="我是一个 libpurple 驱动的机器人。";
} else if (message=="hello") {
answer="你好,我的朋友!";
} 别的 {
answer="未知命令。";
}
//打印答案,这样我们就可以在终端中看到它:
printf("bot: %s\n",message);
//发送消息:
Purple_conv_im_send(purple_conversation_get_im_data(conv),answer);
}
对我来说,这段代码看起来还不错,但没有按预期工作。机器人收到的任何消息,答案将始终是未知命令。. 我不明白为什么
消息==“谁”
不是真的,即使
printf("%s: %s\n", sender, message);
打印类似:
example_id_345: who。
您知道为什么会发生这种情况吗?我做错了什么?
谢谢你,对不起我的英语不好。