From ac52a089c1bcbc5c3cd1b9a318373fc61d9c244a Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Sun, 24 May 2015 08:31:49 -0600 Subject: [PATCH 1/9] added supervisor start script --- supervisor_start.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 supervisor_start.sh diff --git a/supervisor_start.sh b/supervisor_start.sh new file mode 100755 index 0000000..b37bf5c --- /dev/null +++ b/supervisor_start.sh @@ -0,0 +1,3 @@ +#!/bin/bash +source "/home/bretto/.rvm/scripts/rvm" +ebooks start From 823982b55e4ccfa3436436e6181e11dbfa5ca455 Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Fri, 24 Jul 2015 17:44:14 -0600 Subject: [PATCH 2/9] removed delays and added default keyword --- defaults.env | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/defaults.env b/defaults.env index 9b80925..912d3be 100644 --- a/defaults.env +++ b/defaults.env @@ -8,11 +8,11 @@ TWEET_INTERVAL=2h TWEET_CHANCE=0.8 BLACKLIST=tinysubversions, dril BANNED_TERMS=voldemort, evgeny morozov, heroku -SPECIAL_TERMS= -DEFAULT_DELAY=5..60 +SPECIAL_TERMS=butts, butt +DEFAULT_DELAY=0 DM_DELAY=0 -MENTION_DELAY=5..60 -TIMELINE_DELAY=10..600 +MENTION_DELAY=0 +TIMELINE_DELAY=0 TIMEOUT_SLEEP=5 MAX_ERROR_RETRIES=10 UPDATE_FOLLOWS_INTERVAL=90m From e26c00a549ff02b9eb94ae7b2a1ead305a4b2a29 Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Sat, 1 Aug 2015 07:42:40 -0600 Subject: [PATCH 3/9] added configuration option to have bot not tweet on the hour --- bots.rb | 11 ++++++++++- defaults.env | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bots.rb b/bots.rb index 5f0ccc6..98ff53c 100644 --- a/bots.rb +++ b/bots.rb @@ -35,6 +35,8 @@ class BoodooBot @access_token = SETTINGS['ACCESS_TOKEN'] @access_token_secret =SETTINGS['ACCESS_TOKEN_SECRET'] @tweet_interval = SETTINGS['TWEET_INTERVAL'] + @tweet_on_hour = SETTINGS['TWEET_ON_HOUR'] + @update_follows_interval = SETTINGS['UPDATE_FOLLOWS_INTERVAL'] @refresh_model_interval = SETTINGS['REFRESH_MODEL_INTERVAL'] @@ -94,7 +96,14 @@ class BoodooBot scheduler.interval @tweet_interval do if rand < @tweet_chance - tweet(model.make_statement) + if @tweet_on_hour + tweet(model.make_statement) + else + # schedule tweet to happen at a random minute this hour + in_this_many_min = rand(1..59).to_s + 'm' + scheduler.in.this_many_min do + tweet(model.make_statement) + end end end diff --git a/defaults.env b/defaults.env index 9b80925..32e4614 100644 --- a/defaults.env +++ b/defaults.env @@ -5,6 +5,7 @@ CONSUMER_SECRET= ACCESS_TOKEN= ACCESS_TOKEN_SECRET= TWEET_INTERVAL=2h +TWEET_ON_HOUR=false TWEET_CHANCE=0.8 BLACKLIST=tinysubversions, dril BANNED_TERMS=voldemort, evgeny morozov, heroku From 46ae2e72c8a1f78f8b9c6649dd27c3414385b113 Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Sat, 1 Aug 2015 08:29:30 -0600 Subject: [PATCH 4/9] convert env file string to proper boolean --- bots.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bots.rb b/bots.rb index 98ff53c..8a83e51 100644 --- a/bots.rb +++ b/bots.rb @@ -35,7 +35,7 @@ class BoodooBot @access_token = SETTINGS['ACCESS_TOKEN'] @access_token_secret =SETTINGS['ACCESS_TOKEN_SECRET'] @tweet_interval = SETTINGS['TWEET_INTERVAL'] - @tweet_on_hour = SETTINGS['TWEET_ON_HOUR'] + @tweet_on_hour = to_boolean(SETTINGS['TWEET_ON_HOUR']) @update_follows_interval = SETTINGS['UPDATE_FOLLOWS_INTERVAL'] @refresh_model_interval = SETTINGS['REFRESH_MODEL_INTERVAL'] @@ -104,6 +104,7 @@ class BoodooBot scheduler.in.this_many_min do tweet(model.make_statement) end + end end end @@ -233,6 +234,11 @@ class BoodooBot text = obscure_curses(text) super(ev, text, opts) end + + # Helps us convert usage of "true" and "false" strings in .env files to booleans + def to_boolean(str) + str == 'true' + end private def load_model! @@ -243,6 +249,7 @@ class BoodooBot log "Loading model #{model_path}" @model = Ebooks::Model.load(model_path) end + end BoodooBot.new(SETTINGS['BOT_NAME']) do |bot| From 7a8a6665760cf023e6f86863e411ac77e22b8555 Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Sat, 1 Aug 2015 08:31:34 -0600 Subject: [PATCH 5/9] dont want to merge that --- supervisor_start.sh | 3 --- 1 file changed, 3 deletions(-) delete mode 100755 supervisor_start.sh diff --git a/supervisor_start.sh b/supervisor_start.sh deleted file mode 100755 index b37bf5c..0000000 --- a/supervisor_start.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -source "/home/bretto/.rvm/scripts/rvm" -ebooks start From ba8d322039f57905c58bd12a4ce295d1611da8ad Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Sat, 1 Aug 2015 08:34:22 -0600 Subject: [PATCH 6/9] cleaned up config and code for a pull request --- bots.rb | 1 - defaults.env | 10 +++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bots.rb b/bots.rb index 8a83e51..de14fef 100644 --- a/bots.rb +++ b/bots.rb @@ -249,7 +249,6 @@ class BoodooBot log "Loading model #{model_path}" @model = Ebooks::Model.load(model_path) end - end BoodooBot.new(SETTINGS['BOT_NAME']) do |bot| diff --git a/defaults.env b/defaults.env index f92dec1..13adf48 100644 --- a/defaults.env +++ b/defaults.env @@ -5,15 +5,15 @@ CONSUMER_SECRET= ACCESS_TOKEN= ACCESS_TOKEN_SECRET= TWEET_INTERVAL=2h -TWEET_ON_HOUR=false TWEET_CHANCE=0.8 +TWEET_ON_HOUR=true BLACKLIST=tinysubversions, dril BANNED_TERMS=voldemort, evgeny morozov, heroku -SPECIAL_TERMS=butts, butt -DEFAULT_DELAY=0 +SPECIAL_TERMS= +DEFAULT_DELAY=5..60 DM_DELAY=0 -MENTION_DELAY=0 -TIMELINE_DELAY=0 +MENTION_DELAY=5..60 +TIMELINE_DELAY=10..600 TIMEOUT_SLEEP=5 MAX_ERROR_RETRIES=10 UPDATE_FOLLOWS_INTERVAL=90m From 80818f430e2e99a8cf54fa400e73fa93c23a8969 Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Sat, 1 Aug 2015 08:35:19 -0600 Subject: [PATCH 7/9] ignore superviosr scripts --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5ebf0ae..82cea2a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ secret.env +supervisor_start.sh From c35104050c717aac3ec94f7a1684624d76089b2b Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Fri, 14 Aug 2015 04:33:37 -0600 Subject: [PATCH 8/9] correct var name and logs scheduled tweet --- bots.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bots.rb b/bots.rb index de14fef..f2f811d 100644 --- a/bots.rb +++ b/bots.rb @@ -100,7 +100,8 @@ class BoodooBot tweet(model.make_statement) else # schedule tweet to happen at a random minute this hour - in_this_many_min = rand(1..59).to_s + 'm' + this_many_min = rand(1..59).to_s + 'm' + log "Scheduling tweet in #{in_this_many_min} min!" scheduler.in.this_many_min do tweet(model.make_statement) end @@ -249,6 +250,7 @@ class BoodooBot log "Loading model #{model_path}" @model = Ebooks::Model.load(model_path) end + end BoodooBot.new(SETTINGS['BOT_NAME']) do |bot| From 23057ac4b63610e293112aab03cf7ed956c91b60 Mon Sep 17 00:00:00 2001 From: Brett O'Connor Date: Sat, 15 Aug 2015 07:13:55 -0600 Subject: [PATCH 9/9] cleanup --- .gitignore | 1 - bots.rb | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 82cea2a..5ebf0ae 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ secret.env -supervisor_start.sh diff --git a/bots.rb b/bots.rb index f2f811d..21253a7 100644 --- a/bots.rb +++ b/bots.rb @@ -36,7 +36,6 @@ class BoodooBot @access_token_secret =SETTINGS['ACCESS_TOKEN_SECRET'] @tweet_interval = SETTINGS['TWEET_INTERVAL'] @tweet_on_hour = to_boolean(SETTINGS['TWEET_ON_HOUR']) - @update_follows_interval = SETTINGS['UPDATE_FOLLOWS_INTERVAL'] @refresh_model_interval = SETTINGS['REFRESH_MODEL_INTERVAL'] @@ -101,7 +100,7 @@ class BoodooBot else # schedule tweet to happen at a random minute this hour this_many_min = rand(1..59).to_s + 'm' - log "Scheduling tweet in #{in_this_many_min} min!" + log "Scheduling tweet in #{this_many_min} min!" scheduler.in.this_many_min do tweet(model.make_statement) end @@ -250,7 +249,6 @@ class BoodooBot log "Loading model #{model_path}" @model = Ebooks::Model.load(model_path) end - end BoodooBot.new(SETTINGS['BOT_NAME']) do |bot|