reddit_bot 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c023e24b1aa289bee8f5a718ebdcd3d4dc64acc
4
- data.tar.gz: 73f61de52f02b15c75607cb99d042b4590424f4d
3
+ metadata.gz: 2a2cc85bddbbc5aeee82fd5084eae257f1413340
4
+ data.tar.gz: 1de2e501873e4fa303e0223ceeed4a9b9c367334
5
5
  SHA512:
6
- metadata.gz: da386cce14eeb419ef0fc23968bed4a7a3c94c3ae797ff96ddfa1defb2f802d68cb4dfaee5b79b920049108eb9b978a343de8031b862ca1f0b632ed8d425cc3b
7
- data.tar.gz: 6fc65d233f2572e8bbb9847c3a2dd99a3cb99834e4c7250f9cf4d91d554e078dcee1ec766960149c6de5b9a9344c0a3b13b203609593efa111597675dd3a691a
6
+ metadata.gz: b25c329d7d3ee4f87651a6f4deff8e76abff139b924f15d24168d9c0132edbe7dad46acbfce38ccd7af8fc2ebb13bed2f3978b7182926247e129a969691437a5
7
+ data.tar.gz: b14a6b1ab5f03bbaff46aa013a217f7dffb9aa9ba9bfe1fc702c454d2c2f46c8800441a07066859b781859f8707666744c7e5a3e887a51425337c7f9867d0e68
data/README.md CHANGED
@@ -17,13 +17,12 @@ Python (and so PRAW) sucks.
17
17
  The [examples folder](examples) includes:
18
18
 
19
19
  * sexypizza -- bot that updates wiki page with current flairs statistics
20
- * mlgtv -- bot that updates sidebar with currently streaming twitch channels
21
- * flairmotron -- bot that flairs users according to Google Spreadsheet
22
20
  * devflairbot -- bot that flairs posts when some specifically flaired user comments there
23
- * pokemon_trading -- bot that sets flair to user according to request submitted via PM
24
- * iostroubleshooting -- bot that applies flairs to posts (subreddit seems to be suspended)
25
- * oneplus -- bot that removes and modmails about links to 1080x1920 images
21
+ * mlgtv -- bot that updates sidebar with currently streaming twitch channels
22
+ * councilofricks -- bot that flairs users according to Google Spreadsheet
26
23
  * wallpaper -- bot that reports images with dimensions not the same as in title
24
+ * cptflairbot3 -- bot that sets flair to user according to request submitted via PM
25
+ * oneplus -- bot that removes and modmails about links to 1080x1920 images
27
26
  * yayornay -- bot that flairs posts according to voting in top level comments
