2013年1月11日

[筆記] 使用 Node.js 撰寫 IRC Client / Chat Bot 聊天機器人

IRC(Internet Relay Chat)是歷久彌新的網路聊天室協定,相信開發者一定都不陌生。

Node.js 可以幹很多事,當然也可以拿來寫 IRC 聊天機器人;這篇筆記簡單分享出步測試的結果。

先找個自己喜歡的 IRC Client,登入 IRC 伺服器(如 FreeNode),建立一個測試的聊天室頻道(Channel),方便測試。

連線資訊範例:

   server: irc.freenode.net
   port: 6667
   channel: #testmynodeirc
   nickname: ilovenode

使用 node-irc 套件,用 npm 搞定。

    npm install irc

建立 client.js 程式檔,開始寫 code。

首行先 require 所需的 irc module。

    var irc = require('irc');

建立新連線,將結果存到 client 變數。

    var client = new irc.Client('irc.freenode.net', 'BOTNAME', {
        channels: ['#testmynodeirc'],
    });

再來是使用 Node.js Event-based 設計程式有趣的地方,利用一個 callback function 實作回答的功能。

    client.addListener('message', function (from, to, message) {
        client.say(to, message);
    });

這樣就完成了很蠢的第一支機器人實作,不管對方傳送什麼聊天訊息,都會把一模一樣的聊天訊息丟回去 : )

    node client.js

參考 bot 的範例

1 則留言:

  1. 您好
    請問nodejs有辦法一直開著嗎 (超蠢問題 但因為沒碰過nodejs...
    我照大大的範例做
    一登入又立刻登出了...




    因為我irc裝不起來 所以改裝 irc-client 不知道addListener這個函數可不可以用

    回覆刪除

lyhcode by lyhcode
歡迎轉載,請務必註明出處!