discorb 0.14.0 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
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