reddit_bot 1.5.4 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/devflairbot/Gemfile +2 -2
- data/examples/devflairbot/Gemfile.lock +6 -6
- data/examples/devflairbot/main.rb +2 -2
- data/examples/largeimages/Gemfile +2 -2
- data/examples/largeimages/Gemfile.lock +7 -7
- data/examples/largeimages/main.rb +5 -4
- data/examples/realtimeww2/.bashrc +1 -0
- data/examples/realtimeww2/Gemfile +1 -1
- data/examples/realtimeww2/Gemfile.lock +4 -4
- data/lib/reddit_bot.rb +2 -38
- data/lib/reddit_bot/version.rb +1 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a756bbcad28e9879156bae2d179a1a0ffbfd23cb
|
4
|
+
data.tar.gz: 445b9143887ba23365e3d63bfeb588da2ecc2e89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44c2a8ab8d5e4efe84903868750211add7aa7d7375b27d152792d5d360d68df5532fa03d03a1b9e65ab9c56a83c464f854c15bfa2a9d71849f09d97b5a524418
|
7
|
+
data.tar.gz: 9b8d687724b41b0ba8c8a400afd9c66fcc6961bb00660e4891032487190d9f6b935dfbfb51c582016455cb8d23847b695312a5942310dbbdef75a3423d119797
|
@@ -1,15 +1,15 @@
|
|
1
1
|
GIT
|
2
2
|
remote: git@github.com:Nakilon/nethttputils.git
|
3
|
-
revision:
|
4
|
-
tag: v0.0.
|
3
|
+
revision: 6cb2b6a2422d82e266e08b16da4fa29e809fd260
|
4
|
+
tag: v0.1.0.4
|
5
5
|
specs:
|
6
|
-
nethttputils (0.0.
|
6
|
+
nethttputils (0.1.0.4)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
11
|
json (2.1.0)
|
12
|
-
reddit_bot (1.
|
12
|
+
reddit_bot (1.5.4)
|
13
13
|
json
|
14
14
|
|
15
15
|
PLATFORMS
|
@@ -17,7 +17,7 @@ PLATFORMS
|
|
17
17
|
|
18
18
|
DEPENDENCIES
|
19
19
|
nethttputils!
|
20
|
-
reddit_bot (~> 1.
|
20
|
+
reddit_bot (~> 1.5.4)
|
21
21
|
|
22
22
|
BUNDLED WITH
|
23
|
-
1.16.
|
23
|
+
1.16.1
|
@@ -3,7 +3,6 @@
|
|
3
3
|
BOT = RedditBot::Bot.new YAML.load File.read "secrets.yaml"
|
4
4
|
|
5
5
|
loop do
|
6
|
-
Hearthbeat.beat "u_DevFlairBot_r_ion_r_survivetheculling", 130 unless Gem::Platform.local.os == "darwin"
|
7
6
|
puts "LOOP #{Time.now}"
|
8
7
|
|
9
8
|
[
|
@@ -15,7 +14,8 @@ loop do
|
|
15
14
|
JSON.parse( begin
|
16
15
|
NetHTTPUtils.request_data "https://www.reddit.com/r/#{subreddit}/comments.json", header: ["User-Agent", "ajsdjasdasd"]
|
17
16
|
rescue NetHTTPUtils::Error => e
|
18
|
-
raise unless e.code
|
17
|
+
raise unless [503, 504].include? e.code
|
18
|
+
sleep 60
|
19
19
|
retry
|
20
20
|
end )["data"]["children"].each do |comment|
|
21
21
|
id = comment["data"]["link_id"][3..-1]
|
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
gem "json"
|
4
4
|
|
5
|
-
gem "nethttputils", git: "git@github.com:Nakilon/nethttputils.git", tag: "v0.1.0
|
5
|
+
gem "nethttputils", git: "git@github.com:Nakilon/nethttputils.git", tag: "v0.1.2.0"
|
6
6
|
|
7
7
|
gem "reddit_bot", "~>1.5.2"
|
8
8
|
gem "nokogiri"
|
9
9
|
|
10
10
|
gem "imgur2array", git: "git@github.com:Nakilon/imgur2array.git", tag: "v0.0.2.9"
|
11
11
|
gem "fastimage", "~>1.7.0"
|
12
|
-
gem "url2dimensions", git: "git@github.com:Nakilon/url2dimensions.git", tag: "v0.0.0.
|
12
|
+
gem "url2dimensions", git: "git@github.com:Nakilon/url2dimensions.git", tag: "v0.0.0.6"
|
13
13
|
|
14
14
|
gem "gcplogger", git: "git@github.com:Nakilon/gcplogger.git", tag: "v0.0.2.0"
|
15
15
|
gem "google-cloud-error_reporting"
|
@@ -15,17 +15,17 @@ GIT
|
|
15
15
|
|
16
16
|
GIT
|
17
17
|
remote: git@github.com:Nakilon/nethttputils.git
|
18
|
-
revision:
|
19
|
-
tag: v0.1.0
|
18
|
+
revision: 620051619245a3b0b00447817831c6fb676d3df7
|
19
|
+
tag: v0.1.2.0
|
20
20
|
specs:
|
21
|
-
nethttputils (0.1.0
|
21
|
+
nethttputils (0.1.2.0)
|
22
22
|
|
23
23
|
GIT
|
24
24
|
remote: git@github.com:Nakilon/url2dimensions.git
|
25
|
-
revision:
|
26
|
-
tag: v0.0.0.
|
25
|
+
revision: 2aae1c5a8a8f8d06c38ae3ab370ed4ed4c5d7a4b
|
26
|
+
tag: v0.0.0.6
|
27
27
|
specs:
|
28
|
-
url2dimensions (0.0.0.
|
28
|
+
url2dimensions (0.0.0.6)
|
29
29
|
|
30
30
|
GEM
|
31
31
|
remote: https://rubygems.org/
|
@@ -112,4 +112,4 @@ DEPENDENCIES
|
|
112
112
|
url2dimensions!
|
113
113
|
|
114
114
|
BUNDLED WITH
|
115
|
-
1.16.
|
115
|
+
1.16.1
|
@@ -44,7 +44,7 @@ fail unless 1 == search_url["https://i.imgur.com/9JTxtjW.jpg"].size
|
|
44
44
|
|
45
45
|
loop do
|
46
46
|
begin
|
47
|
-
logger.
|
47
|
+
logger.info "LOOP #{Time.now}"
|
48
48
|
rescue => e
|
49
49
|
puts "oops"
|
50
50
|
Google::Cloud::ErrorReporting.report e
|
@@ -84,7 +84,8 @@ loop do
|
|
84
84
|
checked << id
|
85
85
|
# next if Gem::Platform.local.os == "darwin" # prevent concurrent posting
|
86
86
|
logger.debug "image url for #{id}: #{url}"
|
87
|
-
next logger.warn "skipped a post by /u/sjhill" if author == "sjhill"
|
87
|
+
next logger.warn "skipped a post by /u/sjhill" if author == "sjhill" # opt-out
|
88
|
+
next logger.warn "skipped a post by /u/bekalaki" if author == "bekalaki" # 9 ways to divide karmawhore
|
88
89
|
|
89
90
|
next logger.warn "skipped (URL2Dimensions :skipped) #{url} from http://redd.it/#{id}" if :skipped == _ = begin
|
90
91
|
URL2Dimensions::get_dimensions CGI.unescape_html url
|
@@ -97,7 +98,7 @@ loop do
|
|
97
98
|
width, height, best_direct_url, *all_direct_urls = _
|
98
99
|
logger.info "URL2Dimensions: %p" % [[width, height, best_direct_url, all_direct_urls.size]]
|
99
100
|
unless min_resolution <= width * height
|
100
|
-
next logger.
|
101
|
+
next logger.debug "skipped low resolution #{source}"
|
101
102
|
end
|
102
103
|
# next if Gem::Platform.local.os == "darwin" # prevent concurrent posting
|
103
104
|
# puts "https://www.reddit.com/r/LargeImages/search.json?q=url%3A#{CGI.escape url}&restrict_sr=on"
|
@@ -155,6 +156,6 @@ loop do
|
|
155
156
|
end
|
156
157
|
end
|
157
158
|
|
158
|
-
logger.
|
159
|
+
logger.info "END LOOP #{Time.now}"
|
159
160
|
sleep 300
|
160
161
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
echo "TEST=_ bundle exec ruby main.rb"
|
@@ -1,9 +1,9 @@
|
|
1
1
|
GIT
|
2
2
|
remote: git@github.com:Nakilon/nethttputils.git
|
3
|
-
revision:
|
4
|
-
tag: v0.1.0.
|
3
|
+
revision: 6cb2b6a2422d82e266e08b16da4fa29e809fd260
|
4
|
+
tag: v0.1.0.4
|
5
5
|
specs:
|
6
|
-
nethttputils (0.1.0.
|
6
|
+
nethttputils (0.1.0.4)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
@@ -20,4 +20,4 @@ DEPENDENCIES
|
|
20
20
|
reddit_bot (~> 1.5.3)
|
21
21
|
|
22
22
|
BUNDLED WITH
|
23
|
-
1.16.
|
23
|
+
1.16.1
|
data/lib/reddit_bot.rb
CHANGED
@@ -201,44 +201,8 @@ module RedditBot
|
|
201
201
|
end
|
202
202
|
|
203
203
|
def reddit_resp *args
|
204
|
-
|
205
|
-
|
206
|
-
response = _resp *args
|
207
|
-
case response.code
|
208
|
-
when "502", "503", "520", "500", "521", "504", "400", "522", "504"
|
209
|
-
puts "LOL #{response.code} at #{Time.now}?"
|
210
|
-
p args
|
211
|
-
sleep 60
|
212
|
-
redo
|
213
|
-
when "409"
|
214
|
-
puts "Conflict (409)? at #{Time.now}?"
|
215
|
-
p args
|
216
|
-
sleep 5
|
217
|
-
redo
|
218
|
-
when "401"
|
219
|
-
puts "probably token is expired (401): #{response.body}"
|
220
|
-
sleep 5
|
221
|
-
# init *@secrets
|
222
|
-
@token_cached = nil # maybe just update_captcha?
|
223
|
-
throw :"401"
|
224
|
-
when "403"
|
225
|
-
puts "access denied: #{response.body} when requesting: #{args}"
|
226
|
-
sleep 300
|
227
|
-
redo
|
228
|
-
# throw :"403"
|
229
|
-
when "200"
|
230
|
-
"ok"
|
231
|
-
else
|
232
|
-
# puts response.body if response.code == "400"
|
233
|
-
# fail "#{response.code} at '#{args[1]}'"
|
234
|
-
fail "#{response.code} for '#{args}'"
|
235
|
-
end
|
236
|
-
end
|
237
|
-
response.body
|
238
|
-
end
|
239
|
-
|
240
|
-
def _resp mtd, url, form, headers, base_auth = nil
|
241
|
-
NetHTTPUtils.get_response(url, mtd, form: form, header: headers, auth: base_auth).tap do |response|
|
204
|
+
mtd, url, form, headers, base_auth = *args
|
205
|
+
NetHTTPUtils.request_data(url, mtd, form: form, header: headers, auth: base_auth) do |response|
|
242
206
|
next unless remaining = response.to_hash["x-ratelimit-remaining"]
|
243
207
|
if Gem::Platform.local.os == "darwin"
|
244
208
|
puts %w{
|
data/lib/reddit_bot/version.rb
CHANGED
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reddit_bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Maslov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
description: better than PRAW
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- examples/oneplus/Gemfile
|
78
78
|
- examples/oneplus/Gemfile.lock
|
79
79
|
- examples/oneplus/main.rb
|
80
|
+
- examples/realtimeww2/.bashrc
|
80
81
|
- examples/realtimeww2/Gemfile
|
81
82
|
- examples/realtimeww2/Gemfile.lock
|
82
83
|
- examples/realtimeww2/main.rb
|
@@ -102,17 +103,17 @@ require_paths:
|
|
102
103
|
- lib
|
103
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
104
105
|
requirements:
|
105
|
-
- -
|
106
|
+
- - ">="
|
106
107
|
- !ruby/object:Gem::Version
|
107
108
|
version: 2.0.0
|
108
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
110
|
requirements:
|
110
|
-
- -
|
111
|
+
- - ">="
|
111
112
|
- !ruby/object:Gem::Version
|
112
113
|
version: '0'
|
113
114
|
requirements: []
|
114
115
|
rubyforge_project:
|
115
|
-
rubygems_version: 2.
|
116
|
+
rubygems_version: 2.5.2
|
116
117
|
signing_key:
|
117
118
|
specification_version: 4
|
118
119
|
summary: Library for Reddit bots
|