Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pyar/lalita

Yet another IRC bot, one where new functionality is simple to create by just adding easy-to-write plugins.
https://github.com/pyar/lalita

Last synced: about 1 month ago
JSON representation

Yet another IRC bot, one where new functionality is simple to create by just adding easy-to-write plugins.

Awesome Lists containing this project

README

        

==============================
Welcome to the lalita project!
==============================

lalita is yet another IRC bot, one where new functionality is simple to
create just adding easy-to-write plugins.

lalita is written with some goals in mind:

- Twisted! (we don't like threads)

- Pluggable: easy to implement new functionalities

- Have fun: yes, it's Python

All the code in lalita is licensed under GNU GPL v3. See LICENSE.txt for
further info.

The project page is::

https://edge.launchpad.net/lalita

To run the bot, create a config file (you can use the sample lalita.cfg.sample)
as a guideline, and run::

ircbot.py -c

There're a lot of test cases! You can try them running "nosetests" (you
need to have Nose installed).

To create a plugin, check the plugins/example.py one, and use it as a start.

We don't have a mail list for the project, but you can check in #pyar on
Freenode, most of developers are around there.

Enjoy it!

Manhole
=======

The --manhole[-*] options enable a manhole ssh server the provides an
interactive interpreter to poke the bot instance(s).

Example:

Start the bot with "--manhole" option::

$ python ircbot.py --manhole

From another terminal, connect to the machine where the bot is running,
port 2222::

$ ssh admin@localhost -p 2222
admin@localhost's password: admin

This will drop you in a python shell::

>>> bot = servers['']
# bot is a IrcBot instance
>>> bot.say('', 'something')

WARNING: this is a potential security hole if the port 2222 (or the one you
configure with --manhole-port) is accesible from internet or other machines.

How to run lalita without installing
====================================

From the top-level directory run::

PYTHONPATH=. python lalita/ircbot.py

For example, setting logs in debug mode, pointing to the sample
configuration, and choosing a server in localhost::

PYTHONPATH=. python lalita/ircbot.py -o DEBUG lalita.cfg.sample localhost

How To do a source release
--------------------------

* edit setup.py and increment the version number.
* 'python setup.py sdist'
* look at the contents of the tarball created in dist/ to be sure they are ok
* step into the dist directory for the following commands
* sign the tarball by a command like:
gpg -a --detach-sign lalita-VERSION.tar.gz
this should create a file like lalita-VERSION.tar.gz.asc
* Upload the new release to launchpad with a command like:
lp-project-upload lalita VERSION lalita-VERSION.tar.gz
* Announce the release, ping someone to build updated packages for the PPA and Ubuntu.

How To do a PPA release
-----------------------

* "dch -e" and touch the version for lucid
* debuild -S -sa
* go to parent directory where you find the .changes
* dput ppa:laliputienses/lalita-ppa lalita_VERSION_source.changes

** repeat this procedure for every Ubuntu version you want the PPA