============
 COLLECTIVE 
============
| 

about
-----
| 

:author:  Bart Thate <bthate@gmail.com>
:contact: IRCNET/#dunkbots
:website: http://plugins.gozerbot.org
:license: Public Domain
 
| 

description
-----------
| 

query other gozerbots

| 

  the collective is a network of gozerbots connected by use of the bots 
  builtin webserver. nodes are urls pointing to these webservers .. this plugin
  provides the client side of the collective, to join the collective the
  webserver must be enabled and open for other connections (see WEBSERVER)
 

| 

commands
--------
| 


1) coll-disable

    disable the collective

    ::

        <user> !coll-disable
        <output> collective disabled

2) coll-enable

    enable the collective

    ::

        <user> !coll-enable
        <output> enabling collective

3) coll-boot

    sync collective list with provided host

    ::

        <user> !coll-boot
        <output> no new nodes added from http://gozerbot.org:8088

    ::

        <user> !coll-boot http://localhost:8888
        <output> no new nodes added from http://localhost:8888

4) coll

    coll <cmnd> .. execute command in the collective

    ::

        <user> !coll lq
        <output> [gozerbot.org:8088] #119 <aa_> fleet is the name opf
        <output>  a bowel preparation <aa_> which makes me giggle ||
        <output>  [ThinkInternet.nl:8088] [Errno socket error] (111,
        <output>  'Connection refused') || [hammer.stack.nl:8883] #4
        <output>  <test 2222222222222222222222222222222222222222222222222222222222222222222222222
        <output>  >

5) coll-add

    coll-add <name> <url> .. add a node to cache and persist it

    ::

        <user> !coll-add gozerbot http://gozerbot.org:8088
        <output> gozerbot added

6) coll-exec

    coll <nodename> <cmnd> .. execute command in the collective

    ::

        <user> !coll-exec gozerbot lq

7) coll-fullboot

    do a boot on every node in the collective list

    ::

        <user> !coll-fullboot
        <output> 4 nodes checked .. current 4 nodes in list

8) coll-getnode

    coll-getnode <name> .. get node of <name>

    ::

        <user> !coll-getnode gozerbot
        <output> name=gozerbot url=<http://gozerbot.org:8088> seen=Thu
        <output>  May 22 20:32:35 2008

9) coll-join

    join node with <name>

    ::

        <user> !coll-join gozerbot
        <output> none

10) coll-list

    list nodes cache

    ::

        <user> !coll-list
        <output> name=gozerbot url=<http://gozerbot.org:8088> seen=Thu
        <output>  May 22 20:32:41 2008 .. name=gozerbot.org:8088 url=<http://213.196.7.59:8088>
        <output>  seen=Thu May 22 20:32:41 2008 .. name=ThinkInternet.nl:8088
        <output>  url=<http://213.196.7.11:8088> seen=Thu May 22 20:32:41
        <output>  2008 .. name=hammer.stack.nl:8883 url=<http://131.155.140.153:8883>
        <output>  seen=Thu May 22 20:32:41 2008

11) coll-names

    show all node names

    ::

        <user> !coll-names
        <output> gozerbot .. gozerbot.org:8088 .. ThinkInternet.nl:8088
        <output>  .. hammer.stack.nl:8883

12) coll-ping

    ping a collective node

    ::

        <user> !coll-ping gozerbot
        <output> gozerbot is alive

13) coll-remove

    remove node with <name> from collective

    ::

        <user> !coll-remove gozerbot
        <output> gozerbot node removed

14) coll-sync

    coll-sync <url> .. sync with provided node

    ::

        <user> !coll-sync http://gozerbot.org:8088
        <output> 3 nodes added
