Adam
view release on metacpan or search on metacpan
Revision history for Adam
1.003 2026-03-11 02:08:02Z
+ Administrative update to cleanup the provides for CPAN
1.002 2026-03-08 05:06:55Z
+ Updated POD: Adam and Moses now document IO::Async support and dual event loop modes
+ ai-bot example: multi-channel support with per-channel message buffers
+ ai-bot example: SYSTEM_PROMPT env var for custom system prompt additions
+ ai-bot example: error messages only shown in main channel
+ ai-bot example: typing delay now happens BEFORE each line for more human-like output
+ ai-bot example: info-level logging for all incoming IRC events (public, join, part, quit, PM) with channel/source
+ Default logger now includes timestamps in [YYYY-MM-DD HH:MM:SS] [level] format
+ Fixed stray =cut in Adam.pm that hid async() and stop() methods from compilation
+ Fixed logger timestamps: log_dispatch_conf callback instead of around log
1.001 2026-03-07 19:44:57Z
1.000 2026-03-07 03:12:40Z
ex/ai-bot.pl view on Meta::CPAN
# API_KEY=gsk_... API key (or LANGERTHA_<ENGINE>_API_KEY)
# IRC_SERVER=irc.perl.org IRC server (default: irc.perl.org)
# IRC_NICKNAME=Bert Bot nickname (default: random from a fun list)
# OWNER=Getty Bot owner name for personality (default: $USER)
# IRC_CHANNELS=#ai Channels to join
# DB_FILE=ai-bot.db SQLite database path
# MAX_LINE_LENGTH=400 Max IRC line length (default: 400)
# BUFFER_DELAY=1.5 Seconds to buffer messages before processing (default: 1.5)
# LINE_DELAY=1.5 Delay between outgoing IRC lines (default: 1.5)
# IDLE_PING=1800 Seconds of silence before idle ping (default: 1800)
# SYSTEM_PROMPT=... Additional text appended to the system prompt
use strict;
use warnings;
my @BOT_NAMES = qw(
Botsworth Clanky Sparky Fizz Gizmo Pixel Blip Rusty Ziggy Turbo
Sprocket Widget Noodle Bleep Chomp Dingle Wobble Clunk Zippy Quirk
);
my $BOT_NICK = $ENV{IRC_NICKNAME} || $BOT_NAMES[rand @BOT_NAMES] . int(rand(999));
my $OWNER = $ENV{OWNER} || $ENV{USER} || 'unknown';
( run in 0.648 second using v1.01-cache-2.11-cpan-6aa56a78535 )