discorb 0.14.0 → 0.16.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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_version.yml +1 -1
  3. data/.github/workflows/lint-push.yml +4 -2
  4. data/.rubocop.yml +6 -2
  5. data/Changelog.md +27 -0
  6. data/Rakefile +6 -0
  7. data/docs/events.md +71 -5
  8. data/docs/faq.md +8 -8
  9. data/examples/simple/rolepanel.rb +1 -1
  10. data/examples/simple/shard.rb +17 -0
  11. data/lib/discorb/allowed_mentions.rb +7 -0
  12. data/lib/discorb/app_command/command.rb +64 -2
  13. data/lib/discorb/app_command/handler.rb +1 -1
  14. data/lib/discorb/application.rb +16 -7
  15. data/lib/discorb/asset.rb +9 -0
  16. data/lib/discorb/{file.rb → attachment.rb} +55 -33
  17. data/lib/discorb/audit_logs.rb +42 -4
  18. data/lib/discorb/channel.rb +47 -12
  19. data/lib/discorb/client.rb +135 -51
  20. data/lib/discorb/common.rb +18 -4
  21. data/lib/discorb/components/button.rb +5 -6
  22. data/lib/discorb/components/select_menu.rb +2 -16
  23. data/lib/discorb/dictionary.rb +2 -0
  24. data/lib/discorb/embed.rb +71 -38
  25. data/lib/discorb/emoji.rb +29 -2
  26. data/lib/discorb/emoji_table.rb +1 -1
  27. data/lib/discorb/error.rb +7 -1
  28. data/lib/discorb/event.rb +27 -17
  29. data/lib/discorb/exe/new.rb +5 -5
  30. data/lib/discorb/exe/run.rb +1 -15
  31. data/lib/discorb/gateway.rb +262 -161
  32. data/lib/discorb/gateway_requests.rb +4 -7
  33. data/lib/discorb/guild.rb +67 -33
  34. data/lib/discorb/guild_template.rb +24 -3
  35. data/lib/discorb/http.rb +25 -3
  36. data/lib/discorb/integration.rb +23 -8
  37. data/lib/discorb/intents.rb +15 -10
  38. data/lib/discorb/interaction/autocomplete.rb +4 -4
  39. data/lib/discorb/interaction/command.rb +34 -5
  40. data/lib/discorb/interaction/components.rb +15 -2
  41. data/lib/discorb/interaction/response.rb +12 -0
  42. data/lib/discorb/interaction/root.rb +16 -1
  43. data/lib/discorb/invite.rb +11 -7
  44. data/lib/discorb/member.rb +21 -0
  45. data/lib/discorb/message.rb +59 -3
  46. data/lib/discorb/message_meta.rb +36 -55
  47. data/lib/discorb/modules.rb +38 -14
  48. data/lib/discorb/permission.rb +14 -5
  49. data/lib/discorb/presence.rb +41 -8
  50. data/lib/discorb/rate_limit.rb +7 -2
  51. data/lib/discorb/reaction.rb +6 -0
  52. data/lib/discorb/role.rb +12 -0
  53. data/lib/discorb/shard.rb +74 -0
  54. data/lib/discorb/sticker.rb +22 -14
  55. data/lib/discorb/user.rb +11 -0
  56. data/lib/discorb/voice_state.rb +20 -2
  57. data/lib/discorb/webhook.rb +53 -2
  58. data/lib/discorb.rb +5 -3
  59. data/sig/discorb.rbs +7234 -6714
  60. metadata +5 -4
  61. data/lib/discorb/log.rb +0 -81
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: discorb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sevenc-nanashi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-14 00:00:00.000000000 Z
11
+ date: 2022-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -142,6 +142,7 @@ files:
142
142
  - examples/simple/eval.rb
143
143
  - examples/simple/ping_pong.rb
144
144
  - examples/simple/rolepanel.rb
145
+ - examples/simple/shard.rb
145
146
  - examples/simple/wait_for_message.rb
