【问题标题】:Cleverbot ruby irc botCleverbot 红宝石 irc 机器人
【发布时间】:2014-08-06 21:16:38
【问题描述】:

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

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/cleverbothttps://github.com/cinchrb/cinch

【问题讨论】:

    标签: ruby bots irc cinch


    【解决方案1】:

    将此与我的 cinch 机器人的结构进行比较,我会尝试以下方法:

    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 也比较陌生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      • 2019-08-09
      相关资源
      最近更新 更多