NAME
IRC::Bot::Hangman - An IRC hangman
SYNOPSIS
use IRC::Bot::Hangman;
IRC::Bot::Hangman->new(
channels => [ '#hangman' ],
nick => 'hangman',
server => 'irc.blablablablah.bla',
word_list_name => 'too_easy',
games => 3,
)->run;
print "Finished\n";
COMMANDS
<letter>? : guess a letter
guess <letter> : guess a letter
guess <word> : guess an entire word
<hangman> help - help instructions
<hangman> play : Start a new game or display current game
<hangman> quiet : keep quiet between guesses
<hangman> talk : Talk between guesses
DESCRIPTION
This module provides a useless IRC bot which enables you to play hangman, the classic word game. It comes shipped with a list of ~2000 english words by default. The architecture is plugin based, words, commands and responses can be extended at will by adding new modules.
The main motivation was to provide a multi-player text based game for children to help them practising writing.
PLUGINS
The plugins are managed by
IRC::Bot::Hangman::WordList
IRC::Bot::Hangman::Command
IRC::Bot::Hangman::Response
METHODS
word_list( $list )
Get or set the word list as an array ref. A default word list of ~2000 english words is provided if no list is set.
load_word_list( name )
Returns a default english words list from IRC::Bot::Hangman::WordList
word_list_name( $name )
Get or set the word list name. It must be an installed module in IRC::Bot::Hangman::WordList::xxx The default provided is 'default' = IRC::Bot::Hangman::WordList::Default
games( integer )
Get or set the number of games before ending. undef means infinity.
game( $game )
Get or set the hangman game. The default value is a Games::GuessWord instance with word_list() word list.
new_game()
Reset the game
replay()
Reset the game unless it is the last game as counted by games()
can_talk()
Get set can_talk
, used by tick
to display reminders.
load_game()
Returns a Games::GuessWord instance
msg_guess()
Displays the word to guess
get_delay()
Returns a random time calculated: delay() * (1 + rand(4)) seconds
delay()
Get set base delay in seconds. Default is 30s.
input()
Get/set input
response()
Get/set response
set_response( type )
Sets the response from a response type
get_a_msg( type )
Returns a msg of a given type
guess_word( word )
Guess a word : success or one chance less
guess_letter( letter )
Guess a letter : match or one chance less
conclusion()
Displays an end of game message : sucess or lost
give_advice( guess )
Bot::BasicBot METHODS
These are the Bot::BasicBot overriden methods
said( $args )
This is the main method, everything said is analysed to provide a reply if appropriate
help()
Displays help when called hangman help
tick()
Called every now and then to display a reminder if the game is active and can_talk
is on.
SEE ALSO
AUTHOR
Pierre Denis <pierre@itrelease.net>
http://www.itrelease.net/
COPYRIGHT
Copyright 2005 IT Release Ltd - All Rights Reserved.
This module is released under the same license as Perl itself.