146
147
  - exe/discorb
147
148
  - lib/discorb.rb
@@ -151,6 +152,7 @@ files:
151
152
  - lib/discorb/app_command/handler.rb
152
153
  - lib/discorb/application.rb
153
154
  - lib/discorb/asset.rb
155
+ - lib/discorb/attachment.rb
154
156
  - lib/discorb/audit_logs.rb
155
157
  - lib/discorb/channel.rb
156
158
  - lib/discorb/client.rb
@@ -175,7 +177,6 @@ files:
175
177
  - lib/discorb/exe/show.rb
176
178
  - lib/discorb/extend.rb
177
179
  - lib/discorb/extension.rb
178
- - lib/discorb/file.rb
179
180
  - lib/discorb/flag.rb
180
181
  - lib/discorb/gateway.rb
181
182
  - lib/discorb/gateway_requests.rb
@@ -193,7 +194,6 @@ files:
193
194
  - lib/discorb/interaction/response.rb
194
195
  - lib/discorb/interaction/root.rb
195
196
  - lib/discorb/invite.rb
196
- - lib/discorb/log.rb
197
197
  - lib/discorb/member.rb
198
198
  - lib/discorb/message.rb
199
199
  - lib/discorb/message_meta.rb
@@ -203,6 +203,7 @@ files:
203
203
  - lib/discorb/rate_limit.rb
204
204
  - lib/discorb/reaction.rb
205
205
  - lib/discorb/role.rb
206
+ - lib/discorb/shard.rb
206
207
  - lib/discorb/sticker.rb
207
208
  - lib/discorb/user.rb
208
209
  - lib/discorb/utils.rb
data/lib/discorb/log.rb DELETED
@@ -1,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Discorb
4
- # @private
5
- class Logger
6
- attr_accessor :out, :colorize_log
7
-
8
- @levels = %i[debug info warn error fatal].freeze
9
-
10
- def initialize(out, colorize_log, level)
11
- @out = out
12
- @level = self.class.levels.index(level)
13
- @colorize_log = colorize_log
14
- end
15
-
16
- def inspect
17
- "#<#{self.class} level=#{level}>"
18
- end
19
-
20
- def level
21
- self.class.levels[@level]
22
- end
23
-
24
- def level=(level)
25
- @level = self.class.levels.index(level)
26
- raise ArgumentError, "Invalid log level: #{level}" unless @level
27
- end
28
-
29
- def debug(message, fallback: nil)
30
- return unless @level <= 0
31
-
32
- write_output("DEBUG", "\e[90m", message, fallback)
33
- end
34
-
35
- def info(message, fallback: nil)
36
- return unless @level <= 1
37
-
38
- write_output("INFO", "\e[94m", message, fallback)
39
- end
40
-
41
- def warn(message, fallback: nil)
42
- return unless @level <= 2
43
-
44
- write_output("WARN", "\e[93m", message, fallback)
45
- end
46
-
47
- def error(message, fallback: nil)
48
- return unless @level <= 3
49
-
50
- write_output("ERROR", "\e[31m", message, fallback)
51
- end
52
-
53
- def fatal(message, fallback: nil)
54
- return unless @level <= 4
55
-
56
- write_output("FATAL", "\e[91m", message, fallback)
57
- end
58
-
59
- class << self
60
- attr_reader :levels
61
- end
62
-
63
- private
64
-
65
- def write_output(name, color, message, fallback)
66
- unless @out
67
- fallback&.puts(message)
68
-
69
- return
70
- end
71
-
72
- time = Time.now.iso8601
73
- if @colorize_log
74
- @out.write("\e[90m#{time}\e[0m #{color}#{name.ljust(5)}\e[0m #{message}\n")
75
- else
76
- @out.write("#{time} #{name.ljust(5)} #{message}\n")
77
- end
78
- @out.flush
79
- end
80
- end
81
- end