#pragma once

#define SEND_COMMAND(...) silc_client_command_call(elmo->client, elmo->conn, NULL, __VA_ARGS__, NULL) 

#define CHANNEL_MESSAGE(message)	silc_client_send_channel_message(elmo->client, \
elmo->conn, channel, \
NULL, \
0, \
message, \
strlen(message), \
FALSE)

#define USER_MESSAGE(user, message)	silc_client_send_private_message(elmo->client,\
elmo->conn,\
user,\
SILC_MESSAGE_FLAG_NONE,\
message,\
strlen(message),\
false)

#define REPLY(message) USER_MESSAGE(sender, message)

#define USER_PRINTF(user, message,...) do { \
	char * __message; asprintf(&__message, message,__VA_ARGS__);\
	USER_MESSAGE(user,__message); free(__message); \
} while(0)

#define CHANNEL_PRINTF(message,...) do { \
	char * __message; asprintf(&__message, message,__VA_ARGS__);\
	CHANNEL_MESSAGE(__message); free(__message); \
} while(0)


