Пример #1
0
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);
}
Пример #2
0
// 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;
    }
}
Пример #3
0
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);
  }
}
Пример #4
0
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);
    }
}
Пример #5
0
// 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);
}