2014-06-17 70 views
0

我寫了紅寶石這種自動回覆機器人,它應該與機靈的消息時,即時通訊客場自動回覆:機靈紅寶石IRC bot的

require "cleverbot" 
require "cinch" 

    $client = Cleverbot::Client.new 


def get_answer(text) 
    reply = $client.write text 
    return reply 
end 

bot = Cinch::Bot.new do 
    configure do |c| 
     c.nick = "mybotsnickname" 
     c.server = "my.irc.testserver" 
     c.channels = ["#mychannel"] 
    end 

    on :message do |m| 
    m.reply m.user 
    m.reply get_answer(m.message) 
    end 
end 

bot.start 

它工作正常,但會話ID發生變化的每封郵件。我必須改變以保留它?最好的情況是,每個寫我的用戶都會在cleverbot上獲得不同的會話ID,以便他們進行單獨的對話。

我很新的紅寶石。

我用:https://github.com/benmanns/cleverbothttps://github.com/cinchrb/cinch

回答

0

比較這我不在話下機器人的結構,我想嘗試以下操作:

1)請get_answer一個輔助模塊,並將其放置BOT =束帶:: Bot.new塊:

helpers do 
    def get_answer(text) 
     reply = $client.write text 
     return reply 
    end 
end 

2)更換

on :message do |m| 

on :message do |m, text| 

3)

m.reply get_answer(text) 

更換

m.reply get_answer(m.message) 

我猜想這應該工作。但我對Ruby也相對陌生。