discorb 0.12.4 → 0.13.3

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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_main.yml +1 -0
  3. data/.github/workflows/build_version.yml +4 -3
  4. data/.github/workflows/crowdin.yml +32 -0
  5. data/.gitignore +3 -1
  6. data/.yardopts +2 -0
  7. data/Changelog.md +412 -378
  8. data/Gemfile +5 -1
  9. data/README.md +2 -2
  10. data/Rakefile +131 -1
  11. data/crowdin.yml +2 -0
  12. data/discorb.gemspec +12 -1
  13. data/docs/Examples.md +2 -0
  14. data/docs/application_command.md +16 -12
  15. data/docs/cli/irb.md +2 -0
  16. data/docs/cli/new.md +2 -0
  17. data/docs/cli/run.md +3 -1
  18. data/docs/cli/setup.md +4 -2
  19. data/docs/cli.md +2 -0
  20. data/docs/events.md +59 -5
  21. data/docs/extension.md +2 -2
  22. data/docs/faq.md +4 -2
  23. data/docs/license.md +2 -0
  24. data/docs/tutorial.md +4 -3
  25. data/docs/voice_events.md +2 -0
  26. data/lib/discorb/app_command.rb +8 -7
  27. data/lib/discorb/application.rb +32 -2
  28. data/lib/discorb/asset.rb +1 -1
  29. data/lib/discorb/audit_logs.rb +28 -16
  30. data/lib/discorb/channel.rb +140 -81
  31. data/lib/discorb/client.rb +17 -19
  32. data/lib/discorb/common.rb +28 -1
  33. data/lib/discorb/components.rb +12 -0
  34. data/lib/discorb/dictionary.rb +1 -1
  35. data/lib/discorb/embed.rb +4 -0
  36. data/lib/discorb/emoji.rb +9 -7
  37. data/lib/discorb/emoji_table.rb +3891 -3891
  38. data/lib/discorb/event.rb +266 -24
  39. data/lib/discorb/event_handler.rb +39 -0
  40. data/lib/discorb/exe/show.rb +2 -0
  41. data/lib/discorb/extension.rb +5 -5
  42. data/lib/discorb/file.rb +4 -0
  43. data/lib/discorb/flag.rb +5 -1
  44. data/lib/discorb/gateway.rb +97 -17
  45. data/lib/discorb/gateway_requests.rb +4 -0
  46. data/lib/discorb/guild.rb +169 -82
  47. data/lib/discorb/guild_template.rb +12 -9
  48. data/lib/discorb/http.rb +82 -44
  49. data/lib/discorb/image.rb +7 -5
  50. data/lib/discorb/integration.rb +33 -1
  51. data/lib/discorb/intents.rb +8 -3
  52. data/lib/discorb/interaction/response.rb +27 -25
  53. data/lib/discorb/interaction/root.rb +8 -0
  54. data/lib/discorb/invite.rb +3 -2
  55. data/lib/discorb/log.rb +4 -0
  56. data/lib/discorb/member.rb +42 -13
  57. data/lib/discorb/message.rb +32 -17
  58. data/lib/discorb/modules.rb +19 -26
  59. data/lib/discorb/permission.rb +4 -0
  60. data/lib/discorb/rate_limit.rb +6 -2
  61. data/lib/discorb/role.rb +15 -11
  62. data/lib/discorb/sticker.rb +17 -12
  63. data/lib/discorb/user.rb +8 -7
  64. data/lib/discorb/voice_state.rb +8 -5
  65. data/lib/discorb/webhook.rb +38 -47
  66. data/lib/discorb.rb +2 -2
  67. data/po/yard.pot +7775 -5157
  68. data/sig/discorb.rbs +3317 -3820
  69. data/template-replace/scripts/locale_ja.rb +62 -0
  70. metadata +18 -5
