我想制作一个程序,在不同的协议上登录几个 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。
您知道为什么会发生这种情况吗?我做错了什么?
谢谢你,对不起我的英语不好。