This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
ameliabot
=========

A flexible ircbot written on top of untwisted framework.

Features
========

- **Interface with WollframAlpha**

- **Run python, c, c++, D, haskell, lua, ocalml, PHP, perl, ruby, scheme, tcl code inline or multiline way**

- **Share files with friends on irc**

- **A translator plugin**

- **A real time translator plugin**

- **Quick searches on google**

- **Url tittle extraction**

- **Database with tons of philosophical quotes**

- **Pipe channel messages to other channels**

- **A note system to leave msgs to friends**

- **A last seen plugin**

- **A nifty help system**

- **A neat plugin API**


Install
=======

**Note:**
Ameliabot demands python2.

~~~
pip install untwisted
pip install ehp
pip install libpad
pip install gsearch
pip install libdict
pip install wolframalpha
pip install ameliabot
~~~

Usage
=====

The command below should be issued after the installation.

~~~
amelia --init
~~~

It will create the following dir/files.

~~~
~/.amelia/
ameliarc

~~~

The file named ameliarc is ameliabot setup file. It is needed to set up
some config options in that file before running ameliabot.

**~/.amelia/ameliarc**

~~~python
from ameliabot.core import connect
##############################################################################
import sys

# You can place your plugins at ~/.amelia # To use them inside this file just do.
# import plugin_package_name or import plugin_name

from os.path import expanduser, join
sys.path.append(join(expanduser('~'), '.amelia'))
##############################################################################
# The plugin imports.

# from ameliabot.plugins import join
# from ameliabot.plugins import spam
from ameliabot.plugins import logmsg
from ameliabot.plugins import quick_search
from ameliabot.plugins import tell
from ameliabot.plugins import troll
from ameliabot.plugins import calc
from ameliabot.plugins import url_title
from ameliabot.plugins import codebox
from ameliabot.plugins import codenv
from ameliabot.plugins import note
from ameliabot.plugins import pipe
from ameliabot.plugins import seen
from ameliabot.plugins import keep_alive
from ameliabot.plugins import ircadm
from ameliabot.plugins import help
from ameliabot.plugins.quote import quote
from ameliabot.plugins import booklist
from ameliabot.plugins import dcc_send
from ameliabot.plugins import dcc_get
from ameliabot.plugins import translator
from ameliabot.plugins import polyglot
from ameliabot.plugins import lichess


##############################################################################

# Define the set of plugins that will be available.
# You can define a different scheme for each server.

def PLUGIN_SCHEME(server):
"""
These are all ameliabot built in plugins.
You can have more than one scheme for irc networks.

Just implement new PLUGIN_SCHEME functions then pass it as argument
to connect function.
"""

# join.install(server)
# spam.install(server, db=['Ameliabot rocks', 'Use ameliabot'], excpt=['#freenode'])
# logmsg.LogMsg(server, '/home/tau')

quick_search.install(server)
tell.install(server)
troll.install(server, 'aehiou', 4, 16)
calc.install(server, '4WERXG-VAGETKREGX')
url_title.install(server)
codebox.install(server)
codenv.install(server, 'python', '#py', '#end')
codenv.install(server, 'c', '@c', '@end')
note.install(server)
pipe.install(server)
seen.install(server)
keep_alive.install(server)
ircadm.install(server)
help.install(server)
quote.install(server)
translator.install(server)
polyglot.install(server)
lichess.install(server)

# Used to share files, set the correct folder where the files would be in.
# booklist.BookList(server, '/home/tau/ircshare')
# dcc_send.install(server, '/home/tau/ircshare')
# dcc_get.install(server, '/home/tau/ircshare')

##############################################################################
# The channel where the bot will stay when at freenode.
FREENODE_CHANNEL_SCHEME = ['#ameliabot', '#vy']

##############################################################################
# It tells the bot to connect to freenode then use the plugins
# that we have defined in PLUGIN_SCHEME handle.
# It will join the channels #ameliabot, #vy and ##calculus at irc.freenode.org
server = connect('irc.freenode.org', 6667,
'ameliabot',
'untwistedbot euler euler :Ameliabot',
'PRIVMSG nickserv :IDENTIFY nick_passwd',
'bot_passwd', FREENODE_CHANNEL_SCHEME, PLUGIN_SCHEME)

##############################################################################

# It is possible to have more than one connection per bot process.
# For such just calls connect as many times as needed.
# VIRTUALIFE_CHANNEL_SCHEME = ['#oldcine']
##############################################################################

# server = connect('irc.virtualife.com.br', 6667,
# 'ameliabot',
# 'untwistedbot euler euler :Ameliabot',
# 'NickServ IDENTIFY nick_passwd',
# 'bot_passwd', VIRTUALIFE_CHANNEL_SCHEME, PLUGIN_SCHEME)








~~~

After setting up the irc network, irc channels, nick, nick password then it is possible
to run the bot with the following command.

~~~
amelia --run
~~~

Video
=====

This video shows ameliabot features as well as explaining how to set up the bot config file.

https://www.youtube.com/watch?v=JpjOOPX0s6o

Getting Help
============

The following ircbot commands to obtain help work on private message system.

~~~
Commands
========

Command: @plugins
Description: Print a list of available plugins.

Command: @doc plugin
Description: Print the docs for the given plugin.

~~~

**Example**

~~~
<tau>@plugins
<ameliabot> calc codebox codenv help ircadm ircshare join keep_alive logmsg note pipe polyglot quick_search quote seen spam tell translator troll url_title
<tau>@doc seen
<ameliabot>Overview
<ameliabot>========
<ameliabot>Used to check last time a peer was seen online.
<ameliabot>Commands
<ameliabot>========
<ameliabot>Command: @seen peer
<ameliabot>Description: Show how long a nick has been inactive.
~~~

Documentation
=============

[MANUAL.md](MANUAL.md)


Support
=======

#### Freenode

**Network:** irc.freenode.org

**Channel:** #untwisted





Release History

Release History

1.2.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.0.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
ameliabot-1.2.0.tar.gz (1.1 MB) Copy SHA256 Checksum SHA256 Source Jul 23, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting