0

我有几个关于 Node、IRC 机器人和 Meteor 的问题。

我是一个开始处理 Twitch.TV 流媒体的游戏社区的一员,因此(由于我对编程的热爱)被要求编写一个自定义机器人来管理社区流媒体频道。

我的问题是:

1) 链接 IRC 机器人(将使用 Node.JS 中的 IRC 库编写)和基于 Web 的管理系统(将使用 Meteor 构建)的最佳方式是什么。

有人告诉我,我可以使用 MongoDB 实例(由 Meteor 使用)作为项目的两个“部分”之间的连接点,使用 DDP 或其他方式非常有意义。

对于数据传输,这似乎很好,但如果我希望能够使用界面实际控制机器人,例如允许用户通过他的控制面板控制其频道的加入/分离

2)我的另一个询问是关于机器人(节点)和能够检测新用户,以及在创建帐户时自动加入他们的频道的能力。我知道 Meteor 是反应式的,并且可以立即处理对 MongoDB 实例的更改,但不确定您是否可以使用常规 Node 来做到这一点,或者如果可以......这将是多么困难。

也许我应该放弃“自动”的事情,并让用户在登录新帐户后手动让机器人加入他们的频道,允许他们根据自己的喜好配置机器人(自定义命令等)。第一次使用。

提前感谢大家花时间阅读这篇信息中篇小说,非常感谢。

4

1 回答 1

0

使用 meteorite npm 包,您可以轻松地将 npm 包集成到您的流星应用程序中。

因此,创建 irc 机器人的最佳方法是在您的流星应用程序中集成一个预先存在的 irc 客户端 npm 包,例如https://www.npmjs.org/package/irc 。

然后创建一个服务器端类来包装您需要的功能。我将使用上面提到的 npm irc 包作为我的高级示例。这个包是基于事件的,所以如果你在你的流星应用程序中编织它,你可以做一些很酷的事情。

例子

var irc = require('irc');
var client = new irc.Client('irc.dollyfish.net.nz', 'myNick',    
{
     channels: ['#blah'],
 });
client.addListener('pm', function (from, message)      
    var action = messageCollection.findOne({message:message});
    //Do stuff based on action...
  });
于 2014-05-26T18:59:32.050 回答