12 Commits
10 changed files with 82 additions and 29 deletions

No files matched your search

+2
View File
@@ -2,3 +2,5 @@ auto.conf
build/*
*.swp
autodoc/*
*.db
var/*
+6 -18
View File
@@ -11,30 +11,18 @@
The future of IRC bots is here! Xelhua gives to you, Auto 3.0, a new version of
the popular Auto IRC bot.
In this alpha8 release, we have added:
In this alpha9 release, we have added:
* A module to get information on a package in AUR (AUR).
* Support for installs to custom locations.
* Support for system-wide installs. (/usr or /usr/local)
* The `wizard` utility, for creating local Auto config directories.
* EightBall rewritten to be much nicer.
* A module to translate English into LOLCAT (LOLCAT).
* Command aliasing via aliases blocks in the config.
* Added optional uno:english and required uno:msg options. See documentation for UNO.
* Added fastest/slowest game, most cards and most players records to UNO.
None
Bug fixes:
* Fixed an issue in auto --help that incorrectly displayed the binary name.
* Fixed an exploit in QDB that allowed users to use services fantasy commands
with the bot's account.
* Fixed a bug in LinkTitle that caused multi-line <title>'s to display wrong.
* Fixed a bug in UNO that allowed users to join more than once.
* UNO: Fixed a formatting issue in duration.
* QDB: Fixed an exploit in QDB RAND.
Incompatibilities:
* UNO has a uno:msg config option. See documentation for UNO.
* Must be re-installed, run ./install [options]
None
We thank you for choosing Auto. Please remember that he is coming to late
development stages soon, and testers are needed! But we hope we've piqued
@@ -44,4 +32,4 @@ created by anyone and uploaded there for everyone to use.
Auto's goal is to create an efficient, stable and highly customizable IRC bot
in Perl. To offer an alternative to other platforms.
Enjoy Auto 3.0.0 Alpha 8!
Enjoy Auto 3.0.0 Alpha 9!
+2 -1
View File
@@ -38,7 +38,8 @@ Contributors - Non-developers who contribute to the project greatly.
3. HOW TO INSTALL
Installation documentation is at: http://wiki.xelhua.org/index.php/Auto:Install
Installation documentation is at:
http://wiki.xelhua.org/index.php/Auto:Installation_guide
4. HOW TO UPGRADE
+1 -1
View File
@@ -42,7 +42,7 @@ greatly.
## 3. HOW TO INSTALL
Installation documentation can be found [here](http://wiki.xelhua.org/index.php/Auto:Install).
Installation documentation can be found [here](http://wiki.xelhua.org/index.php/Auto:Installation_guide).
## 4. HOW TO UPGRADE
+45
View File
@@ -0,0 +1,45 @@
:: auto.bat - Launcher for Microsoft Windows.
:: Copyright (C) 2010-2011 Xelhua Development Group, et al.
:: Released under the terms stated in doc/LICENSE.
:: Clone of `auto`, since Windows likes Batch, not sh.
@echo off
set pidfile=bin/auto.pid
if "%1" == "" goto errparams
if "%1" == "start" goto start
if "%1" == "status" goto status
else goto errparams
:errparams
echo.
echo Usage: auto.bat (start|status) [force]
:end
:start
echo.
if exist "%pidfile" (
if "%2" == "force" (
echo Starting Auto. . .
perl bin/auto
)
else (
echo Auto appears to be running already. Run `auto.bat start force` to start anyway.
)
)
else (
echo Starting Auto. . .
perl bin/auto
)
:end
:status
echo.
if exist "%pidfile" (
echo Status: Auto appears to be running.
)
else (
echo Status: Auto appears to not be running.
)
:end
+5
View File
@@ -5,6 +5,11 @@ Auto IRC Bot 3.0: Change Log
===============================================================================
3.0 Alpha 9
===============================================================================
* Bug fix: Fixed an exploit in QDB RAND.
* UNO: Fixed a formatting issue in duration.
3.0 Alpha 8
===============================================================================
* Full support for custom PREFIX installs (including global installs) has
+1 -1
View File
@@ -25,7 +25,7 @@ sub mod_init {
if (keys %Auto::SOCKET) { API::Log::slog('MODULES: Attempting to load '.$name.' (version '.$version.') by '.$author.'...') }
# Check if this module is compatible with this version of Auto.
if ($autover !~ m/^3\.0\.0a(7|8)$/xsm) {
if ($autover !~ m/^3\.0\.0a(7|8|9)$/xsm) {
API::Log::dbug('MODULES: Failed to load '.$name.': Incompatible with your version of Auto.');
API::Log::alog('MODULES: Failed to load '.$name.': Incompatible with your version of Auto.');
if (keys %Auto::SOCKET) { API::Log::slog('MODULES: Failed to load '.$name.': Incompatible with your version of Auto.') }
+3 -3
View File
@@ -113,7 +113,7 @@ sub cmd_qdb
# Send it back.
privmsg($src->{svr}, $src->{chan}, "\002ID:\002 $data[0] - \002Submitted by\002 $data[1] \002on\002 ".POSIX::strftime('%F', localtime($data[2]))." \002at\002 ".POSIX::strftime('%I:%M %p', localtime($data[2])));
privmsg($src->{svr}, $src->{chan}, $data[3]);
privmsg($src->{svr}, $src->{chan}, '> '.$data[3]);
}
when ('SEARCH') {
# QDB SEARCH.
@@ -211,7 +211,7 @@ sub cmd_qdb
}
API::Std::mod_init('QDB', 'Xelhua', '1.03', '3.0.0a7', __PACKAGE__);
API::Std::mod_init('QDB', 'Xelhua', '1.04', '3.0.0a9', __PACKAGE__);
# build: perl=5.010000
__END__
@@ -222,7 +222,7 @@ QDB - Quote database module.
=head1 VERSION
1.03
1.04
=head1 SYNOPSIS
+9 -3
View File
@@ -653,6 +653,8 @@ sub cmd_uno {
while ($durtime >= 3600) { $hours++; $durtime -= 3600 }
while ($durtime >= 60) { $mins++; $durtime -= 60 }
while ($durtime >= 1) { $secs++; $durtime -= 1 }
if (length $mins < 2) { $mins = "0$mins" }
if (length $secs < 2) { $secs = "0$secs" }
$msg .= " The fastest game ever lasted \2$hours:$mins:$secs\2; the winner was \2$data->{fast}->{winner}\2.";
}
}
@@ -664,6 +666,8 @@ sub cmd_uno {
while ($durtime >= 3600) { $hours++; $durtime -= 3600 }
while ($durtime >= 60) { $mins++; $durtime -= 60 }
while ($durtime >= 1) { $secs++; $durtime -= 1 }
if (length $mins < 2) { $mins = "0$mins" }
if (length $secs < 2) { $secs = "0$secs" }
$msg .= " The slowest game ever lasted \2$hours:$mins:$secs\2; the winner was \2$data->{slow}->{winner}\2.";
}
}
@@ -1288,6 +1292,8 @@ sub _gameover {
while ($durtime >= 3600) { $hours++; $durtime -= 3600 }
while ($durtime >= 60) { $mins++; $durtime -= 60 }
while ($durtime >= 1) { $secs++; $durtime -= 1 }
if (length $mins < 2) { $mins = "0$mins" }
if (length $secs < 2) { $secs = "0$secs" }
privmsg($net, $chan, "Game lasted $hours:$mins:$secs; $UNOGCC cards were played.");
# Reset variables.
@@ -1438,7 +1444,7 @@ sub sendmsg {
}
# Start initialization.
API::Std::mod_init('UNO', 'Xelhua', '1.09', '3.0.0a8', __PACKAGE__);
API::Std::mod_init('UNO', 'Xelhua', '1.10', '3.0.0a9', __PACKAGE__);
# build: perl=5.010000
__END__
@@ -1449,7 +1455,7 @@ UNO - Three editions of the UNO card game
=head1 VERSION
1.09
1.10
=head1 SYNOPSIS
@@ -1499,7 +1505,7 @@ The commands this adds are:
All of which describe themselves quite well with just the name.
This module is compatible with Auto v3.0.0a8+.
This module is compatible with Auto v3.0.0a9+.
=head1 INSTALL
+8 -2
View File
@@ -200,8 +200,8 @@ sub cmd_uno {
# Check for at least two players.
if (keys %PLAYERS < 2) {
notice($src->{svr}, $src->{nick}, 'Two players are required to play.');
return;
# Not found, join the bot.
_botjoin();
}
# Deal the cards.
@@ -1166,6 +1166,12 @@ sub _delplyr {
return 1;
}
# Join the bot to a game.
sub _botjoin {
$PLAYERS{lc $src->{nick}} = [];
$NICKS{lc $src->{nick}} = $src->{nick};
}
# For when a player has won.
sub _gameover {
my ($player) = @_;