Giter Site home page Giter Site logo

gseva / lalita Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pyar/lalita

0.0 3.0 0.0 4.97 MB

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

License: Other

Python 82.43% HTML 17.57%

lalita's Introduction

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 <configfile> <server>

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['<server name>']
# bot is a IrcBot instance
>>> bot.say('<channel>', '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

lalita's People

Contributors

elachuni avatar facundobatista avatar gseva avatar jjconti avatar joac avatar rbistolfi avatar ricardokirkner avatar styxman avatar verterok 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.