discorb 0.12.2 → 0.13.1

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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_main.yml +1 -0
  3. data/.github/workflows/build_version.yml +1 -0
  4. data/.github/workflows/crowdin.yml +32 -0
  5. data/.gitignore +3 -1
  6. data/.yardopts +2 -0
  7. data/Changelog.md +399 -367
  8. data/Gemfile +5 -1
  9. data/README.md +1 -1
  10. data/Rakefile +139 -9
  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 +112 -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 +65 -14
  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 +4 -1
  50. data/lib/discorb/intents.rb +8 -3
  51. data/lib/discorb/interaction/autocomplete.rb +1 -1
  52. data/lib/discorb/interaction/command.rb +2 -2
  53. data/lib/discorb/interaction/response.rb +27 -25
  54. data/lib/discorb/interaction/root.rb +8 -0
  55. data/lib/discorb/invite.rb +3 -2
  56. data/lib/discorb/log.rb +4 -0
  57. data/lib/discorb/member.rb +42 -13
  58. data/lib/discorb/message.rb +32 -17
  59. data/lib/discorb/modules.rb +19 -26
  60. data/lib/discorb/permission.rb +4 -0
  61. data/lib/discorb/rate_limit.rb +6 -2
  62. data/lib/discorb/role.rb +15 -11
  63. data/lib/discorb/sticker.rb +17 -12
  64. data/lib/discorb/user.rb +8 -7
  65. data/lib/discorb/voice_state.rb +8 -5
  66. data/lib/discorb/webhook.rb +38 -47
  67. data/lib/discorb.rb +2 -2
  68. data/po/yard.pot +7775 -5157
  69. data/sig/discorb.rbs +3317 -3820
  70. data/template-replace/scripts/locale_ja.rb +62 -0
  71. data/template-replace/scripts/yard_replace.rb +6 -0
  72. 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.2
4
+ version: 0.13.1
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-24 00:00:00.000000000 Z
11
+ date: 2021-12-28 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: []