All Projects → woodruffw → yossarian-bot

woodruffw / yossarian-bot

Licence: other
An IRC bot with a bunch of features.

Programming Languages

ruby
36898 projects - #4 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to yossarian-bot

energymech
EnergyMech IRC Bot
Stars: ✭ 24 (-20%)
Mutual labels:  irc-bot
calculon
Library for writing IRC bots in OCaml, a collection of plugins, and a dramatic robotic actor.
Stars: ✭ 26 (-13.33%)
Mutual labels:  irc-bot
Limnoria
A robust, full-featured, and user/programmer-friendly Python IRC bot, with many existing plugins. Successor of the well-known Supybot.
Stars: ✭ 578 (+1826.67%)
Mutual labels:  irc-bot
wgmeeting-github-ircbot
IRC bot to make github comments with relevant sections of Working Group Meeting IRC minutes. Running as @css-meeting-bot.
Stars: ✭ 13 (-56.67%)
Mutual labels:  irc-bot
lita-irc
An IRC adapter for Lita.
Stars: ✭ 19 (-36.67%)
Mutual labels:  irc-bot
irc-bot
A simple and modular PHP IRC bot
Stars: ✭ 82 (+173.33%)
Mutual labels:  irc-bot
honeybot
🛩 A python IRC bot with simple plugins dev. Ignited in mauritius, first-timers friendly! Moved to github.com/pyhoneybot/honeybot
Stars: ✭ 57 (+90%)
Mutual labels:  irc-bot
cappuccino
Just another IRC bot.
Stars: ✭ 13 (-56.67%)
Mutual labels:  irc-bot
TwitchBot
Custom C# chat bot for Twitch TV
Stars: ✭ 33 (+10%)
Mutual labels:  irc-bot
phenny
My fork of phenny lives on at https://github.com/vtluug/phenny. This tree is now unmaintained.
Stars: ✭ 15 (-50%)
Mutual labels:  irc-bot
irc.dart
Dart IRC Library
Stars: ✭ 45 (+50%)
Mutual labels:  irc-bot
yesbot
IRC Bot Written in Prolog
Stars: ✭ 19 (-36.67%)
Mutual labels:  irc-bot
HackServ
Python 3 IRC Bot / Botnet
Stars: ✭ 28 (-6.67%)
Mutual labels:  irc-bot
teleirc
Go implementation of a Telegram <=> IRC bridge for use with any IRC channel and Telegram group
Stars: ✭ 112 (+273.33%)
Mutual labels:  irc-bot
TimTheWordWarBot
Timmy - The NaNoWriMo Wordwar Bot
Stars: ✭ 14 (-53.33%)
Mutual labels:  irc-bot
CloudBot
CloudBot - The simple, fast, expandable, open-source Python IRC Bot!
Stars: ✭ 57 (+90%)
Mutual labels:  irc-bot
alice
Alice Margatroid, a dollmaster that pretends not to be a doll itself.
Stars: ✭ 14 (-53.33%)
Mutual labels:  irc-bot
TwitchPy
This is a package you can use to connect with the Twitch API, manage a channel, create bots, etc
Stars: ✭ 22 (-26.67%)
Mutual labels:  irc-bot
irc-rss-feed-bot
Dockerized IRC bot to post RSS/Atom and scraped HTML/JSON/CSV feeds to channels
Stars: ✭ 24 (-20%)
Mutual labels:  irc-bot
CloudBot
CloudBot - The simple, fast, expandable, open-source Python IRC Bot!
Stars: ✭ 69 (+130%)
Mutual labels:  irc-bot

yossarian-bot

license

An entertaining IRC bot that's easy to extend.

Features:

  • Simple real-time administration.
  • Unix fortunes (fortune must be present)
  • Catch-22 quotes
  • UrbanDictionary queries
  • Wolfram|Alpha queries
  • Smart weather queries (Wunderground)
  • Google searches
  • YouTube searches
  • ROT13 message "encryption"
  • Magic 8 Ball queries
  • Dictionary queries (Merriam-Webster)
  • Cleverbot discussions
  • Channel 'seen' log
  • Link compression (TinyURL)
  • ...and much more!

Installation

First, clone the repo and install yossarian-bot's dependencies:

$ git clone https://github.com/woodruffw/yossarian-bot
$ cd yossarian-bot
$ bundle install

If you get errors during the bundle installation process, make sure that you're using Ruby 2.7 and have Ruby's development headers installed. You may need them from your package manager. Earlier versions of Ruby might work, but are not guaranteed or tested.

yossarian-bot also requires API keys for several services. Make sure that they are exported to the environment (or set in the configuration) as follows:

  • Wolfram|Alpha - WOLFRAM_ALPHA_APPID_KEY
  • Weather Underground - WUNDERGROUND_API_KEY
  • WeatherStack - WEATHERSTACK_API_KEY
  • Merriam-Webster - MERRIAM_WEBSTER_API_KEY
  • YouTube (v3) - YOUTUBE_API_KEY
  • Last.fm - LASTFM_API_KEY, LASTFM_API_SECRET
  • Open Exchange Rates - OEX_API_KEY
  • Giphy - GIPHY_API_KEY
  • BreweryDB - BREWERYDB_API_KEY
  • AirQuality - AIRNOW_API_KEY
  • OMDB - OMDB_API_KEY

Additionally, the fortune utility must be present in order for Unix fortunes to work correctly. Some package managers also provide the fortunes, fortunes-off, and fortunes-bofh-excuses packages for additional fortune messages.

Running

Once all dependencies are installed, yossarian-bot can be run as follows:

$ ruby bot-control.rb start
$ # OR:
$ ruby yossarian-bot.rb # not run in background

Using Docker

docker build -t yossarian-bot:latest .
docker run -v $PWD/config.yml:/config.yml yossarian-bot

Using the bot

Configuration Options

yossarian-bot is configured via a YAML file named config.yml.

Look at the example config.yml to see a list of optional and required keys.

Commands

There are a bunch of commands that yossarian-bot accepts. You can see a complete list in the COMMANDS file.

Matches

yossarian-bot matches all HTTP[S] links and messages the title of the linked HTML page. This feature can be disabled by adding LinkTitling to the server's disabled_plugins array in config.yml.

Messages of the form s/(.+)/(.+) are also matched, and the first pattern matched is applied to the user's last previous message, with the second match replacing it. For example, a typo like "this is a setnence" can be corrected with s/setnence/sentence. This feature can be disabled by adding RegexReplace to the server's disabled_plugins array in config.yml.

Contributing

Contributions to yossarian-bot are welcomed and appreciated.

If you're writing a plugin, check out the quick style guide to writing plugins for yossarian-bot.

If you'd like to contribute but don't have any contributions in mind, check out the open issues. They're regularly updated with things that can be fixed, improved, and added.

License

yossarian-bot is licensed under a restricted modification of the MIT license.

For the exact terms, see the license file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].