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:定期向频道发送消息的主要内容,如果未能解决你的问题,请参考以下文章

我可以在不加入 IRC 频道的情况下向它发送消息吗?

使用 python irc 库定期执行任务

如何标记 IRC 频道的所有成员

以编程方式发送 IRC 命令

如何在 IRC 服务器中发送消息聊天?

Discord py 向频道发送消息