perl - 如何正确关闭 Bot::BasicBot 机器人(基于 POE::Component::IRC)?

标签 perl irc bots poe

这是一个示例脚本。当我按下 Ctrl+C 时,机器人退出了 IRC,但它会在一段时间后重新连接。如何正确关闭机器人?

#!/usr/bin/perl

package main;

my $bot = Perlbot->new (server => 'irc.dal.net');

$SIG{'INT'} = 'Handler';
$SIG{'TERM'} = 'Handler';

sub Handler {
print "\nShutting down bot...\n";
$bot->shutdown('Killed.');
};

$bot->run;

package Perlbot;
use base qw(Bot::BasicBot);

sub connected {
my $self = shift;
$self->join('#codetestchan');
}

最佳答案

我已经接管了 Bot::BasicBot 的维护工作,从 0.82 版开始,您可以使用 $bot->shutdown($quit_message) 正确关闭它。

关于perl - 如何正确关闭 Bot::BasicBot 机器人(基于 POE::Component::IRC)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2471373/

相关文章:

Perl CGI 产生意外的输出

perl - 是否可以使用 Dist::Zilla 的可选依赖项?

c - 处理我的 IRC 机器人的身份

irc - 使用 ExIrc (Elixir) 连接到多个 IRC 服务器?

Python IRC Bot,区分 channel 消息和私有(private)消息

regex - 用perl分割一个带有多个空格的字符串?

Perl - 从包中调用主命名空间的子例程

ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么?

c# - 如何在 OnTurnAsync 方法中处理来自 AdaptiveCard 的回发

.htaccess - 试图在 htaccess 中阻止点击轰炸机器人,但它仍然通过。我怎样才能永远阻止它?