discord_api 0.0.1 → 0.1.1
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/README.md +75 -1
- data/Rakefile +1 -1
- data/lib/discord/client.rb +12 -0
- data/lib/discord/collection.rb +4 -4
- data/lib/discord/objects/channel.rb +4 -0
- data/lib/discord/objects/guild.rb +4 -0
- data/lib/discord/objects/message.rb +4 -0
- data/lib/discord/resources/channels.rb +13 -0
- data/lib/discord/resources/guilds.rb +24 -0
- data/lib/discord/resources/messages.rb +32 -0
- data/lib/discord/resources/users.rb +5 -1
- data/lib/discord/version.rb +1 -1
- data/lib/discord.rb +6 -0
- metadata +14 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5b44836b278c5d28cd0a2c6fe4009eae2957b0c6bc803fa9cfcc277b7eb794b
|
4
|
+
data.tar.gz: 6b7b1de20d49ba721cdd56409e06ce854973951d0dec7a1e38ca44046dd52da3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f32b3a7c6103ceedf3455e10ee7ec02d89522b34031c5d8fe546bf31d02103e3afdbf422f9c5876a0d9735f5ae005876015b033e24e448826caa1e004950cb5
|
7
|
+
data.tar.gz: 3f14957f832318e5a7c590830fbc0e7ac7f45a32c1299db78d70d8f98a9e764f614410896f41bb5eaa5de6fac8ee2fc5891300b8efda6f8b6386bb8a3bf80f5f
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Discord API
|
2
2
|
|
3
|
-
This is a Ruby
|
3
|
+
This is a Ruby library for the Discord HTTP API. **Currently in development**
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -28,5 +28,79 @@ Firstly you'll need to set either a user token or bot token. Some endpoints are
|
|
28
28
|
|
29
29
|
```ruby
|
30
30
|
# Get the current user
|
31
|
+
# Required scope: identify
|
32
|
+
# Required scopes if you want the user's email: identify email
|
31
33
|
@client.users.me
|
34
|
+
|
35
|
+
# Get the user's guilds
|
36
|
+
# Required scope: guilds
|
37
|
+
@client.users.guilds
|
38
|
+
```
|
39
|
+
|
40
|
+
### Channels
|
41
|
+
|
42
|
+
These endpoints are only accessible using a bot token.
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
# Retrieve a Channel
|
46
|
+
@client.channels.retrieve(id: 123123)
|
47
|
+
|
48
|
+
# Update a Channel's details
|
49
|
+
# https://discord.com/developers/docs/resources/channel#modify-channel
|
50
|
+
@client.channels.update(id: 123123, name: "new-channel-name")
|
51
|
+
```
|
52
|
+
|
53
|
+
### Messages
|
54
|
+
|
55
|
+
These endpoints are only accessible using a bot token.
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
# List messages for a channel
|
59
|
+
@client.messages.list(channel_id: 123123)
|
60
|
+
|
61
|
+
# Get a message
|
62
|
+
@client.messages.retrieve(channel_id: 123123, message_id: 123123)
|
63
|
+
|
64
|
+
# Create a message
|
65
|
+
# https://discord.com/developers/docs/resources/channel#create-message
|
66
|
+
@client.messages.create(channel_id: 123123, content: "Hello World")
|
67
|
+
|
68
|
+
# Update a message
|
69
|
+
# https://discord.com/developers/docs/resources/channel#edit-message
|
70
|
+
@client.messages.update(channel_id: 123123, message_id: 123123, content: "Hello World")
|
71
|
+
|
72
|
+
# Delete a message
|
73
|
+
@client.messages.delete(channel_id: 123123, message_id: 123123)
|
74
|
+
|
75
|
+
# Bulk delete messages
|
76
|
+
@client.messages.bulk_delete(channel_id: 123123, ids: [123123, 321321])
|
32
77
|
```
|
78
|
+
|
79
|
+
### Guilds/Servers
|
80
|
+
|
81
|
+
These endpoints are only accessible using a bot token.
|
82
|
+
|
83
|
+
```ruby
|
84
|
+
# Retrieve a Guild's details
|
85
|
+
@client.guilds.retrieve(id: 123123)
|
86
|
+
|
87
|
+
# Update a Guild's details
|
88
|
+
# https://discord.com/developers/docs/resources/guild#modify-guild
|
89
|
+
@client.guilds.update(id: 123123, name: "new-guild-name")
|
90
|
+
|
91
|
+
# Retrieve a list of a Guild's channels
|
92
|
+
@client.guilds.channels(guild: 123123)
|
93
|
+
|
94
|
+
# Create a Guild channel
|
95
|
+
# https://discord.com/developers/docs/resources/guild#create-guild-channel
|
96
|
+
@client.guilds.create_channel(guild: 123123, name: "new-channel-name")
|
97
|
+
```
|
98
|
+
|
99
|
+
## Contributing
|
100
|
+
|
101
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/deanpcmad/discord_api.
|
102
|
+
|
103
|
+
## License
|
104
|
+
|
105
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
106
|
+
|
data/Rakefile
CHANGED
data/lib/discord/client.rb
CHANGED
@@ -14,6 +14,18 @@ module Discord
|
|
14
14
|
UsersResource.new(self)
|
15
15
|
end
|
16
16
|
|
17
|
+
def guilds
|
18
|
+
GuildsResource.new(self)
|
19
|
+
end
|
20
|
+
|
21
|
+
def channels
|
22
|
+
ChannelsResource.new(self)
|
23
|
+
end
|
24
|
+
|
25
|
+
def messages
|
26
|
+
MessagesResource.new(self)
|
27
|
+
end
|
28
|
+
|
17
29
|
def connection
|
18
30
|
@connection ||= Faraday.new(BASE_URL) do |conn|
|
19
31
|
if user_access_token
|
data/lib/discord/collection.rb
CHANGED
@@ -6,13 +6,13 @@ module Discord
|
|
6
6
|
body = response.body
|
7
7
|
|
8
8
|
new(
|
9
|
-
data: body
|
10
|
-
total: body
|
11
|
-
cursor: body.dig("pagination", "cursor")
|
9
|
+
data: body.map { |attrs| type.new(attrs) },
|
10
|
+
total: body.count,
|
11
|
+
# cursor: body.dig("pagination", "cursor")
|
12
12
|
)
|
13
13
|
end
|
14
14
|
|
15
|
-
def initialize(data:, total:, cursor:)
|
15
|
+
def initialize(data:, total:, cursor:nil)
|
16
16
|
@data = data
|
17
17
|
@total = total
|
18
18
|
@cursor = cursor.nil? ? nil : cursor
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Discord
|
2
|
+
class GuildsResource < Resource
|
3
|
+
|
4
|
+
def retrieve(id:)
|
5
|
+
Guild.new get_request("guilds/#{id}").body
|
6
|
+
end
|
7
|
+
|
8
|
+
def update(id:, **params)
|
9
|
+
response = patch_request("guilds/#{id}", body: params)
|
10
|
+
Guild.new response.body
|
11
|
+
end
|
12
|
+
|
13
|
+
def channels(guild:)
|
14
|
+
response = get_request("guilds/#{guild}/channels")
|
15
|
+
Collection.from_response(response, type: Channel)
|
16
|
+
end
|
17
|
+
|
18
|
+
def create_channel(guild:, **params)
|
19
|
+
response = post_request("guilds/#{guild}/channels", body: params)
|
20
|
+
Channel.new response.body
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Discord
|
2
|
+
class MessagesResource < Resource
|
3
|
+
|
4
|
+
def list(channel:, **params)
|
5
|
+
response = get_request("channels/#{channel}/messages", params: params)
|
6
|
+
Collection.from_response(response, type: Message)
|
7
|
+
end
|
8
|
+
|
9
|
+
def retrieve(channel:, message:)
|
10
|
+
Message.new get_request("channels/#{channel}/messages/#{message}").body
|
11
|
+
end
|
12
|
+
|
13
|
+
def create(channel:, **params)
|
14
|
+
response = post_request("channels/#{channel}/messages", body: params)
|
15
|
+
Message.new response.body
|
16
|
+
end
|
17
|
+
|
18
|
+
def update(channel:, id:, **params)
|
19
|
+
response = patch_request("channels/#{channel}/messages/#{id}", body: params)
|
20
|
+
Message.new response.body
|
21
|
+
end
|
22
|
+
|
23
|
+
def delete(channel:, id:)
|
24
|
+
delete_request("channels/#{channel}/messages/#{id}")
|
25
|
+
end
|
26
|
+
|
27
|
+
def bulk_delete(channel:, messages:)
|
28
|
+
post_request("channels/#{channel}/messages/bulk-delete", body: {messages: messages})
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
@@ -1,10 +1,14 @@
|
|
1
1
|
module Discord
|
2
2
|
class UsersResource < Resource
|
3
3
|
|
4
|
-
# Get the currently authenticated user
|
5
4
|
def me
|
6
5
|
User.new get_request("users/@me").body
|
7
6
|
end
|
8
7
|
|
8
|
+
def guilds
|
9
|
+
response = get_request("users/@me/guilds")
|
10
|
+
Collection.from_response(response, type: Guild)
|
11
|
+
end
|
12
|
+
|
9
13
|
end
|
10
14
|
end
|
data/lib/discord/version.rb
CHANGED
data/lib/discord.rb
CHANGED
@@ -11,7 +11,13 @@ module Discord
|
|
11
11
|
autoload :Object, "discord/object"
|
12
12
|
|
13
13
|
autoload :UsersResource, "discord/resources/users"
|
14
|
+
autoload :ChannelsResource, "discord/resources/channels"
|
15
|
+
autoload :MessagesResource, "discord/resources/messages"
|
16
|
+
autoload :GuildsResource, "discord/resources/guilds"
|
14
17
|
|
15
18
|
autoload :User, "discord/objects/user"
|
19
|
+
autoload :Guild, "discord/objects/guild"
|
20
|
+
autoload :Channel, "discord/objects/channel"
|
21
|
+
autoload :Message, "discord/objects/message"
|
16
22
|
|
17
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discord_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dean Perry
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -41,16 +41,24 @@ files:
|
|
41
41
|
- lib/discord/collection.rb
|
42
42
|
- lib/discord/error.rb
|
43
43
|
- lib/discord/object.rb
|
44
|
+
- lib/discord/objects/channel.rb
|
45
|
+
- lib/discord/objects/guild.rb
|
46
|
+
- lib/discord/objects/message.rb
|
44
47
|
- lib/discord/objects/user.rb
|
45
48
|
- lib/discord/resource.rb
|
49
|
+
- lib/discord/resources/channels.rb
|
50
|
+
- lib/discord/resources/guilds.rb
|
51
|
+
- lib/discord/resources/messages.rb
|
46
52
|
- lib/discord/resources/users.rb
|
47
53
|
- lib/discord/version.rb
|
48
54
|
- lib/discord_api.rb
|
49
55
|
- sig/discord/api.rbs
|
50
|
-
homepage:
|
56
|
+
homepage: https://github.com/deanpcmad/discord_api
|
51
57
|
licenses:
|
52
58
|
- MIT
|
53
|
-
metadata:
|
59
|
+
metadata:
|
60
|
+
homepage_uri: https://github.com/deanpcmad/discord_api
|
61
|
+
source_code_uri: https://github.com/deanpcmad/discord_api
|
54
62
|
post_install_message:
|
55
63
|
rdoc_options: []
|
56
64
|
require_paths:
|
@@ -66,8 +74,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
74
|
- !ruby/object:Gem::Version
|
67
75
|
version: '0'
|
68
76
|
requirements: []
|
69
|
-
rubygems_version: 3.4.
|
77
|
+
rubygems_version: 3.4.20
|
70
78
|
signing_key:
|
71
79
|
specification_version: 4
|
72
|
-
summary:
|
80
|
+
summary: Ruby library for the Discord HTTP API
|
73
81
|
test_files: []
|