Cleverbot ruby​​ irc bot

时间:2014-06-17 00:13:40

标签: ruby bots irc cinch

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

我对红宝石很新。

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

1 个答案:

答案 0 :(得分:0)

将此与我的cinch bot的结构相比较,我会尝试以下方法:

1)使 get_answer 成为帮助程序块并将其置于 bot = Cinch :: 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(m.message)

m.reply get_answer(text)

我怀疑这应该有效。但我也是Ruby的新手。