@@ -0,0 +1,62 @@
1
+ LOCALES = {
2
+ "ja" => {
3
+ selector: {
4
+ "Classes" => "クラス",
5
+ "Methods" => "メソッド",
6
+ "Files" => "ファイル",
7
+ "Versions" => "バージョン",
8
+ },
9
+ title: {
10
+ "Class List" => "クラス一覧",
11
+ "Method List" => "メソッド一覧",
12
+ "File List" => "ファイル一覧",
13
+ "Version List" => "バージョン一覧",
14
+ },
15
+ },
16
+
17
+ }
18
+
19
+ def replace_sidebar_name(dir)
20
+ regex = /<a target="_self" href="(.+)_list\.html">\s*([a-zA-Z ]+?)\s*<\/a>/
21
+
22
+ Dir.glob("#{dir}/*_list.html") do |file|
23
+ content = File.read(file)
24
+ new_content = content.dup
25
+ content.scan(regex) do |url, name|
26
+ new_content.gsub!(
27
+ Regexp.last_match[0],
28
+ Regexp.last_match[0].gsub(name, LOCALES[ENV["rake_locale"]][:selector][name])
29
+ )
30
+ end
31
+ File.write(file, new_content)
32
+ end
33
+ end
34
+
35
+ def replace_title(dir)
36
+ regex = /(?:<h1 id="full_list_header">|<title>)([a-zA-Z ]+?)(?:<\/title>|<\/h1>)/
37
+
38
+ Dir.glob("#{dir}/*.html") do |file|
39
+ content = File.read(file)
40
+ new_content = content.dup
41
+ content.scan(regex) do |title, _|
42
+ new_content.gsub!(
43
+ Regexp.last_match[0],
44
+ Regexp.last_match[0].gsub(title, LOCALES[ENV["rake_locale"]][:title][title])
45
+ )
46
+ end
47
+ File.write(file, new_content)
48
+ end
49
+ end
50
+
51
+ def replace_version_name(dir)
52
+ content = File.read("#{dir}/version_list.html")
53
+ content.gsub!("Latest on RubyGems", "RubyGemsでの最新版")
54
+ content.gsub!("Latest on GitHub", "GitHubでの最新版")
55
+ File.write("#{dir}/version_list.html", content)
56
+ end
57
+
58
+ def replace_locale(dir)
59
+ replace_sidebar_name(dir)
60
+ replace_version_name(dir)
61
+ replace_title(dir)
62
+ end
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.12.4
4
+ version: 0.13.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - sevenc-nanashi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-04 00:00:00.000000000 Z
11
+ date: 2022-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -66,7 +66,16 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.3'
69
- description:
69
+ description: |+
70
+ == discorb
71
+ discorb is a Discord API wrapper for Ruby, Using {socketry/async}[https://github.com/socketry/async].
72
+
73
+ === Contributing
74
+ Bug reports, feature requests, and pull requests are welcome on {the GitHub repository}[https://github.com/discorb-lib/discorb].
75
+
76
+ === License
77
+ This gem is licensed under the MIT License.
78
+
70
79
  email:
71
80
  - sevenc-nanashi@sevenbot.jp
72
81
  executables:
@@ -80,6 +89,7 @@ files:
80
89
  - ".github/PULL_REQUEST_TEMPLATE.md"
81
90
  - ".github/workflows/build_main.yml"
82
91
  - ".github/workflows/build_version.yml"
92
+ - ".github/workflows/crowdin.yml"
83
93
  - ".github/workflows/package_register.yml"
84
94
  - ".gitignore"
85
95
  - ".yardopts"
@@ -144,6 +154,7 @@ files:
144
154
  - lib/discorb/emoji_table.rb
145
155
  - lib/discorb/error.rb
146
156
  - lib/discorb/event.rb
157
+ - lib/discorb/event_handler.rb
147
158
  - lib/discorb/exe/about.rb
148
159
  - lib/discorb/exe/irb.rb
149
160
  - lib/discorb/exe/new.rb
@@ -192,6 +203,7 @@ files:
192
203
  - template-replace/scripts/arrow.rb
193
204
  - template-replace/scripts/favicon.rb
194
205
  - template-replace/scripts/index.rb
206
+ - template-replace/scripts/locale_ja.rb
195
207
  - template-replace/scripts/sidebar.rb
196
208
  - template-replace/scripts/version.rb
197
209
  - template-replace/scripts/yard_replace.rb
@@ -218,8 +230,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
230
  - !ruby/object:Gem::Version
219
231
  version: '0'
220
232
  requirements: []
221
- rubygems_version: 3.2.22
233
+ rubygems_version: 3.2.32
222
234
  signing_key:
223
235
  specification_version: 4
224
- summary: A discord API wrapper written in Ruby
236
+ summary: A Discord API wrapper for Ruby, Using socketry/async.
225
237
  test_files: []
238
+ ...