static void session_auth_to_network(struct session_t * session) { char message[MAX_IRC_MSG]; snprintf(message, sizeof message, "NICK %s\r\n" "USER %s 8 * :%s\r\n", session->nickname, "ircbot", "github.com/neuro-sys/neuro-bot"); network_send_message(&session->network, message); if (!strcmp(session->password, "")) sprintf(message, "PRIVMSG NickServ :identify %s\r\n", session->password); network_send_message(&session->network, message); }
// send a connection request bool network_send_connection_request(Connection *conn){ LSPMessage *msg = network_build_message(0,0,NULL,0); if(network_send_message(conn,msg)) { conn->status = CONNECT_SENT; return true; } else { return false; } }
void network_announce_ourselves(struct uloop_timeout *timer) { // TODO: Generate announce message. message_t msg; message_init(&msg); network_send_message(&msg); message_free(&msg); // Reschedule timer if no peer selected. if (net_status.peer == NULL) { uloop_timeout_set(timer, KORUZA_ANNOUNCE_INTERVAL); } }
static void session_run(struct session_t * session) { char line[MAX_IRC_MSG]; struct irc_t irc; session_auth_to_network(session); irc.session = session; while (1) { irc.response[0] = '\0'; if ( network_read_line(&session->network, line) < 0 ) break; irc_process_line(&irc, line); if (irc.response[0]) network_send_message(&session->network, irc.response); } }
// acknowledge the last received message bool network_acknowledge(Connection *conn){ LSPMessage *msg = network_build_message(conn->id,conn->lastReceivedSeq,NULL,0); return network_send_message(conn,msg); }