memery / memery-legacy

memery is a fault tolerant IRC bot written in Python. It was created by nycz initially to crack inside jokes, but it has evolved through a few complete rewrites into more of a joke-slash-utility bot. This version is in dire need of some kind of rewrite. (Rewrite is on its way in memery/leczair, but this is still somewhat supported/used.)
0 stars 0 forks source link

memery

The third incarnation of the infamous ircbot. Not with less ugly pos code!

Written in Python 3, not compatible with Python 2.

Usage

memery is very dynamic and almost everything can be done without losing the IRC connection. For administration there are several commands available.

Administrator commands

The administrator commands can only be executed by someone who matches any regex in the adminlist configuration file (further details in the section about config files.)

All administrator commands share the same syntax:

The different administrator commands are as follows.

Config files

memery uses three configuration files.

config

This is the base configuration file which memery needs to run; memery will refuse to start without this file. The file is written in JSON and an example is provided in the repo. Rename config.example to just config and edit the values however you wish to get started quickly.

The values in config are as explained:

irc:

behaviour:

plugins:

adminlist

This file contains regexes of everyone that should be able to reload, kill, or otherwise violently violate memery at their will. The regexes are standard python regular expressions, run on the whole name including hostname. (Eg. name!~nick@host.name.net)

Any empty lines or lines starting with # will be considered whitespace and ignored.

This file is not cached and changes you make to it will be apparent immediately.

userblacklist

Identical to the adminlist file, except the users here will not be able to interact with memery in any way whatsoever (unless they for some odd reason would be on the adminlist – that overrides this file).

This file is not cached and changes you make to it will be apparent immediately.

Licensing

All python code (except plugins, see separate copyright notice in the plugin directory) is licensed under the following three-clause BSD license and copyrighted to their respective authors:

Copyright (c) 2012, nycz, kqr
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * The names of the authors must not be used to endorse or promote
      products derived from this software without specific prior written
      permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.