The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/env perl
package EchoBot;
use v5.10;
use Bot::Backbone;

my $debug = 1;

if ($debug == 1) {
    service chat_bot => (
        service    => 'ConsoleChat',
        dispatcher => 'default',
    );
}
else {
    service chat_bot => (
        service    => 'JabberChat',
        dispatcher => 'default',
        username   => 'echo',
        domain     => 'example.com',
        resource   => 'echobot',
        password   => 'secret',
        host       => 'talk.google.com',
        connection_args => {
            disable_iq_auth => 1,
        },
    );
}

dispatcher default => as {
    command '!echo' => given_parameters { 
        parameter echo_this => ( match => qr/.+/ );
    } respond {
        my ($chat, $message) = @_;
        $message->parameters->{echo_this};
    };
};

my $bot = EchoBot->new;
$bot->run;