dblruby 0.8.0 → 1.0.0
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 +4 -4
- data/lib/dblruby.rb +33 -23
- data/lib/dblruby/bot.rb +18 -20
- data/lib/dblruby/search.rb +92 -0
- data/lib/dblruby/weekend.rb +21 -0
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26976efdbb810637c0f47ae21edb5905ae183644
|
4
|
+
data.tar.gz: a3efa28a57d5b232f41b2e129c8cde8ead7d7c20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 318b638e5f13794dd4558ead75598248b32786cbd64be498711505e4ee5eaef8c72b11803dc861c5e144176ccdc18d5ac2693ae379746d635be85b31cb47c640
|
7
|
+
data.tar.gz: 734a9d1f29f2ed8364f3648e75cc60d4fe82f2ea0dcf799a61a9bfbf547e4102ca26f1cf417b7d04f391f058774d8ca00e26084d1cbc21bf5ec9a2847dac3caa
|
data/lib/dblruby.rb
CHANGED
@@ -10,45 +10,58 @@ class DBLRuby
|
|
10
10
|
def initialize(apikey, id)
|
11
11
|
@api = apikey
|
12
12
|
@id = id
|
13
|
-
makestats
|
14
13
|
end
|
15
14
|
|
16
15
|
# Initialize stats
|
17
|
-
def
|
18
|
-
|
16
|
+
def stats
|
17
|
+
Stats.new(@api, @id)
|
19
18
|
end
|
20
19
|
|
21
20
|
# Load a bot.
|
22
21
|
# @param id [Integer, String] Integer/String ID of the bot you're requesting.
|
23
|
-
def
|
24
|
-
|
22
|
+
def bot(id)
|
23
|
+
Bot.new(id: id)
|
24
|
+
end
|
25
|
+
|
26
|
+
alias loadbot bot
|
27
|
+
|
28
|
+
# Get all of the bot's stats as if you just called DBL.bot(id)
|
29
|
+
# @return [Bot] the bot as a bot.
|
30
|
+
def self
|
31
|
+
bot(@id)
|
25
32
|
end
|
26
33
|
|
27
34
|
# Load a user
|
28
35
|
# @param id [Integer, String] Integer/String ID of the user you're requesting.
|
29
|
-
def
|
30
|
-
|
36
|
+
def user(id)
|
37
|
+
User.new(id)
|
31
38
|
end
|
32
39
|
|
40
|
+
alias loaduser user
|
41
|
+
|
33
42
|
# Change the API key
|
34
43
|
# @param apikey [String] API Key of the bot, taken from the DBL.
|
35
|
-
|
36
|
-
@api = apikey
|
37
|
-
makestats
|
38
|
-
end
|
44
|
+
attr_writer :api
|
39
45
|
|
40
|
-
alias updateapikey
|
41
|
-
alias api=
|
42
|
-
alias apikey=
|
46
|
+
alias updateapikey api=
|
47
|
+
alias updateapi api=
|
48
|
+
alias apikey= api=
|
43
49
|
|
44
50
|
# Change the bot ID
|
45
51
|
# @param id [Integer, String] Integer/String of the bot's id.
|
46
|
-
|
47
|
-
|
48
|
-
|
52
|
+
attr_writer :id
|
53
|
+
|
54
|
+
alias updateid id=
|
55
|
+
|
56
|
+
# Define weekend
|
57
|
+
def weekend
|
58
|
+
Weekend.new
|
49
59
|
end
|
50
60
|
|
51
|
-
|
61
|
+
# @see Search#initialize
|
62
|
+
def search(search: nil, limit: 50, offset: 0, sort: nil, fields: nil)
|
63
|
+
Search.new(search: search, limit: limit, offset: offset, sort: sort, fields: fields)
|
64
|
+
end
|
52
65
|
|
53
66
|
# Get the ID from instantiation
|
54
67
|
attr_reader :id
|
@@ -57,15 +70,12 @@ class DBLRuby
|
|
57
70
|
attr_reader :api
|
58
71
|
|
59
72
|
alias apikey api
|
60
|
-
|
61
|
-
attr_reader :bot
|
62
|
-
attr_reader :user
|
63
|
-
attr_reader :stats
|
64
73
|
end
|
65
74
|
|
66
75
|
# Require files.
|
67
|
-
require 'dblruby/api'
|
68
76
|
require 'dblruby/bot'
|
69
77
|
require 'dblruby/errors'
|
70
78
|
require 'dblruby/user'
|
79
|
+
require 'dblruby/search'
|
71
80
|
require 'dblruby/stats'
|
81
|
+
require 'dblruby/weekend'
|
data/lib/dblruby/bot.rb
CHANGED
@@ -3,9 +3,13 @@ class DBLRuby::Bot
|
|
3
3
|
# Initialize the bot
|
4
4
|
# @param id [Integer, String] Integer/String ID of bot you're requesting.
|
5
5
|
# @raise [DBLRuby::Errors::InvalidBot] if the DBL returns a 404 error.
|
6
|
-
def initialize(id)
|
7
|
-
|
8
|
-
|
6
|
+
def initialize(id: nil, data: nil)
|
7
|
+
if id.nil?
|
8
|
+
@data = data
|
9
|
+
else
|
10
|
+
url = "https://discordbots.org/api/bots/#{id}"
|
11
|
+
@data = JSON.parse(RestClient.get(url))
|
12
|
+
end
|
9
13
|
rescue RestClient::NotFound
|
10
14
|
raise DBLRuby::Errors::InvalidBot,
|
11
15
|
'The API returned a 404 error! Is that bot listed?'
|
@@ -101,9 +105,9 @@ class DBLRuby::Bot
|
|
101
105
|
end
|
102
106
|
|
103
107
|
# The discriminator of the bot.
|
104
|
-
# @return [
|
108
|
+
# @return [String] the bot's discriminator.
|
105
109
|
def discriminator
|
106
|
-
@data['discriminator']
|
110
|
+
@data['discriminator']
|
107
111
|
end
|
108
112
|
|
109
113
|
alias discrim discriminator
|
@@ -187,13 +191,13 @@ class DBLRuby::Bot
|
|
187
191
|
|
188
192
|
# The certified status of the bot.
|
189
193
|
# @return [true, false] the bot's certified status.
|
190
|
-
def
|
194
|
+
def certified?
|
191
195
|
@data['certifiedBot']
|
192
196
|
end
|
193
197
|
|
194
|
-
alias certified?
|
195
|
-
alias certified
|
196
|
-
alias certifiedbot?
|
198
|
+
alias certifiedbot certified?
|
199
|
+
alias certified certified?
|
200
|
+
alias certifiedbot? certified?
|
197
201
|
|
198
202
|
# The owners of the bot. First one in the array is the main owner.
|
199
203
|
# @return [Array<String>] the bot's owners in an array.
|
@@ -207,17 +211,11 @@ class DBLRuby::Bot
|
|
207
211
|
@data['tags']
|
208
212
|
end
|
209
213
|
|
210
|
-
#
|
211
|
-
# @return [String] the bot's
|
212
|
-
def
|
213
|
-
@data['
|
214
|
+
# Get the bot's donate bot guild ID.
|
215
|
+
# @return [String] the bot's donate bot guild ID.
|
216
|
+
def donatebotguildid
|
217
|
+
@data['donatebotguildid']
|
214
218
|
end
|
215
219
|
|
216
|
-
|
217
|
-
# @return [true, false] the bot's legacy status.
|
218
|
-
def legacy
|
219
|
-
@data['legacy']
|
220
|
-
end
|
221
|
-
|
222
|
-
alias legacy? legacy
|
220
|
+
alias donatebotserverid donatebotguildid
|
223
221
|
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# A search for the bots
|
2
|
+
class DBLRuby::Search
|
3
|
+
# Start a new search
|
4
|
+
# @param limit [Integer] The amount of bots to return. Max. 500
|
5
|
+
# @param offset [Integer] Amount of bots to skip
|
6
|
+
# @param search [String] A search string in the format of field: value field2: value2
|
7
|
+
# @param sort [String] The field to sort by. Prefix with - to reverse the order
|
8
|
+
# @param fields [String] A comma separated list of fields to show.
|
9
|
+
def initialize(search: nil, limit: 50, offset: 0, sort: nil, fields: nil)
|
10
|
+
url = 'https://discordbots.org/api/bots'
|
11
|
+
@search = search
|
12
|
+
@limit = limit
|
13
|
+
@offset = offset
|
14
|
+
@sort = sort
|
15
|
+
@fields = fields
|
16
|
+
@data = JSON.parse(RestClient.get(url, params: { search: search,
|
17
|
+
limit: limit,
|
18
|
+
offset: offset,
|
19
|
+
sort: sort,
|
20
|
+
fields: fields }))
|
21
|
+
end
|
22
|
+
|
23
|
+
# @return data in raw json form.
|
24
|
+
attr_reader :data
|
25
|
+
|
26
|
+
alias to_s data
|
27
|
+
|
28
|
+
# @return [String] the search query
|
29
|
+
attr_reader :search
|
30
|
+
|
31
|
+
# @return [Integer] the limit query
|
32
|
+
attr_reader :limit
|
33
|
+
|
34
|
+
# @return [Integer] the offset query
|
35
|
+
attr_reader :offset
|
36
|
+
|
37
|
+
# @return [String] the sort query
|
38
|
+
attr_reader :sort
|
39
|
+
|
40
|
+
# @return [String] the fields query
|
41
|
+
attr_reader :fields
|
42
|
+
|
43
|
+
# The amount of results returned
|
44
|
+
# @return [String] The amount of bots
|
45
|
+
# @see #count
|
46
|
+
def size
|
47
|
+
@data['results'].length
|
48
|
+
end
|
49
|
+
|
50
|
+
# Gets all the bots
|
51
|
+
# @return [Array<Bot>] a list of the bots
|
52
|
+
def results
|
53
|
+
output = Array.new(size)
|
54
|
+
cur = 0
|
55
|
+
@data['results'].each do |e|
|
56
|
+
output[cur] = DBLRuby::Bot.new(data: e)
|
57
|
+
cur += 1
|
58
|
+
end
|
59
|
+
output
|
60
|
+
end
|
61
|
+
|
62
|
+
# Return only the first bot
|
63
|
+
# @return [Bot] the first bot.
|
64
|
+
def first
|
65
|
+
DBLRuby::Bot.new(data: @data['results'][0])
|
66
|
+
end
|
67
|
+
|
68
|
+
# Get the next page
|
69
|
+
# @return [Search] next page of results
|
70
|
+
def next
|
71
|
+
DBLRuby::Search.new(
|
72
|
+
search: search,
|
73
|
+
limit: limit,
|
74
|
+
offset: limit + offset,
|
75
|
+
sort: sort,
|
76
|
+
fields: fields
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
80
|
+
# Get the bot count in this result
|
81
|
+
# @return [Integer] total bots returned
|
82
|
+
# @see #size
|
83
|
+
def count
|
84
|
+
@data['count']
|
85
|
+
end
|
86
|
+
|
87
|
+
# Get the total possible amount of bots there are for this query
|
88
|
+
# @return [Integer] the total amount of bots
|
89
|
+
def total
|
90
|
+
@data['total']
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Find information about the weekend.
|
2
|
+
class DBLRuby::Weekend
|
3
|
+
# Initialize the weekend
|
4
|
+
def initialize
|
5
|
+
url = 'https://discordbots.org/api/weekend'
|
6
|
+
@data = JSON.parse(RestClient.get(url))
|
7
|
+
end
|
8
|
+
|
9
|
+
# @return data in raw json form.
|
10
|
+
attr_reader :data
|
11
|
+
|
12
|
+
alias to_s data
|
13
|
+
|
14
|
+
# Return the whether it's the weekend.
|
15
|
+
# @return [true, false] the weekend status.
|
16
|
+
def weekend?
|
17
|
+
@data['is_weekend']
|
18
|
+
end
|
19
|
+
|
20
|
+
alias isweekend weekend?
|
21
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dblruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chewsterchew
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-10 00:00:00.000000000 Z
|
12
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: 2.0.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.0
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rest-client
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -34,8 +48,10 @@ files:
|
|
34
48
|
- lib/dblruby/api.rb
|
35
49
|
- lib/dblruby/bot.rb
|
36
50
|
- lib/dblruby/errors.rb
|
51
|
+
- lib/dblruby/search.rb
|
37
52
|
- lib/dblruby/stats.rb
|
38
53
|
- lib/dblruby/user.rb
|
54
|
+
- lib/dblruby/weekend.rb
|
39
55
|
homepage: http://github.com/Chewsterchew/DBLRuby
|
40
56
|
licenses:
|
41
57
|
- MIT
|