reddit_bot 0.1.1 → 0.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: cf853922de330ff48fbb769f10d7f49375c1af7c
4
- data.tar.gz: 951e17435175ecbd77704ccc91b2ec262081a317
3
+ metadata.gz: daabdb0e46020c2a06840b208f784b7ef1fad493
4
+ data.tar.gz: 4f8efbfc0df0c6e7679d0b55bc5100079ee8eb7e
5
5
  SHA512:
6
- metadata.gz: 1ee0c205ec62a088e7336ecbefc760fb8bf0f91f2af46ceace29678fc9ad002d0c4924c3fb0baca7c84f8faf00ced71f6fdecabd2e6ae954617fff1a318e2a22
7
- data.tar.gz: 2cf030135c7458facff5432319f5ee2fbbbe590a8ab68352187df20ac29927cd87db14c19a44c4900ab4f080be089e2cea4260e9b283396bc3aca6a7ad92489c
6
+ metadata.gz: a6a434f58cf7e6c9f1b8fdea7c37ab65725458aa241772d30d0d6fb3c9bbc645a4ce37d54c2eacccd0268e986f5bd5a662a10eed5a48ed314a053b7f3374d33c
7
+ data.tar.gz: c9eca04193797593324ad5b51be85e875dbcdbd493afe1fff71225445313fa03b191c0171a4667d54ea2ee9a990eadbaedee266be50eae2880dd723a9f2fcfff
@@ -2,8 +2,8 @@ STDOUT.sync = true
2
2
 
3
3
  require "pp"
4
4
 
5
- require_relative File.join \
6
- *("../../../download_with_retry" if ENV["LOGNAME"] == "nakilon"),
5
+ require_relative File.join "../..",
6
+ *("../download_with_retry" if ENV["LOGNAME"] == "nakilon"),
7
7
  "download_with_retry"
8
8
 
9
9
  require "reddit_bot"
@@ -1,5 +1,3 @@
1
- STDOUT.sync = true
2
-
3
1
  require_relative File.join "..", "boilerplate"
4
2
 
