discorb 0.12.4 → 0.13.3

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