Alfredo is a gtalk bot born so serve you.
Project description
Alfredo - Born to serve!
************************
Alfredo is a simple, extensible gtalk bot. It's capable of doing any kind of tasks, implemented as separated commands.
Here is a typical session: ::
you: inv some text
alfredo: called inv some text -> txet emos
Implementing a new command
**************************
Commands are implemented as Plugins (more at plugnplay <https://github.com/daltonmatos/plugnplay>). Just create a new class:
from alfredo import Plugin, ICommand
class SomeCommand(Plugin):
implements = [ICommand]
def help(self):
return ('short help', 'long help')
def name(self):
return 'mycommand'
def match_name(self, command):
return 'mycommand' == command
def run(self, user, *args)
# process some logic
return result
In this case we create a new command named 'mycommand'. If we send this message to alfredo:
mycommand p1 p2 p3
the ``run()`` method would be called like this: ``run('user@domain.com', 'p1', 'p2', 'p3')``. This method must return a string, that will be sent back to the original user.
How to use it
*************
To start talking to a running instance of alfredo just add ``alfredo@daltonmatos.com`` to your gtalk conacts list and you are done!
Or try out your own commands from the example code.
Dependencies
************
Alfredo's core components only needs:
* plugnplay - https://github.com/daltonmatos/plugnplay
* xmpppy - http://xmpppy.sourceforge.net/
The included commands needs:
* BeautifulSoup - http://www.crummy.com/software/BeautifulSoup/
* requests - https://github.com/kennethreitz/requests
* simplejson - http://code.google.com/p/simplejson/
You can even run the requirements file to get up your environment::
pip install -r requirements.txt
--
Dalton barreto
daltonmatos@gmail.com
************************
Alfredo is a simple, extensible gtalk bot. It's capable of doing any kind of tasks, implemented as separated commands.
Here is a typical session: ::
you: inv some text
alfredo: called inv some text -> txet emos
Implementing a new command
**************************
Commands are implemented as Plugins (more at plugnplay <https://github.com/daltonmatos/plugnplay>). Just create a new class:
from alfredo import Plugin, ICommand
class SomeCommand(Plugin):
implements = [ICommand]
def help(self):
return ('short help', 'long help')
def name(self):
return 'mycommand'
def match_name(self, command):
return 'mycommand' == command
def run(self, user, *args)
# process some logic
return result
In this case we create a new command named 'mycommand'. If we send this message to alfredo:
mycommand p1 p2 p3
the ``run()`` method would be called like this: ``run('user@domain.com', 'p1', 'p2', 'p3')``. This method must return a string, that will be sent back to the original user.
How to use it
*************
To start talking to a running instance of alfredo just add ``alfredo@daltonmatos.com`` to your gtalk conacts list and you are done!
Or try out your own commands from the example code.
Dependencies
************
Alfredo's core components only needs:
* plugnplay - https://github.com/daltonmatos/plugnplay
* xmpppy - http://xmpppy.sourceforge.net/
The included commands needs:
* BeautifulSoup - http://www.crummy.com/software/BeautifulSoup/
* requests - https://github.com/kennethreitz/requests
* simplejson - http://code.google.com/p/simplejson/
You can even run the requirements file to get up your environment::
pip install -r requirements.txt
--
Dalton barreto
daltonmatos@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
alfredo-0.2.tar.gz
(6.7 kB
view details)
File details
Details for the file alfredo-0.2.tar.gz
.
File metadata
- Download URL: alfredo-0.2.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 961f4a5223d7c263df3cb83f14025cc63269e30b1a315f3a277e8ad71b6c1287 |
|
MD5 | f2f7db84dd6737328da305dc9270c147 |
|
BLAKE2b-256 | 60cc1ad51749985f6a2c274c13a6e6d82533c21a117df56acfb65bc19160c57f |