Giter Club home page Giter Club logo

bosnobot's Introduction

========
bosnobot
========

bosnobot is a Python IRC bot. It will pretty much do whatever you want it to
do. It is very easy to get up and running.

Dependancies
============

Like most software there will be some dependancy. bosnobot currently depends
on:

    * Python 2.5.1 (Could work with pre-2.5, but not tested.)
    * Twisted 2.4 (Twisted 2.4 ships with OS X 10.5, but I have also tested
      with 8.0.1.)

If you decide you want to use the built-in ``DatabaseLogger`` you will also
need:

    * SQLAlchemy 0.4.6

Installation
=============

To get bosnobot on your local machine you will need to grab a clone of it
from GitHub. To do this you should have git installed on your system. Once
that is installed you can execute::

    git clone git://github.com/brosner/bosnobot.git

This will create a new directory in your current working directory named
``bosnobot``. You will then need to get bosnobot on your PYTHONPATH::

    export PYTHONPATH=`pwd`/bosnobot

You are all set! In the future there will be a provided setup.py file that can
take care doing the installation into site-packages.

Configuration
=============

To get up and running you will need to have a settings file read to rock and
roll. This file is a Python script that sets up the configuration for the bot.

Currently this file must be set in an environment variable,
``BOSNOBOT_SETTINGS_MODULE``. Create the file ``bosnobot_settings.py``
somewhere on your ``PYTHONPATH``. Then you can execute::
    
    export BOSNOBOT_SETTINGS_MODULE=bosnobot_settings

BOT_NICKNAME
------------

Default: ``''`` (Empty string)

This will be the nickname that the bot uses to identify itself on the IRC
server.

BOT_PASSWORD
------------

Default: ``''`` (Empty string)

The password associated with the nickname to verify your identity on the IRC
server.

BOT_CHANNELS
------------

Default: ``()`` (Empty tuple)

A tuple of channels the bot should auto-join once connected to the server.
This could potentionally look like::

    BOT_CHANNELS = (
        "#django",
    )

BOT_IRC_SERVER
--------------

Default: ``''`` (Empty string)

The IRC server the bot should establish a connection.

BOT_IRC_PORT
------------

Default: ``6667``

The port on which ``BOT_IRC_SERVER`` listens on.

MESSAGE_HANDLERS
----------------

Default: ``()`` (Empty tuple)

A tuple of strings that indicate the Python class to use as a message handler.
bosnobot comes with a few message handlers. Let's say you want to log all
messages to a database, this would look like::

    MESSAGE_HANDLERS = (
        "bosnobot.message_handlers.database_logger.DatabaseLogger",
    )

Be sure to read the message handler documentation before running with scissors
with this setting. TODO: write that documentation.

Running the Bot
===============

To run the bot based on its installation above you can simply execute::

    python -m bosnobot

Need more help?
===============

You can give our mailing list a shot on Google Groups
(http://groups.google.com/group/bosnobot) or via e-mail
[email protected].

We also hang out on freenode (irc.freenode.org) on the #bosnobot channel.

Contributing
============

When others contribute to an open-source project it makes it that much better.
If you are so inclined to assist me with making bosnobot even better here is
the run down you need to know.

bosnobot is hosted on GitHub. This makes it painless to fork bosnobot for
development. Grab an account or just click the fork icon on GitHub. This will
create a copy of the repo for your own use. Then hop into a shell and type::

    git clone [email protected]:<your-user-name>/bosnobot.git

This will give you a local copy. Be sure to read git documentation if you have
never used it before. I am really telling you what GitHub is doing, so go check
out their documentation for more information.

Once you have done some super awesome patch you will want to notify brosner
that your work is done. You can issue a pull request. This documentation has
no idea how that works on GitHub. Maybe your first patch is fixing this file.

bosnobot's People

Contributors

brosner avatar chrishas35 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.