SILC Protocol

SILC is a secure IRC-like protocol. All discussions in channels and between users are automatically encrypted.

To let rbot use the SILC protocol, we'd need to write Ruby bindings for the SILC toolkit. I've looked over what we'd need to write, and it doesn't look that complicated.

Here's a snippet from the demo SILC bot thta comes with the tutorial:

  mybot.c 

  Author: Pekka Riikonen <priikone@silcnet.org>, November 2002
  This code is Public Domain.

  MyBot

  Example SILC client called "mybot".  It is a robot client which
  connects to SILC Network into silc.silcnet.org server and joins
  channel called "mybot" and says "hello" on the channel.

  This code use the SILC Client Library provided by the SILC
  Toolkit distribution.

  Compilation:

  gcc -o mybot mybot.c -I/usr/local/silc/include -L/usr/local/silc/lib \
      -lsilc -lsilcclient -lpthread -ldl

  The MyBot works as follows (logicly):

  main -> mybot_start -> silc_client_connect_to_server
                v
          silc_client_run (message loop...)
                v
          silc_verify_public_key
                v
          silc_get_auth_method
                v
          silc_connected -> silc_client_command_call (JOIN)
                v
          silc_command_reply -> silc_send_channel_message ("hello")
                v
          message loop...
                v
  main <- mybot_start