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"
我制作了一个很棒的 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"