irc-message, 高性能,流式IRC消息分析器

分享于 

3分钟阅读

GitHub

  繁體 雙語
A blazing fast JavaScript parser for IRC messages.
  • 源代码名称:irc-message
  • 源代码网址:http://www.github.com/sigkell/irc-message
  • irc-message源代码文档
  • irc-message源代码下载
  • Git URL:
    git://www.github.com/sigkell/irc-message.git
    Git Clone代码到本地:
    git clone http://www.github.com/sigkell/irc-message
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/sigkell/irc-message
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    irc消息 Build Status

    高性能,流式IRC消息分析器

    IRC消息提供了解析 RFC1459-compliant IRC消息的对象流,并支持 IRCv3消息标记。 这也包括server-to-server协议,如 TS6.生成树和UnrealIRCd协议。

    安装

    
    npm install irc-message
    
    
    
    

    用法

    createStream(options)

    返回对象流,采用 Buffer/String 原始数据的原始数据。 数据不应是行缓冲,这里流自动处理拆分和缓冲。 按下包含下列键的对象。

    • raw - 未解析的IRC消息( 字符串)
    • tags - IRCv3消息标记
    • prefix - 消息前缀/源
    • command - 消息命令/谓词
    • params - 中间参数和尾部参数的array

    可选的options 对象支持

    • parsePrefix 用一个由 irc-prefix-parser的对象替换前缀。 默认为 false
    • 如果消息具有非零时间标记,则将它的转换为一个 JavaScript Date 对象( 参见 服务器时间规范for参考)。 默认为 false
    var net =require('net')var ircMsg =require('irc-message')net.connect(6667, 'irc.freenode.net')
    . pipe(ircMsg.createStream())
    . on('data', function(message) {
     console.log(message)
     })

    parse(data)

    你还可以直接访问消息分析器。 分析器函数需要一个不带任何CRLF序列的字符串。 如果字符串格式不正确,则返回 null。 否则,将返回一个表示消息的对象( 有关格式,请参阅 createStream() )。

    var parse =require('irc-message').parseconsole.log(parse(':hello!sir@madam PRIVMSG #test :Hello, world!'))/* {  * raw: ':hello!sir@madam PRIVMSG #test :Hello, world!', * tags: {},  * prefix: 'hello!sir@madam',  * command: 'PRIVMSG', * params: ['#test', 'Hello, world!'] * }*/

    PAR  str  parse  PERF  parser  Message  
    相关文章