Ich möchte ein Programm erstellen, das wenige IDs auf verschiedenen Protokollen anmeldet, die Nachrichten empfängt und Antworten auf verschiedene Nachrichten (Befehle) gibt.received-im-msg signal message
Beispiel:
mich: die
bietet: Ich bin ein libpurple angetrieben bietet.
Der Code sieht wie folgt aus:
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); }
Für mich dieser Code nur OK aussieht, aber nicht wie erwartet funktionieren. Jede Nachricht, die der Bot erhält, lautet immer Unbekannter Befehl.. Ich kann nicht verstehen, warum die
message == "who"
nicht wahr ist, auch wenn
printf("%s: %s\n", sender, message);
druckt so etwas wie:
example_id_345: die.
Haben Sie eine Idee, warum dieses Ding passiert? Was habe ich falsch gemacht?
Vielen Dank und Entschuldigung für mein schlechtes Englisch.
Es funktioniert. Vielen Dank! –