Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The real bot. The best bot.
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib/eleventhbot
.gitignore
Gemfile
Gemfile.lock
README.md
eleventhbot.yml.example

README.md

EleventhBot

The real bot. The best bot.

Setup

First, fetch the dependencies.

bundle install

You can use Bundler's --without option to leave out dependencies of plugins you don't plan to use.

bundle install --without lastfm

Next, create a configuration file and edit accordingly.

cp eleventhbot.yml.example eleventhbot.yml

Details on available plugins and their configurations can be found in the section below.

Now that EleventhBot is configured, run it.

bin/eleventhbot

Plugins

Acronym

plugins:
  - acronym

acronym:
  words: /usr/share/dict/words

Commands: acronym

Suggests possible meanings of acronyms.

Admin

plugins:
  - admin

admin:
  masks:
    - '*!*example@example.com'
  eval: false # Enable the eval command. Do not enable this. Just don't.

Commands: say, action, nick, join, part, plugins, enable, disable, reload

Provides administrative commands.

Automeme

plugins:
  - automeme

Commands: meme, automeme

Uses the Automeme.net API to generate random memes.

Channels

plugins:
  - channels

channels:
  blacklist:
    plugin: ['#example'] # Plugin will not work in #example
  whitelist:
    plugin: ['#example'] # Plugin will only work in #example

Admin commands: blacklists, whitelists, blacklist, whitelist, unblacklist, unwhitelist

Disables plugins in certain channels.

Destiny

plugins:
  - destiny

Commands: destiny, coin, roll, draw

Flips coins, rolls dice, draws cards and chooses items randomly from lists.

Fedora

plugins:
  - fedora

Commands: pkgwat

Provides information about Fedora. e.g., package versions against releases.

Freebase

plugins:
  - freebase

freebase:
  key: 000000000000000000000000000000000000000

Commands: info

Retrieves information from Freebase. An API key is optional and can be obtained from Google APIs Console.

Github

plugins:
  - github

Commands: ghstatus

Gets Github Status information.

Help

plugins:
  - help

Commands: list, provides?, help

Provides access to help topics.

Ignore

plugins:
  - ignore

ignore:
  masks:
    - '*!*example@example.com'

Admin commands: ignores, ignore, unignore

Prevents users matching masks from using commands.

Karma

plugins:
  - redis
  - karma

Commands: karma

Keeps track of karma increased by "thing++" and decreased by "thing--".

Lastfm

plugins:
  - redis
  - lastfm

lastfm:
  token: 00000000000000000000000000000000
  secret: 00000000000000000000000000000000

Commands: assoc, assoc?, last, inform, first, compare, bestfriend, hipster, hipsterbattle, topartists, topalbums, toptracks

Fetches information from Last.fm. A Last.fm API account is required, and can be created here.

Network

plugins:
  - network

Commands: host, dns

Provides information about network-related things. e.g., DNS lookups.

Meep

plugins:
  - meep

Dummy plugin.

Memory

plugins:
  - memory

memory:
  lines: 5

Remembers recent messages for other plugins.

Rate Limit

plugins:
  - ratelimit

ratelimit:
  rate: 5
  time: 1 # seconds
  cooldown: 5

Limits the number of commands that can be run in a period of time.

Redis

plugins:
  - redis

redis:
  uri: redis://localhost:6379/0

Provides a connection to a Redis server to other plugins.

Sed

plugins:
  - memory
  - sed

Provides sed-like modification of previous lines using s/ma/re/ syntax.

Snarf

plugins:
  - snarf

snarf:
  timeout: 5 # seconds
  http:
    limits:
      redirects: 5
      stream: 512 # kilobytes
      title: 250 # characters
    useragent: 'Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0'
    shorten: 35 # URI length to shorten
  twitter: # Optional
    key: 000000000000000000000
    secret: 0000000000000000000000000000000000000000000

Retrieves titles for HTML links, reports dimensions of links to images, gives specialized output for GitHub repositories, and optionally retrieves tweet information and text for Twitter status links. A Twitter API key can be obtained from Twitter Developers.

Spell

plugins:
  - memory
  - spell

spell:
  checker: hunspell # hunspell or aspell
  language: en_US

Commands: spell

Uses Hunspell or Aspell to correct spelling. The selected checker and dictionary must be installed.

Translate

plugins:
  - translate

translate:
  bing_client_id: 0000000
  bing_client_secret: 00000000000000000000000000000000000000000000

Commands: trans, detect, langname

Translates between and detects languages using Bing's free API. You will need to follow the instructions here to get a Bing client ID and secret.

Weather

plugins:
  - weather

weather:
  forecastio:
    key: 00000000000000000000000000000000
  wunderground:
    key: 0000000000000000

Commands: weather

Retrieves weather conditions and forecasts from Wunderground and Forecast.io.

License

Copyright © 2013, Curtis McEnroe programble@gmail.com

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Something went wrong with that request. Please try again.