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.