Perl 和 IRC:定期向频道发送消息
Posted
技术标签:
【中文标题】Perl 和 IRC:定期向频道发送消息【英文标题】:Perl and IRC: Periodically send a message to a channel 【发布时间】:2012-02-12 01:10:13 【问题描述】:我正在制作一个 Perl IRC 机器人,我想定期向频道发送消息。我正在使用POE::Component::IRC,但据我所知,没有方法或事件处理这个。
有没有办法做到这一点?
【问题讨论】:
privmsg
命令 (search.cpan.org/dist/POE-Component-IRC/lib/POE/Component/…) 不就是这样做的吗? (尽管名称中有“priv”,但它被记录为发送“公共或私人消息”。)
是的,但需要在事件处理程序之一中调用它。例如 irc_public(在创建 POE 会话时加载)。
你是说找不到POE创建定时器的方法?
Lasse,我创建了一个强大的解决方案,但放在这里太多了。你想让我把它放在馅饼上吗?
【参考方案1】:
您可以使用 POE::Kernel 的 delay
例程来像一次性计时器一样一遍又一遍地调用自己。
基本上,您有一个名为my_event
的事件处理程序。在my_event
中,您将PRIVMSG 发送到通道。然后,您使用通过 POE 继承的 delay
例程调用同一事件处理程序 my_event
。
见:POE: Cookbook - Recurring Alarms
【讨论】:
以上是关于Perl 和 IRC:定期向频道发送消息的主要内容,如果未能解决你的问题,请参考以下文章