異なるプロトコルでいくつかの ID にログインし、メッセージを受信し、異なるメッセージ (コマンド) に応答するプログラムを作成したいと考えています。
例:
me: who
bot: libpurple を使ったボットです。
コードは次のようになります。
static void received_im_msg(PurpleAccount *アカウント、char *送信者、char *メッセージ、 PurpleConversation *conv、PurpleMessageFlags フラグ) { if (conv==NULL) { conv = Purple_conversation_new(PURPLE_CONV_TYPE_IM、アカウント、送信者); } printf("%s: %s\n", 送信者, メッセージ); char *答え; if (メッセージ == "誰") { answer="私は libpurple を搭載したボットです。"; } その他の場合 (メッセージ =="こんにちは") { answer="こんにちは、私の友人です!"; } そうしないと { answer="不明なコマンドです。"; } //答えを出力して、ターミナルで確認できるようにします。 printf("ボット: %s\n",メッセージ); // メッセージを送信: Purple_conv_im_send(purple_conversation_get_im_data(conv),answer); }
私にとって、このコードは問題ないように見えますが、期待どおりには機能しません。ボットが受信するメッセージは、常に不明なコマンドです。. なぜだか理解できない
メッセージ == 「誰」
であっても、真実ではありません
printf("%s: %s\n", 送信者, メッセージ);
example_id_345: whoのようなものを出力します。
なぜこのようなことが起こるのか、何か考えがありますか? 私は何を間違えましたか?
ありがとう、私の悪い英語でごめんなさい。