reddit_bot 1.2.0 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
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