Cleverbot ruby irc bot



我用ruby编写了这个自动回复机器人,它应该在我离开时自动回复cleverbot消息:

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,这样他们就可以进行单独的对话。

我对ruby很陌生。

我使用:https://github.com/benmanns/cleverbot和https://github.com/cinchrb/cinch

将其与我的抓取机器人的结构进行比较,我将尝试以下操作:

1)使get_answer成为一个helper块,并将其放在bot = Cinch:: bot 中。新:

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(m.message)

m.reply get_answer(text)

我想这应该可以工作。但是我对Ruby还是个新手。

相关内容

  • 没有找到相关文章

最新更新