Adam

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

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 1.191 second using v1.01-cache-2.11-cpan-0b5f733616e )