discordrb 3.5.0 → 3.6.0

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +13 -0
  3. data/.devcontainer/devcontainer.json +29 -0
  4. data/.devcontainer/postcreate.sh +4 -0
  5. data/.github/workflows/ci.yml +78 -0
  6. data/.github/workflows/codeql.yml +3 -3
  7. data/.github/workflows/deploy.yml +54 -0
  8. data/.github/workflows/release.yml +45 -0
  9. data/.rubocop.yml +52 -2
  10. data/CHANGELOG.md +95 -0
  11. data/README.md +5 -5
  12. data/discordrb-webhooks.gemspec +1 -1
  13. data/discordrb.gemspec +16 -11
  14. data/lib/discordrb/api/application.rb +84 -8
  15. data/lib/discordrb/api/channel.rb +51 -13
  16. data/lib/discordrb/api/interaction.rb +15 -6
  17. data/lib/discordrb/api/invite.rb +1 -1
  18. data/lib/discordrb/api/server.rb +96 -60
  19. data/lib/discordrb/api/user.rb +12 -2
  20. data/lib/discordrb/api/webhook.rb +20 -5
  21. data/lib/discordrb/api.rb +16 -20
  22. data/lib/discordrb/bot.rb +139 -53
  23. data/lib/discordrb/cache.rb +15 -1
  24. data/lib/discordrb/commands/command_bot.rb +7 -17
  25. data/lib/discordrb/commands/parser.rb +7 -7
  26. data/lib/discordrb/container.rb +46 -0
  27. data/lib/discordrb/data/activity.rb +1 -1
  28. data/lib/discordrb/data/application.rb +1 -0
  29. data/lib/discordrb/data/attachment.rb +23 -3
  30. data/lib/discordrb/data/avatar_decoration.rb +26 -0
  31. data/lib/discordrb/data/call.rb +22 -0
  32. data/lib/discordrb/data/channel.rb +140 -15
  33. data/lib/discordrb/data/collectibles.rb +45 -0
  34. data/lib/discordrb/data/embed.rb +10 -3
  35. data/lib/discordrb/data/emoji.rb +20 -1
  36. data/lib/discordrb/data/integration.rb +3 -0
  37. data/lib/discordrb/data/interaction.rb +164 -27
  38. data/lib/discordrb/data/member.rb +145 -28
  39. data/lib/discordrb/data/message.rb +198 -51
  40. data/lib/discordrb/data/overwrite.rb +2 -0
  41. data/lib/discordrb/data/primary_server.rb +60 -0
  42. data/lib/discordrb/data/profile.rb +2 -7
  43. data/lib/discordrb/data/reaction.rb +2 -1
  44. data/lib/discordrb/data/recipient.rb +1 -1
  45. data/lib/discordrb/data/role.rb +151 -22
  46. data/lib/discordrb/data/server.rb +115 -41
  47. data/lib/discordrb/data/server_preview.rb +68 -0
  48. data/lib/discordrb/data/snapshot.rb +110 -0
  49. data/lib/discordrb/data/user.rb +68 -8
  50. data/lib/discordrb/data/voice_region.rb +1 -0
  51. data/lib/discordrb/data/webhook.rb +2 -5
  52. data/lib/discordrb/data.rb +6 -0
  53. data/lib/discordrb/errors.rb +5 -2
  54. data/lib/discordrb/events/await.rb +1 -1
  55. data/lib/discordrb/events/channels.rb +37 -0
  56. data/lib/discordrb/events/generic.rb +2 -0
  57. data/lib/discordrb/events/guilds.rb +6 -1
  58. data/lib/discordrb/events/interactions.rb +135 -42
  59. data/lib/discordrb/events/invites.rb +2 -0
  60. data/lib/discordrb/events/members.rb +19 -2
  61. data/lib/discordrb/events/message.rb +39 -8
  62. data/lib/discordrb/events/presence.rb +2 -0
  63. data/lib/discordrb/events/raw.rb +1 -0
  64. data/lib/discordrb/events/reactions.rb +2 -0
  65. data/lib/discordrb/events/roles.rb +2 -0
  66. data/lib/discordrb/events/threads.rb +10 -6
  67. data/lib/discordrb/events/typing.rb +1 -0
  68. data/lib/discordrb/events/voice_server_update.rb +1 -0
  69. data/lib/discordrb/events/voice_state_update.rb +1 -0
  70. data/lib/discordrb/events/webhooks.rb +1 -0
  71. data/lib/discordrb/gateway.rb +29 -13
  72. data/lib/discordrb/paginator.rb +3 -3
  73. data/lib/discordrb/permissions.rb +54 -43
  74. data/lib/discordrb/version.rb +1 -1
  75. data/lib/discordrb/websocket.rb +0 -10
  76. data/lib/discordrb.rb +17 -1
  77. metadata +53 -25
  78. data/.circleci/config.yml +0 -152