5
3
  # SUBREDDIT = "test___________"
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # gem "json"
4
+ gem "reddit_bot"
@@ -0,0 +1,13 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ reddit_bot (0.1.0)
5
+
6
+ PLATFORMS
7
+ ruby
8
+
9
+ DEPENDENCIES
10
+ reddit_bot
11
+
12
+ BUNDLED WITH
13
+ 1.11.2
@@ -0,0 +1,76 @@
1
+ require_relative File.join "..", "boilerplate"
2
+
3
+ SUBREDDIT = "codcompetitive"
4
+ # SUBREDDIT = "test___________"
5
+
6
+ loop do
7
+ AWSStatus::touch
8
+ catch :loop do
9
+
10
+ text = " Live Streams\n\n" + [].tap do |list|
11
+
12
+ throw :loop unless statuses = JSON.parse(
13
+ DownloadWithRetry::download_with_retry("http://streamapi.majorleaguegaming.com/service/streams/all")[/\{.+\}/m]
14
+ )["data"]["items"]
15
+ begin
16
+ JSON.parse DownloadWithRetry::download_with_retry(
17
+ # DownloadWithRetry::download_with_retry("http://www.majorleaguegaming.com/api/channels/all.js?fields=id,name,slug,subtitle,game_id,stream_name,type,default_tab,is_hidden,chat_is_disabled,image_1_1,image_16_9,image_16_9_small,image_16_9_medium,image_background,url,embed_code,stream_featured,stream_sort_order,tags,tag_names,children,description,subscription_url,donate_url,donate_text,partner_embed")
18
+ "http://www.majorleaguegaming.com/api/channels/all.js?fields=name,url,tags,stream_name"
19
+ )
20
+ rescue JSON::ParserError
21
+ puts "JSON::ParserError"
22
+ sleep 60
23
+ retry
24
+ end["data"]["items"].each do |item1|
25
+ next unless item1["tags"].include? "COD Pro League"
26
+ status = statuses.find{ |item2| item1["stream_name"] == item2["stream_name"] }
27
+ next unless status && status["status"] > 0
28
+ list << "* [](#mlg) [](##{
29
+ ["?", "live", "replay"][status["status"]]
30
+ }) [**#{
31
+ item1["name"]
32
+ }**](#{
33
+ item1["url"]
34
+ })"
35
+ end
36
+
37
+ require "cgi"
38
+ JSON.parse(DownloadWithRetry::download_with_retry(
39
+ "https://api.twitch.tv/kraken/streams?game=#{CGI::escape "Call of Duty: Black Ops III"}&access_token=#{File.read "twitch.token"}&channel=TyreeLegal,Phizzurp,TheFEARS,CMPLXX,Methodz,Blfire,Tylerfelo,Sender_cw,Diabolic_tv,MJChino,Clayster,Enable,Attach,Zoomaaa,John,ReplaysTV,SpacelyTV,ColeChanTV,SaintsRF,Proofy,Whea7s,ParasiteTV,Ricky,Nameless,Mirx1,Formal,Karma,Scumperjumper,Crimsix,Slacked,Octane,Aqua,Nagafen,Faccento,Jkap,Aches,Teepee,Sharp,Neslo,Goon_jar,TheoryCOD,SteveMochilaCanle,Silly,Merk,Studyy,K1lla93,Burns,Dedo,Swanny,Tommey,DylDaly,Gotaga,QwikerThanU,TCM_Moose,Themarkyb,Maven,MattMrX,CourageJD,Happyy97,Revan,PacmanianDevil,Loonnny,BriceyHD,TeeCM,Senderxz,Zoomaa"
40
+ ))["streams"].each do |channel|
41
+ list << "* [](#twitch) [](#live) [**#{
42
+ channel["channel"]["display_name"]
43
+ }**](#{
44
+ channel["channel"]["url"]
45
+ })"
46
+ end
47
+
48
+ end.join(" \n") + "\n"
49
+
50
+ settings = RedditBot.json(:get, "/r/#{SUBREDDIT}/about/edit")["data"]
51
+ # https://github.com/praw-dev/praw/blob/c45e5f6ca0c5cd9968b51301989eb82740f8dc85/praw/__init__.py#L1592
52
+ settings.store "sr", settings.delete("subreddit_id")
53
+ settings.store "lang", settings.delete("language")
54
+ settings.store "link_type", settings.delete("content_options")
55
+ settings.store "type", settings.delete("subreddit_type")
56
+ settings.store "header-title", settings.delete("header_hover_text") || ""
57
+ settings["domain"] ||= ""
58
+ settings["submit_link_label"] ||= ""
59
+ settings["submit_text_label"] ||= ""
60
+ settings["allow_top"] = settings["allow_top"]
61
+ settings.delete "default_set"
62
+
63
+ prefix, postfix = settings["description"].split(/(?<=\n#####)\s*Live Streams.+?(?=\n#+)/im)
64
+ unless postfix
65
+ puts "!!! can't parse sidebar !!!"
66
+ throw :loop
67
+ end
68
+ next puts "nothing to change" if prefix + text + postfix == settings["description"]
69
+
70
+ settings["description"] = prefix + text + postfix
71
+ _ = RedditBot.json :post, "/api/site_admin", settings.to_a
72
+ fail _.inspect if _ != {"json"=>{"errors"=>[]}} && !(_["json"]["errors"].map(&:first) - ["BAD_CAPTCHA"]).empty?
73
+
74
+ end
75
+ sleep 60
76
+ end
data/lib/reddit_bot.rb CHANGED
@@ -8,7 +8,7 @@ require "json"
8
8
 
9
9
 
10
10
  module RedditBot
11
- VERSION = "0.1.1"
11
+ VERSION = "0.1.2"
12
12
 
13
13
  class << self
14
14
 
data/reddit_bot.gemspec CHANGED
@@ -10,13 +10,14 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["nakilon@gmail.com"]
11
11
 
12
12
  spec.summary = "Library for Reddit bots"
13
- spec.description = ""
14
- spec.homepage = ""
13
+ spec.description = "better than PRAW"
14
+ spec.homepage = "https://github.com/Nakilon/reddit_bot"
15
15
  spec.license = "MIT"
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0")#.reject { |f| f.match(%r{^(test|spec|features)/})/ }
18
18
  # spec.require_paths = ["lib"]
19
19
 
20
+ spec.add_runtime_dependency "json"
20
21
  # spec.add_development_dependency "bundler", "~> 1.11"
21
22
  # spec.add_development_dependency "rake", "~> 10.0"
22
23
  # spec.add_development_dependency "rspec", "~> 3.0"
metadata CHANGED
@@ -1,16 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reddit_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.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-01-05 00:00:00.000000000 Z
12
- dependencies: []
13
- description: ''
11
+ date: 2016-01-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: json
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: better than PRAW
14
28
  email:
15
29
  - nakilon@gmail.com
16
30
  executables: []
@@ -24,9 +38,12 @@ files:
24
38
  - examples/iostroubleshooting/Gemfile
25
39
  - examples/iostroubleshooting/Gemfile.lock
26
40
  - examples/iostroubleshooting/main.rb
41
+ - examples/mlgtv/Gemfile
42
+ - examples/mlgtv/Gemfile.lock
43
+ - examples/mlgtv/main.rb
27
44
  - lib/reddit_bot.rb
28
45
  - reddit_bot.gemspec
29
- homepage: ''
46
+ homepage: https://github.com/Nakilon/reddit_bot
30
47
  licenses:
31
48
  - MIT
32
49
  metadata: {}