28
27
  * largeimagesreview -- useful script for [subreddit /r/largeimages](https://reddit.com/r/largeimages/top)
29
28
  It calculates quality of x-posts from different subreddits based on mods activity (remove/approve).
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "reddit_bot", "~>1.2.0"
4
+ gem "net_http_utils", ?0, gist: "97549ceb58d21e1fcbc0e6cdaf92fce8"
@@ -0,0 +1,22 @@
1
+ GIT
2
+ remote: https://gist.github.com/97549ceb58d21e1fcbc0e6cdaf92fce8.git
3
+ revision: 54c47ab3f9665f3e35a8e94fdd267e3743c736a9
4
+ specs:
5
+ net_http_utils (0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ json (2.0.2)
11
+ reddit_bot (1.2.0)
12
+ json
13
+
14
+ PLATFORMS
15
+ ruby
16
+
17
+ DEPENDENCIES
18
+ net_http_utils (= 0)!
19
+ reddit_bot (~> 1.2.0)
20
+
21
+ BUNDLED WITH
22
+ 1.13.1
@@ -1,19 +1,17 @@
1
1
  require_relative "../boilerplate"
2
2
 
3
- BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true#, subreddit: SUBREDDIT
3
+ BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true
4
4
  SUBREDDIT = "CouncilOfRicks"
5
5
 
6
6
  CSS_CLASS = "blueflair"
7
7
 
8
- # require "open-uri"
9
- # require "json"
10
8
  require "csv"
11
9
 
12
10
  loop do
13
- AWSStatus::touch
11
+ Hearthbeat.beat "u_FlairMoTron_r_CouncilOfRicks", 310 unless Gem::Platform.local.os == "darwin"
14
12
 
15
13
  names, flairs = begin
16
- JSON.parse DownloadWithRetry::download_with_retry File.read "gas.url"
14
+ catch(:"404"){ JSON.parse NetHTTPUtils.request_data File.read "gas.url" } or raise(JSON::ParserError)
17
15
  rescue JSON::ParserError
18
16
  puts "smth wrong with GAS script"
19
17
  sleep 60
@@ -21,6 +19,7 @@ loop do
21
19
  end
22
20
 
23
21
  existing = BOT.json(:get, "/r/#{SUBREDDIT}/api/flairlist", limit: 1000)["users"]
22
+ fail if existing.size >= 1000
24
23
 
25
24
  if names.size == flairs.size
26
25
  names.zip(flairs).drop(1).map(&:flatten).each_slice(50) do |slice|
@@ -2,18 +2,17 @@
2
2
  BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true
3
3
 
4
4
  loop do
5
- AWSStatus::touch
5
+ Hearthbeat.beat "u_CPTFlairBot3_r_casualpokemontrades", 70 unless Gem::Platform.local.os == "darwin"
6
6
 
7
7
  unread = BOT.json :get, "/message/unread"
8
8
  unread["data"]["children"].each do |msg|
9
- # next unless msg["data"]["author"] == "nakilon" if ENV["LOGNAME"] == "nakilon"
10
9
  next puts "bad destination: #{msg["data"]["dest"]}" unless msg["data"]["dest"] == "CPTFlairBot3"
11
10
  case msg["data"]["subject"]
12
- when "casualpokemontrades"#, "relaxedpokemontrades"
11
+ when "casualpokemontrades"
13
12
  unless /^(?<name>\S+)\n(?<id>\d\d\d\d-\d\d\d\d-\d\d\d\d)\n(?<css_class>\S+)$/ =~ msg["data"]["body"]
14
- puts "invalid message for #{msg["data"]["subject"]}: %p" % msg["data"]["body"] if ENV["LOGNAME"] == "nakilon"
13
+ puts "invalid message for #{msg["data"]["subject"]}: %p" % msg["data"]["body"] if Gem::Platform.local.os == "darwin"
15
14
  # puts "marking invalid message as read: %p" % msg["data"]["body"]
16
- # BOT.json :post, "/api/read_message", {id: msg["data"]["name"]} unless ENV["LOGNAME"] == "nakilon"
15
+ # BOT.json :post, "/api/read_message", {id: msg["data"]["name"]} unless Gem::Platform.local.os == "darwin"
17
16
  next
18
17
  end
19
18
  begin
@@ -39,6 +38,6 @@ loop do
39
38
  break # just for a case
40
39
  end
41
40
 
42
- puts "END LOOP #{Time.now}" if ENV["LOGNAME"] == "nakilon"
41
+ puts "END LOOP #{Time.now}" if Gem::Platform.local.os == "darwin"
43
42
  sleep 60
44
43
  end
@@ -1,3 +1,4 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gem "reddit_bot", "~>1.1.5"
4
+ gem "net_http_utils", gist: "97549ceb58d21e1fcbc0e6cdaf92fce8"
@@ -1,3 +1,9 @@
1
+ GIT
2
+ remote: https://gist.github.com/97549ceb58d21e1fcbc0e6cdaf92fce8.git
3
+ revision: a5728a4745cf4479a3cc4a7742ca54fcb94955ab
4
+ specs:
5
+ net_http_utils (0.1)
6
+
1
7
  GEM
2
8
  remote: https://rubygems.org/
3
9
  specs:
@@ -9,7 +15,8 @@ PLATFORMS
9
15
  ruby
10
16
 
11
17
  DEPENDENCIES
18
+ net_http_utils!
12
19
  reddit_bot (~> 1.1.5)
13
20
 
14
21
  BUNDLED WITH
15
- 1.12.0
22
+ 1.13.5
@@ -1,25 +1,24 @@
1
1
  require_relative "../boilerplate"
2
2
 
3
- BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true#, subreddit: SUBREDDIT
4
-
3
+ BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true
5
4
 
6
5
  loop do
7
- AWSStatus::touch
6
+ Hearthbeat.beat "u_DevFlairBot_r_ion_r_survivetheculling", 130 unless Gem::Platform.local.os == "darwin"
8
7
  puts "LOOP #{Time.now}"
9
8
 
10
9
  [
11
10
  ["ion", "Developer"],
12
11
  ["survivetheculling", "Developer"],
13
12
  ].each do |subreddit, developer_class|
14
- puts subreddit
13
+ puts "sub: #{subreddit}"
15
14
 
16
15
  JSON.parse(
17
- DownloadWithRetry::download_with_retry("https://www.reddit.com/r/#{subreddit}/comments.json")
16
+ NetHTTPUtils.request_data "https://www.reddit.com/r/#{subreddit}/comments.json", header: ["User-Agent", "ajsdjasdasd"]
18
17
  )["data"]["children"].each do |comment|
19
18
  id = comment["data"]["link_id"][3..-1]
20
19
  commenter_flair = comment["data"]["author_flair_css_class"]
21
- puts commenter_flair if commenter_flair
22
- next 'puts "skip"' unless developer_class == commenter_flair
20
+ # puts "flair: #{commenter_flair}" if commenter_flair
21
+ next unless developer_class == commenter_flair
23
22
  puts "https://reddit.com/r/#{subreddit}/comments/#{id}/#{comment["data"]["id"]} '#{commenter_flair}'"
24
23
  flairselector = BOT.json :post, "/api/flairselector", { link: comment["data"]["link_id"] }
25
24
  existing_flair_class = flairselector["current"]["flair_css_class"]
@@ -49,5 +48,5 @@ loop do
49
48
  end
50
49
 
51
50
  puts "END LOOP #{Time.now}"
52
- sleep 60
51
+ sleep 120
53
52
  end
@@ -1,4 +1,4 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "reddit_bot", "~>1.1.5"
3
+ gem "reddit_bot", "~>1.2.0"
4
4
  gem "net_http_utils", ?0, gist: "97549ceb58d21e1fcbc0e6cdaf92fce8"
@@ -8,7 +8,7 @@ GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  json (2.0.2)
11
- reddit_bot (1.1.8)
11
+ reddit_bot (1.2.0)
12
12
  json
13
13
 
14
14
  PLATFORMS
@@ -16,7 +16,7 @@ PLATFORMS
16
16
 
17
17
  DEPENDENCIES
18
18
  net_http_utils (= 0)!
19
- reddit_bot (~> 1.1.5)
19
+ reddit_bot (~> 1.2.0)
20
20
 
21
21
  BUNDLED WITH
22
22
  1.13.1
@@ -42,9 +42,13 @@ loop do
42
42
  "Call of Duty: Modern Warfare Remastered",
43
43
  "Call of Duty 4: Modern Warfare",
44
44
  ].each do |game|
45
- (JSON.parse(
46
- NetHTTPUtils.request_data "https://api.twitch.tv/kraken/streams?game=#{CGI::escape game}&access_token=#{File.read("twitch.token").strip}&client_id=#{File.read("client.id").strip}&channel=Ricky,ACHES,Lacefield,Clayster,Enable,Zoomaa,Attach,TheFEARS,PHiZZURP,MiRx1,SaintsRF,StuDyy,SpaceLyTV,NAMELESS,Scumperjumper,FORMAL,Crimsix,Karma,Loony,Slacked,Octane,MJChino,Diabolic_TV,ImTheIvy,Senderxz,Jkap,John,SlasheRAL,Apathy,ColtHavok,MikeSwarley,ParasiteTV,TyreeLegal,Silly,Blfire,methodz,TwiZzyTV,Mochila,Remy,Xotic16,AquA,Faccento,Nagafen,Tylerfelo,TheoryCoD,ColeChanTV,happyy97,goonjar,Burns,Dedo,Neslo,TeeCM,K1lla93,NeLsoNNaTeR,ProoFy,Whea7s,MBoZe,Merk,Nadeshot,ReeP,Sharp,TeePee,Braaain2015,Nolsonn,QwiKeRTHaNu,Zedenyer1,Jurd,Tommey,Swanny,MadCatEU,Rated_EU1,BsportJoshh,Sy_Vortex,TheMarkyB,Peatie95,urbandm,TreiZer0,iDqvee,Tojor,MethodZ_TV,Gotaga,WailersWL,TCM_Moose,RampageSkrapz,Reedy,fighta71,Swiftazor,BacabecNZ,Zeuss_Gaming,Hopeyy,GuydraCOD,mattmrx,Maven,CouRageJD,Revan,BriceyHD,Benson,PHILWHI7"
47
- )["streams"] || []).each do |channel|
45
+ (begin
46
+ JSON.parse NetHTTPUtils.request_data "https://api.twitch.tv/kraken/streams?game=#{CGI::escape game}&access_token=#{File.read("twitch.token").strip}&client_id=#{File.read("client.id").strip}&channel=Ricky,ACHES,Lacefield,Clayster,Enable,Zoomaa,Attach,TheFEARS,PHiZZURP,MiRx1,SaintsRF,StuDyy,SpaceLyTV,NAMELESS,Scump,FORMAL,Crimsix,Karma,Loony,Slacked,Octane,MJChino,Diabolic_TV,ImTheIvy,Senderxz,Jkap,John,SlasheRAL,Apathy,ColtHavok,MikeSwarley,ParasiteTV,TyreeLegal,Silly,Blfire,methodz,TwiZzyTV,Mochila,Remy,Xotic16,AquA,Faccento,Nagafen,Tylerfelo,TheoryCoD,ColeChanTV,happyy97,goonjar,Burns,Dedo,Neslo,TeeCM,K1lla93,NeLsoNNaTeR,ProoFy,Whea7s,MBoZe,Merk,Nadeshot,ReeP,Sharp,TeePee,Braaain2015,Nolsonn,QwiKeRTHaNu,Zedenyer1,Jurd,Tommey,Swanny,MadCatEU,Rated_EU1,BsportJoshh,Sy_Vortex,TheMarkyB,Peatie95,urbandm,TreiZer0,iDqvee,Tojor,MethodZ_TV,Gotaga,WailersWL,TCM_Moose,RampageSkrapz,Reedy,fighta71,Swiftazor,BacabecNZ,Zeuss_Gaming,Hopeyy,GuydraCOD,mattmrx,Maven,CouRageJD,Revan,BriceyHD,Benson,PHILWHI7"
47
+ rescue JSON::ParserError
48
+ puts "JSON::ParserError"
49
+ sleep 60
50
+ retry
51
+ end["streams"] || []).each do |channel|
48
52
  list << "* [](#twitch) [](#live) [**#{
49
53
  channel["channel"]["display_name"]
50
54
  }**](#{
@@ -1,9 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- # if ENV["LOGNAME"] == "nakilon"
4
- # gem "reddit_bot", "~>1.0", path: File.join("..", "..")
5
- # else
6
- gem "reddit_bot", "~>1.1.5"
7
- # end
8
-
3
+ gem "reddit_bot", "~>1.1.5"
9
4
  gem "fastimage", "1.7.0"
5
+ gem "net_http_utils", ?0, gist: "97549ceb58d21e1fcbc0e6cdaf92fce8"
@@ -1,3 +1,9 @@
1
+ GIT
2
+ remote: https://gist.github.com/97549ceb58d21e1fcbc0e6cdaf92fce8.git
3
+ revision: 54c47ab3f9665f3e35a8e94fdd267e3743c736a9
4
+ specs:
5
+ net_http_utils (0)
6
+
1
7
  GEM
2
8
  remote: https://rubygems.org/
3
9
  specs:
@@ -13,7 +19,8 @@ PLATFORMS
13
19
 
14
20
  DEPENDENCIES
15
21
  fastimage (= 1.7.0)
22
+ net_http_utils (= 0)!
16
23
  reddit_bot (~> 1.1.5)
17
24
 
18
25
  BUNDLED WITH
19
- 1.12.0
26
+ 1.13.1
@@ -1,21 +1,23 @@
1
1
  require_relative "../boilerplate"
2
2
 
3
3
  BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true
4
-
5
- require_relative "#{"../" if ENV["LOGNAME"] == "nakilon"}../../../dimensioner/get_dimensions"
6
-
7
4
  SUBREDDIT = "oneplus"
8
- # FLAIR_CLASS = "redflair"
5
+
6
+ if Gem::Platform.local.os == "darwin"
7
+ require_relative "../../../../dimensioner/get_dimensions"
8
+ else
9
+ require_relative "#{Dir.home}/get_dimensions"
10
+ end
9
11
 
10
12
  checked = []
11
13
  loop do
12
- AWSStatus::touch
14
+ Hearthbeat.beat "u_oneplus_mod_r_oneplus", 310 unless Gem::Platform.local.os == "darwin"
13
15
  puts "LOOP #{Time.now}"
14
16
 
15
- BOT.json(:get, "/r/#{SUBREDDIT}/new")["data"]["children"].each do |item|
16
- id, url, title, subreddit = item["data"].values_at(*%w{ id url title subreddit })
17
- next if checked.include? id # WTF?
18
- checked << id
17
+ BOT.json(:get, "/r/#{SUBREDDIT}/new")["data"]["children"].each do |post|
18
+ id, url, title, subreddit = post["data"].values_at(*%w{ id url title subreddit })
19
+ next if checked.include? id
20
+ checked.push id
19
21
  redd_it = "https://redd.it/#{id}"
20
22
  next puts "skipped #{url} from #{redd_it}" if :skipped == _ = GetDimensions::get_dimensions(url)
21
23
  next puts "unable #{url} from #{redd_it}" unless _
@@ -24,18 +26,6 @@ loop do
24
26
  puts "#{result} #{id} [#{resolution}] #{title} #{url}"
25
27
  next if result
26
28
 
27
- ### flair
28
- # {"json"=>{"errors"=>[]}} == _ = BOT.json(:post,
29
- # "/api/selectflair",
30
- # flair_template_id: BOT.json(:post,
31
- # "/api/flairselector",
32
- # link: "t3_#{id}",
33
- # )["choices"].find{ |i| i["flair_css_class"] == FLAIR_CLASS }["flair_template_id"],
34
- # link: "t3_#{id}",
35
- # ) or fail _.inspect
36
- ### report
37
- # BOT.report "1080x1920", "t3_#{id}"
38
-
39
29
  ### delete
40
30
  BOT.json :post, "/api/remove",
41
31
  id: "t3_#{id}",
@@ -22,7 +22,7 @@ loop do
22
22
  if text != BOT.json(:get, "/r/#{SUBREDDIT}/wiki/toppings")["data"]["content_md"]
23
23
  puts "editing wiki page '/r/#{SUBREDDIT}/wiki/toppings'"
24
24
  pp text
25
- p json :post,
25
+ p BOT.json :post,
26
26
  "/r/#{SUBREDDIT}/api/wiki/edit",
27
27
  page: "toppings",
28
28
  content: text
@@ -1,5 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- # gem "json", "1.7.7"
4
3
  gem "fastimage", "1.7.0"
5
4
  gem "reddit_bot", "~>1.1.5"
5
+ gem "net_http_utils", ?0, gist: "97549ceb58d21e1fcbc0e6cdaf92fce8"
@@ -1,3 +1,9 @@
1
+ GIT
2
+ remote: https://gist.github.com/97549ceb58d21e1fcbc0e6cdaf92fce8.git
3
+ revision: 54c47ab3f9665f3e35a8e94fdd267e3743c736a9
4
+ specs:
5
+ net_http_utils (0)
6
+
1
7
  GEM
2
8
  remote: https://rubygems.org/
3
9
  specs:
@@ -13,6 +19,7 @@ PLATFORMS
13
19
 
14
20
  DEPENDENCIES
15
21
  fastimage (= 1.7.0)
22
+ net_http_utils (= 0)!
16
23
  reddit_bot (~> 1.1.5)
17
24
 
18
25
  BUNDLED WITH
@@ -1,20 +1,19 @@
1
1
  require_relative "../boilerplate"
2
2
 
3
- BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true#, subreddit: SUBREDDIT
3
+ BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true
4
4
  SUBREDDIT = "wallpaper"
5
5
 
6
- if ENV["LOGNAME"] == "nakilon"
6
+ if Gem::Platform.local.os == "darwin"
7
7
  require_relative "../../../../dimensioner/get_dimensions"
8
8
  else
9
- require_relative File.join Dir.home, "dimensioner/get_dimensions"
9
+ require_relative "#{Dir.home}/get_dimensions"
10
10
  end
11
11
 
12
12
  checked = []
13
13
  loop do
14
- AWSStatus::touch
14
+ Hearthbeat.beat "u_wallpaperpedantbot_r_#{SUBREDDIT}", 70 unless Gem::Platform.local.os == "darwin"
15
15
  puts "LOOP #{Time.now}"
16
16
 
17
- # _ = DownloadWithRetry::download_with_retry("https://www.reddit.com/r/#{SUBREDDIT}.json?sort=new&restrict_sr=on&t=hour") \
18
17
  BOT.json(:get, "/r/#{SUBREDDIT}/new")["data"]["children"].each do |post|
19
18
  id, url, title, subreddit = post["data"].values_at(*%w{ id url title subreddit })
20
19
  next if checked.include? id
@@ -1,13 +1,10 @@
1
1
  require_relative "../boilerplate"
2
2
 
3
- # SUBREDDIT = "test___________"
4
3
  SUBREDDIT = "yayornay"
5
-
6
4
  BOT = RedditBot::Bot.new YAML.load(File.read "secrets.yaml"), ignore_captcha: true, subreddit: SUBREDDIT
7
5
 
8
-
9
6
  loop do
10
- AWSStatus::touch
7
+ Hearthbeat.beat "u_gotfan247_r_yayornay", 310 unless Gem::Platform.local.os == "darwin"
11
8
  puts "LOOP #{Time.now}"
12
9
 
13
10
  BOT.each_new_post_with_top_level_comments do |post, comments|
@@ -17,7 +14,7 @@ loop do
17
14
  yay |= [comment["author"]] if comment["body"][/\A\s*yay/i]
18
15
  nay |= [comment["author"]] if comment["body"][/\A\s*nay/i]
19
16
  end
20
- p [post["id"], yay, nay] if ENV["LOGNAME"] == "nakilon"
17
+ p [post["id"], yay, nay] if Gem::Platform.local.os == "darwin"
21
18
  yay, nay = [(yay - nay).size, (nay - yay).size]
22
19
  next if 0 == total = yay + nay
23
20
  proper_class = yay > nay ? "yay" : yay < nay ? "nay" : "none"
@@ -8,7 +8,7 @@ require "json"
8
8
 
9
9
 
10
10
  module RedditBot
11
- VERSION = "1.2.0" # :nodoc:
11
+ VERSION = "1.2.2" # :nodoc:
12
12
 
13
13
  class Bot
14
14
 
@@ -253,15 +253,16 @@ module RedditBot
253
253
  use_ssl: uri.scheme == "https",
254
254
  verify_mode: OpenSSL::SSL::VERIFY_NONE,
255
255
  open_timeout: 300
256
- rescue OpenSSL::SSL::SSLError, SocketError, Errno::ECONNRESET, Net::OpenTimeout, Errno::ETIMEDOUT => e
256
+ rescue OpenSSL::SSL::SSLError, SocketError, Errno::ECONNRESET, Net::OpenTimeout, Errno::ETIMEDOUT, Errno::EPIPE => e
257
257
  puts "ERROR: #{e.class}: #{e}"
258
258
  sleep 5
259
259
  retry
260
260
  end
261
261
  response = begin
262
262
  http.request request
263
- rescue OpenSSL::SSL::SSLError, SocketError, Net::ReadTimeout, Errno::EPIPE, EOFError, Zlib::BufError
264
- puts "ERROR: network"
263
+ rescue OpenSSL::SSL::SSLError, SocketError, Net::ReadTimeout, Errno::EPIPE, EOFError, Zlib::BufError, Errno::ECONNRESET => e
264
+ puts "ERROR: #{e}"
265
+ sleep 5
265
266
  retry
266
267
  end
267
268
  puts %w{
@@ -276,7 +277,7 @@ module RedditBot
276
277
  # end
277
278
  fail response.to_hash["x-ratelimit-remaining"][0] \
278
279
  if response.to_hash["x-ratelimit-remaining"] &&
279
- response.to_hash["x-ratelimit-remaining"][0].size <= 2
280
+ response.to_hash["x-ratelimit-remaining"][0].size < 5
280
281
 
281
282
  # if response.code == "401"
282
283
  # puts request.path
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reddit_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Maslov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-05 00:00:00.000000000 Z
11
+ date: 2017-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -37,12 +37,15 @@ files:
37
37
  - Rakefile
38
38
  - examples/.gitignore
39
39
  - examples/boilerplate.rb
40
+ - examples/councilofricks/Gemfile
41
+ - examples/councilofricks/Gemfile.lock
42
+ - examples/councilofricks/main.rb
43
+ - examples/cptflairbot3/Gemfile
44
+ - examples/cptflairbot3/Gemfile.lock
45
+ - examples/cptflairbot3/main.rb
40
46
  - examples/devflairbot/Gemfile
41
47
  - examples/devflairbot/Gemfile.lock
42
48
  - examples/devflairbot/main.rb
43
- - examples/flairmotron/Gemfile
44
- - examples/flairmotron/Gemfile.lock
45
- - examples/flairmotron/main.rb
46
49
  - examples/iostroubleshooting/Gemfile
47
50
  - examples/iostroubleshooting/Gemfile.lock
48
51
  - examples/iostroubleshooting/main.rb
@@ -55,9 +58,6 @@ files:
55
58
  - examples/oneplus/Gemfile
56
59
  - examples/oneplus/Gemfile.lock
57
60
  - examples/oneplus/main.rb
58
- - examples/pokemon_trading/Gemfile
59
- - examples/pokemon_trading/Gemfile.lock
60
- - examples/pokemon_trading/main.rb
61
61
  - examples/sexypizza/Gemfile
62
62
  - examples/sexypizza/Gemfile.lock
63
63
  - examples/sexypizza/main.rb
@@ -94,3 +94,4 @@ signing_key:
94
94
  specification_version: 4
95
95
  summary: Library for Reddit bots
96
96
  test_files: []
97
+ has_rdoc:
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- # if ENV["LOGNAME"] == "nakilon"
4
- # gem "reddit_bot", "~>1.1.5", path: File.join("..", "..")
5
- # else
6
- gem "reddit_bot", "~>1.1.5"
7
- # end
@@ -1,15 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- json (2.0.2)
5
- reddit_bot (1.1.8)
6
- json
7
-
8
- PLATFORMS
9
- ruby
10
-
11
- DEPENDENCIES
12
- reddit_bot (~> 1.1.5)
13
-
14
- BUNDLED WITH
15
- 1.12.0