data/.circleci/config.yml DELETED
@@ -1,152 +0,0 @@
1
- version: 2.1
2
-
3
- commands:
4
- setup-env:
5
- description: Sets up the testing environment
6
- steps:
7
- - run:
8
- name: Install OS packages
9
- command: apk add git build-base ruby-dev ruby-etc ruby-json libsodium
10
- - checkout
11
- - run:
12
- name: "Ruby version"
13
- command: |
14
- ruby -v
15
- echo $RUBY_VERSION > ruby_version.txt
16
- - restore_cache:
17
- keys:
18
- - bundle-cache-v1-{{ checksum "ruby_version.txt" }}-{{ .Branch }}-{{ checksum "Gemfile" }}-{{ checksum "discordrb.gemspec" }}
19
- - bundle-cache-v1-{{ checksum "ruby_version.txt" }}-{{ .Branch }}
20
- - bundle-cache-v1-{{ checksum "ruby_version.txt" }}
21
- - run:
22
- name: Install dependencies
23
- command: bundle install --path vendor/bundle
24
- - save_cache:
25
- key: bundle-cache-v1-{{ checksum "ruby_version.txt" }}-{{ .Branch }}-{{ checksum "Gemfile" }}-{{ checksum "discordrb.gemspec" }}
26
- paths:
27
- - ./vendor/bundle
28
-
29
- jobs:
30
- test_ruby_27:
31
- docker:
32
- - image: ruby:2.7-alpine
33
- steps:
34
- - setup-env
35
- - run:
36
- name: Run RSpec
37
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o ~/rspec/rspec.xml
38
- - store_test_results:
39
- path: ~/rspec
40
-
41
- test_ruby_30:
42
- docker:
43
- - image: ruby:3.0-alpine
44
- steps:
45
- - setup-env
46
- - run:
47
- name: Run RSpec
48
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o ~/rspec/rspec.xml
49
- - store_test_results:
50
- path: ~/rspec
51
-
52
-
53
- test_ruby_31:
54
- docker:
55
- - image: ruby:3.1-alpine
56
- steps:
57
- - setup-env
58
- - run:
59
- name: Run RSpec
60
- command: bundle exec rspec --format progress --format RspecJunitFormatter -o ~/rspec/rspec.xml
61
-
62
- rubocop:
63
- docker:
64
- - image: ruby:2.7-alpine
65
- steps:
66
- - setup-env
67
- - run:
68
- name: Run Rubocop
69
- command: bundle exec rubocop
70
-
71
- yard:
72
- docker:
73
- - image: ruby:2.7-alpine
74
- steps:
75
- - setup-env
76
- - attach_workspace:
77
- at: /tmp/workspace
78
- - run:
79
- name: Run YARD
80
- command: bundle exec yard --output-dir /tmp/workspace/docs
81
- - persist_to_workspace:
82
- root: /tmp/workspace
83
- paths:
84
- - docs
85
-
86
- pages:
87
- docker:
88
- - image: alpine
89
- steps:
90
- - run:
91
- name: Install OS packages
92
- command: apk add git openssh-client-default
93
- - attach_workspace:
94
- at: /tmp/workspace
95
- - run:
96
- name: Clone docs
97
- command: |
98
- mkdir -p ~/.ssh
99
-
100
- echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=' >> ~/.ssh/known_hosts
101
-
102
- git clone $CIRCLE_REPOSITORY_URL -b gh-pages .
103
- - add_ssh_keys:
104
- fingerprints:
105
- - "9a:4c:50:94:23:46:81:74:41:97:87:04:4e:59:4b:4e"
106
- - run:
107
- name: Push updated docs
108
- command: |
109
- git config user.name "Circle CI"
110
- git config user.email "ci-build@shardlab.dev"
111
-
112
- SOURCE_BRANCH=$CIRCLE_BRANCH
113
- if [ -n "$CIRCLE_TAG" ]; then
114
- SOURCE_BRANCH=$CIRCLE_TAG
115
- fi
116
-
117
- mkdir -p $SOURCE_BRANCH
118
- rm -rf $SOURCE_BRANCH/*
119
- cp -r /tmp/workspace/docs/. ./$SOURCE_BRANCH/
120
-
121
- git add $SOURCE_BRANCH
122
- git commit --allow-empty -m "[skip ci] Deploy docs"
123
- git push -u origin gh-pages
124
-
125
- workflows:
126
- test:
127
- jobs:
128
- - test_ruby_27
129
- - test_ruby_30
130
- - test_ruby_31
131
- - rubocop
132
- - yard
133
- deploy:
134
- jobs:
135
- - yard:
136
- filters:
137
- branches:
138
- only:
139
- - main
140
- - slash_commands
141
- tags:
142
- only: /^v.*/
143
- - pages:
144
- requires:
145
- - yard
146
- filters:
147
- branches:
148
- only:
149
- - main
150
- - slash_commands
151
- tags:
152
- only: /^v.*/