discorb 0.12.3 → 0.13.2

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 +407 -372
  8. data/Gemfile +5 -1
  9. data/README.md +1 -1
  10. data/Rakefile +131 -1
  11. data/crowdin.yml +2 -0
  12. data/discorb.gemspec +1 -1
  13. data/docs/Examples.md +2 -0
  14. data/docs/application_command.md +17 -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 +13 -7
  27. data/lib/discorb/application.rb +32 -2
  28. data/lib/discorb/audit_logs.rb +28 -16
  29. data/lib/discorb/channel.rb +140 -81
  30. data/lib/discorb/client.rb +17 -19
  31. data/lib/discorb/common.rb +28 -1
  32. data/lib/discorb/components.rb +12 -0
  33. data/lib/discorb/dictionary.rb +1 -1
  34. data/lib/discorb/embed.rb +4 -0
  35. data/lib/discorb/emoji.rb +9 -7
  36. data/lib/discorb/emoji_table.rb +3774 -3689
  37. data/lib/discorb/event.rb +266 -24
  38. data/lib/discorb/event_handler.rb +39 -0
  39. data/lib/discorb/exe/show.rb +2 -0
  40. data/lib/discorb/extension.rb +5 -5
  41. data/lib/discorb/file.rb +4 -0
  42. data/lib/discorb/flag.rb +5 -1
  43. data/lib/discorb/gateway.rb +67 -15
  44. data/lib/discorb/gateway_requests.rb +4 -0
  45. data/lib/discorb/guild.rb +169 -82
  46. data/lib/discorb/guild_template.rb +12 -9
  47. data/lib/discorb/http.rb +82 -37
  48. data/lib/discorb/image.rb +7 -5
  49. data/lib/discorb/integration.rb +3 -0
  50. data/lib/discorb/intents.rb +8 -3
  51. data/lib/discorb/interaction/response.rb +27 -25
  52. data/lib/discorb/interaction/root.rb +8 -0
  53. data/lib/discorb/invite.rb +3 -2
  54. data/lib/discorb/log.rb +4 -0
  55. data/lib/discorb/member.rb +42 -13
  56. data/lib/discorb/message.rb +32 -17
  57. data/lib/discorb/modules.rb +19 -26
  58. data/lib/discorb/permission.rb +4 -0
  59. data/lib/discorb/rate_limit.rb +6 -2
  60. data/lib/discorb/role.rb +15 -11
  61. data/lib/discorb/sticker.rb +17 -12
  62. data/lib/discorb/user.rb +8 -7
  63. data/lib/discorb/voice_state.rb +8 -5
  64. data/lib/discorb/webhook.rb +38 -47
  65. data/lib/discorb.rb +2 -2
  66. data/po/yard.pot +7775 -5157
  67. data/sig/discorb.rbs +3317 -3820
  68. data/template-replace/scripts/locale_ja.rb +62 -0
  69. data/template-replace/scripts/yard_replace.rb +6 -0
  70. metadata +7 -4
@@ -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
@@ -22,6 +22,12 @@ def yard_replace(dir, version)
22
22
  <h1 class="noborder title">Documentation by YARD 0.9.26</h1>
23
23
  HTML3
24
24
  HTML4
25
+ if version == "main"
26
+ display_version = "(main)"
27
+ else
28
+ display_version = "v" + version
29
+ end
30
+ contents.gsub!(/Documentation by YARD \d+\.\d+\.\d+/, "discorb #{display_version} documentation")
25
31
  File.write(file, contents)
26
32
  end
27
33
  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.3
4
+ version: 0.13.2
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-10-25 00:00:00.000000000 Z
11
+ date: 2021-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -80,6 +80,7 @@ files:
80
80
  - ".github/PULL_REQUEST_TEMPLATE.md"
81
81
  - ".github/workflows/build_main.yml"
82
82
  - ".github/workflows/build_version.yml"
83
+ - ".github/workflows/crowdin.yml"
83
84
  - ".github/workflows/package_register.yml"
84
85
  - ".gitignore"
85
86
  - ".yardopts"
@@ -144,6 +145,7 @@ files:
144
145
  - lib/discorb/emoji_table.rb
145
146
  - lib/discorb/error.rb
146
147
  - lib/discorb/event.rb
148
+ - lib/discorb/event_handler.rb
147
149
  - lib/discorb/exe/about.rb
148
150
  - lib/discorb/exe/irb.rb
149
151
  - lib/discorb/exe/new.rb
@@ -192,6 +194,7 @@ files:
192
194
  - template-replace/scripts/arrow.rb
193
195
  - template-replace/scripts/favicon.rb
194
196
  - template-replace/scripts/index.rb
197
+ - template-replace/scripts/locale_ja.rb
195
198
  - template-replace/scripts/sidebar.rb
196
199
  - template-replace/scripts/version.rb
197
200
  - template-replace/scripts/yard_replace.rb
@@ -218,8 +221,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
221
  - !ruby/object:Gem::Version
219
222
  version: '0'
220
223
  requirements: []
221
- rubygems_version: 3.2.22
224
+ rubygems_version: 3.2.32
222
225
  signing_key:
223
226
  specification_version: 4
224
- summary: discorb is a Discord API wrapper for Ruby.
227
+ summary: A discord API wrapper written in Ruby
225
228
  test_files: []