Rails Twitter 机器人双倍 post

Rails Twitter bot double post

我制作了一个很棒的 Twitter 机器人,它使用本教程进行 CrossFit 训练: http://www.katelyndinkgrave.com/ruby/2016/01/31/civ-game-generator-twitterbot.html

然而,保持双倍 posting;每次脚本为 运行 时,我如何使其仅 post 一次?

型号是:

class Wod < ApplicationRecord

  def initialize
    @wod_type = WOD_TYPES.sample
    @time = time
    @rounds = rounds
    ...
  end

I've omitted code not relevant to the post...

  def print_wod
        if @wod_type == "EMOM"      
        "#{@wod_type} #{@time}:\n\n" +
        "#{@sets}\n\n" +
      "#{bbweight}" +
      "#{kbweight}" +
      "#{height}" +
      "#{slamweight}" +
      "#{wallweight}" +
      "\nFind more at: https://GymBull.com\n"
    else
        "#{@rounds}#{@wod_type}#{@time}:\n\n" +
      "#{@sets}\n\n" +
      "#{bbweight}" +
      "#{kbweight}" +
      "#{height}" +
      "#{slamweight}" +
      "#{wallweight}" +
      "\nFind more at: https://GymBull.com\n"
    end
  end

end

和机器人脚本 运行 with ( rails r app/models/bot.rb ):

require 'twitter'

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = ENV["CONSUMER_KEY"]
  config.consumer_secret     = ENV["CONSUMER_SECRET"]
  config.access_token        = ENV["ACCESS_TOKEN"]
  config.access_token_secret = ENV["ACCESS_TOKEN_SECRET"]
end

wod = Wod.new
client.update(wod.print_wod)

提前致谢

我问 Heroku 怎么了;他们说每次你推送到他们的服务器时,它都会重新加载每个文件,所以它是 运行ning 我的脚本。

解决方案只是制作一个 rake 文件和 运行 该命令而不是 "rails r"