X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=tutorial%2Fmybot%2Fmybot.c;h=6e689d061cb106239301ed1a5f60d76a15abfcef;hb=9905799a86c606304fd7df2cd401de1740a272a1;hp=f6297c4481fd2b1672c1e2205d8d411ec7b59ead;hpb=4009f0434bf1db4fdf72da735d3972ce078f3d86;p=silc.git diff --git a/tutorial/mybot/mybot.c b/tutorial/mybot/mybot.c index f6297c44..6e689d06 100644 --- a/tutorial/mybot/mybot.c +++ b/tutorial/mybot/mybot.c @@ -29,7 +29,7 @@ v silc_get_auth_method v - silc_connected -> silc_client_send_command (JOIN) + silc_connected -> silc_client_command_call (JOIN) v silc_command_reply -> silc_send_channel_message ("hello") v @@ -39,7 +39,7 @@ */ -#include "silcincludes.h" /* Mandatory include for SILC applications */ +#include "silc.h" /* Mandatory include for SILC applications */ #include "silcclient.h" /* SILC Client Library API */ SilcClientOperations ops; @@ -166,11 +166,17 @@ silc_say(SilcClient client, SilcClientConnection conn, static void silc_channel_message(SilcClient client, SilcClientConnection conn, SilcClientEntry sender, SilcChannelEntry channel, + SilcMessagePayload payload, + SilcChannelPrivateKey key, SilcMessageFlags flags, const unsigned char *message, SilcUInt32 message_len) { /* Yay! We got a message from channel. */ - fprintf(stdout, "<%s> %s\n", sender->nickname, message); + + if (flags & SILC_MESSAGE_FLAG_SIGNED) + fprintf(stdout, "[SIGNED] <%s> %s\n", sender->nickname, message); + else + fprintf(stdout, "<%s> %s\n", sender->nickname, message); } @@ -182,7 +188,8 @@ silc_channel_message(SilcClient client, SilcClientConnection conn, static void silc_private_message(SilcClient client, SilcClientConnection conn, - SilcClientEntry sender, SilcMessageFlags flags, + SilcClientEntry sender, SilcMessagePayload payload, + SilcMessageFlags flags, const unsigned char *message, SilcUInt32 message_len) { @@ -301,6 +308,13 @@ silc_command_reply(SilcClient client, SilcClientConnection conn, silc_client_send_channel_message(client, conn, channel, NULL, 0, "hello", strlen("hello"), FALSE); fprintf(stdout, "MyBot: Sent 'hello' to channel\n"); + + /* Now send digitally signed "hello" to the channel */ + silc_client_send_channel_message(client, conn, channel, NULL, + SILC_MESSAGE_FLAG_SIGNED, + "hello, with signature", + strlen("hello, with signature"), FALSE); + fprintf(stdout, "MyBot: Sent 'hello, with signature' to channel\n"); } va_end(va); @@ -331,13 +345,8 @@ silc_connected(SilcClient client, SilcClientConnection conn, /* Save the connection context */ mybot->conn = conn; - /* Now that we are connected, send the JOIN command to the "mybot" - channel */ - idp = silc_id_payload_encode(conn->local_id, SILC_ID_CLIENT); - silc_client_command_send(client, conn, SILC_COMMAND_JOIN, 0, 2, - 1, "mybot", strlen("mybot"), - 2, idp->data, idp->len); - silc_buffer_free(idp); + /* Now that we are connected, join to mybot channel with JOIN command. */ + silc_client_command_call(client, conn, "JOIN mybot"); }