NAME

Bot::Backbone::Service::OFun - A set of Bot::Backbone services optimized for fun

VERSION

version 0.142230

SYNOPSIS

service code_name => (
    service         => 'OFun::CodeName',
    adjectives_file => 'adjectives.txt',
    nouns_file      => 'nouns.txt',
    db_dsn          => "dbi:SQLite:codename.db",
);

service dice => (
    service => 'OFun::Dice',
);

service insult => (
    service  => 'OFun::Insult',
);

service "karma" => (
    service     => 'OFun::Karma',
    db_dsn      => "dbi:SQLite:karma.db",
);

service "hailo" => (
    service    => 'OFun::Hailo',
    brain_file => "hailo.db",
);

dispatcher "chatroom" => as {
    redispatch_to 'code_name';
    redispatch_to 'dice';
    redispatch_to 'insult';
    redispatch_to 'karma';
    redispatch_to 'hailo';
};

DESCRIPTION

This is a collection of modules designed for use with Bot::Backbone to help make it easy to create bot with various fun features. Many of these services require additional input files or configuration and may also require a database for persistent storage of information. As much as possible, I've tried to implement these in a standardish way.

In the case of persistent storage, I had to choose something, so I chose DBI, which is made avaialble through the Bot::Backbone::Service::Role::Storage.

Here's a list of the included services and what they each do:

  • Bot::Backbone::Service::OFun::CodeName. This is a service that gives you a !codename command that will generate a code name for a word or phrase, which can be a fun way of assigning secret names to your project. It requires storage to save the code names as they are assigned and a couple of word lists.

  • Bot::Backbone::Service::OFun::Dice. This is a very simple service that provides a few commands related to picking numbers at random. The <!roll> command will roll a set of dice according to standard dice notation. The !flip command will flip a coin. The !choose command can choose items from a list. The !shuffle command takes a list and shuffles it to display again.

  • Bot::Backbone::Service::OFun::Hailo. This is a conversation generator. If someone addresses the bot directly, the bot will respond using Hailo. This will save the markov chains learned and used to generate the conversation in a SQLite database.

  • Bot::Backbone::Service::OFun::Insult. This provides a !insult command based upon the Acme::Whoresone::Scurvy::Bilgerat insult generator.

  • Bot::Backbone::Service::OFun::Karma. This provides a karma/score tracker. Any time someone uses a ++ or -- notation on a word or phrase, that word or phrase will have a score recorded. You can then see the list of highest and lowest scores or score for a specific item with the !score command. This requires some storage to track the scores.

CAVEATS

This release also include Bot::Backbone::Service::Role::Storage, which does not belong here. It will likely be moved into a seperate distribution in the future.

AUTHOR

Andrew Sterling Hanenkamp <hanenkamp@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Qubling Software LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.