reddit_bot 1.1.1 → 1.1.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: 2aea3d07e9510bd5c41964c9bc75067ebc90ba4e
4
- data.tar.gz: 7ac6560136ee35dfcf5e275bfe5c8285d681e71a
3
+ metadata.gz: 6f403237693827c791d79ee8904c9cfb9dc5a5a7
4
+ data.tar.gz: a3804dca179ba6cb72455d65f6b50cd1cecd3939
5
5
  SHA512:
6
- metadata.gz: 07f4ebc133019136ba82c9dfa410e9eeefa642e78ccb16e0bcca61830e2fb628f36d96c7631e4801e9589fd532f551bde508e89f8716b00e6acadf07e8bb1200
7
- data.tar.gz: 198430df97f9d699f3f400b7013627f8c4c31023b77ac96426fbb9065a419dc2e84dad299028ecf2f8907c48b142124a7aadd7d4f12e10683308d86d76482ea6
6
+ metadata.gz: 601b5f77064340aedbc9264a0f96483705c49302f913af46db8fc3d347ade2222969516804976d6af55dac7cbc3b041e46918c5170b141ebc1b6cf31d05a7d59
7
+ data.tar.gz: 906036dc78a34315d0df25958c094e042b4d66ed68f8198004f530eea20df76a8013a33ee7ef67108bf8299a81602dd5ea7d774f92742ecac0b5911353a446db
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- reddit_bot (1.0.1)
4
+ reddit_bot (1.1.1)
5
5
  json
6
6
 
7
7
  GEM
data/lib/reddit_bot.rb CHANGED
@@ -8,7 +8,7 @@ require "json"
8
8
 
9
9
 
10
10
  module RedditBot
11
- VERSION = "1.1.1"
11
+ VERSION = "1.1.2"
12
12
 
13
13
  class Bot
14
14
 
@@ -40,7 +40,7 @@ module RedditBot
40
40
  iden: @iden_and_captcha[0],
41
41
  captcha: @iden_and_captcha[1],
42
42
  } ) unless @ignore_captcha
43
- else ; raise error
43
+ else ; fail error
44
44
  end
45
45
  end
46
46
  end
@@ -91,22 +91,25 @@ module RedditBot
91
91
  text: link_flair_text,
92
92
  flair_template_id: (@flairselector_choices ||=
93
93
  json :post, "/r/#{@subreddit}/api/flairselector", link: post["name"]
94
- )["choices"].find{ |i| i["flair_css_class"] == link_flair_css_class }["flair_template_id"]
94
+ )["choices"].find{ |i| i["flair_css_class"] == link_flair_css_class }.tap{ |flair|
95
+ fail "can't find '#{link_flair_css_class}' flair class at https://www.reddit.com/r/#{@subreddit}/about/flair/#link_templates" unless flair
96
+ }["flair_template_id"]
95
97
  end
96
98
 
97
99
  private
98
100
 
99
101
  def token
100
102
  return @token_cached if @token_cached
101
- response = JSON.parse(reddit_resp(:post,
103
+ response = JSON.parse reddit_resp :post,
102
104
  "https://www.reddit.com/api/v1/access_token", {
103
105
  grant_type: "password",
104
106
  username: @username = @secrets[3],
105
107
  password: @secrets[2],
106
- }, {}, # headers
107
- [@secrets[0], @secrets[1]],
108
- ))
109
- raise response.inspect unless @token_cached = response["access_token"]
108
+ }, {}, [@secrets[0], @secrets[1]]
109
+ unless @token_cached = response["access_token"]
110
+ fail "bot isn't a 'developer' of app at https://www.reddit.com/prefs/apps/" if response == {"error"=>"invalid_grant"}
111
+ fail response.inspect
112
+ end
110
113
  puts "new token is: #{@token_cached}"
111
114
  update_captcha if "true" == resp_with_token(:get, "/api/needs_captcha", {})
112
115
  @token_cached
@@ -123,7 +126,7 @@ module RedditBot
123
126
  end
124
127
 
125
128
  def resp_with_token mtd, url, form
126
- {} until _ = catch(:"401") do
129
+ nil until _ = catch(:"401") do
127
130
  reddit_resp mtd, "https://oauth.reddit.com" + url, form, [
128
131
  ["Authorization", "bearer #{token}"],
129
132
  ["User-Agent", "bot/#{@username}/0.0.0 by /u/nakilon"],
@@ -134,7 +137,7 @@ module RedditBot
134
137
 
135
138
  def reddit_resp *args
136
139
  response = nil
137
- 1.times do
140
+ tap do
138
141
  response = _resp *args
139
142
  case response.code
140
143
  when "502", "503", "520", "500", "521", "504", "400", "522"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reddit_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Maslov