【问题标题】:i want display result from CMD to IRC我想从 CMD 显示结果到 IRC
【发布时间】:2011-11-16 08:03:55
【问题描述】:

我想用 Perl 从 CMD 显示结果到 IRC

示例(来自 IRC 的输入命令):

!cmd dir C:\

结果(显示到 IRC):

Volume in drive C has no label.
11/11/2011  00:00 AM    <DIR>   Program file
11/11/2011  00:00 AM    <DIR>   aaa.txt
11/11/2011  00:00 AM    <DIR>   bbb.exe

【问题讨论】:

  • 您在这方面有什么问题吗? Stack Overflow 不是“请为我编写程序”的网站。
  • 作为 IRC 客户端扩展?作为机器人?作为 IRC 服务器的扩展?
  • 此代码用于我的 irc 机器人 `pastebin.com/TydVxz0x ` ` @result=qx($cmd); foreach(@result){ 打印 $connect "PRIVMSG ",$channel," :@result\r\n"; } ` 此代码无法显示所有结果,但显示此“驱动器 C 中的卷没有标签。”

标签: perl command cmd irc


【解决方案1】:

您可以使用AnyEvent::IRCPOE::Component::IRC 或它们的子类/descadents 来做到这一点。

这两个包都有很好的文档记录,但准备实现基本的操作和事件:

  1. 连接到服务器
  2. 加入频道
  3. 处理频道中的所有消息(或私人消息)并回复您的结果。

【讨论】:

  • 特别是 Bot::BasicBot::Pluggable 很好
  • Bot::BasicBot::Pluggable 也基于POE::Component::IRC,但我认为它对于此类类似任务有太多依赖。 DBI?电脑动画? XML::饲料?只是为了连接 IRC 并发送命令输出?
  • 我假设问题是如何监听命令,在客户端运行它,并将结果放入通道中。那更难。如果只是向 IRC 管道传输东西,我会从 sirc 开始。
  • @ysth 我假设您的意思是“在 IRC 上的频道/人员中收听命令”。如果是这样,您描述的功能的基本原型应该适合 150-200 LOC 和 1H 非常懒惰的将代码示例复制粘贴到文本编辑器中。但我可能会误解你。
  • 是的,我就是这个意思。相比之下,一个 B::BB::P 模块大约有十几行,其中大部分是 package/sub/var 声明
猜你喜欢
  • 2019-02-10
  • 2017-03-04
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 2021-05-26
相关资源
最近更新 更多