2017-03-21 1 views
0

http://www.katelyndinkgrave.com/ruby/2016/01/31/civ-game-generator-twitterbot.htmlRailsのTwitterのボットダブルポスト

しかし、二重投稿を続けます。スクリプトを実行するたびに一度だけ投稿するようにするにはどうすればよいですか?

モデルは次のとおりです。

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 

とで実行ボットスクリプト(レールは、アプリ/モデル/ bot.rb R):私は尋ねた

答えて

0

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) 

は、事前にあなたに感謝をヘロクって何?彼らは自分のサーバにプッシュするたびに、すべてのファイルをリロードして、スクリプトを実行していると言いました。

解決策は、rakeファイルを作成し、そのコマンドを "rails r"の​​代わりに実行することでした。

関連する問題