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.
- checksums.yaml +4 -4
- data/.devcontainer/Dockerfile +13 -0
- data/.devcontainer/devcontainer.json +29 -0
- data/.devcontainer/postcreate.sh +4 -0
- data/.github/workflows/ci.yml +78 -0
- data/.github/workflows/codeql.yml +3 -3
- data/.github/workflows/deploy.yml +54 -0
- data/.github/workflows/release.yml +45 -0
- data/.rubocop.yml +52 -2
- data/CHANGELOG.md +95 -0
- data/README.md +5 -5
- data/discordrb-webhooks.gemspec +1 -1
- data/discordrb.gemspec +16 -11
- data/lib/discordrb/api/application.rb +84 -8
- data/lib/discordrb/api/channel.rb +51 -13
- data/lib/discordrb/api/interaction.rb +15 -6
- data/lib/discordrb/api/invite.rb +1 -1
- data/lib/discordrb/api/server.rb +96 -60
- data/lib/discordrb/api/user.rb +12 -2
- data/lib/discordrb/api/webhook.rb +20 -5
- data/lib/discordrb/api.rb +16 -20
- data/lib/discordrb/bot.rb +139 -53
- data/lib/discordrb/cache.rb +15 -1
- data/lib/discordrb/commands/command_bot.rb +7 -17
- data/lib/discordrb/commands/parser.rb +7 -7
- data/lib/discordrb/container.rb +46 -0
- data/lib/discordrb/data/activity.rb +1 -1
- data/lib/discordrb/data/application.rb +1 -0
- data/lib/discordrb/data/attachment.rb +23 -3
- data/lib/discordrb/data/avatar_decoration.rb +26 -0
- data/lib/discordrb/data/call.rb +22 -0
- data/lib/discordrb/data/channel.rb +140 -15
- data/lib/discordrb/data/collectibles.rb +45 -0
- data/lib/discordrb/data/embed.rb +10 -3
- data/lib/discordrb/data/emoji.rb +20 -1
- data/lib/discordrb/data/integration.rb +3 -0
- data/lib/discordrb/data/interaction.rb +164 -27
- data/lib/discordrb/data/member.rb +145 -28
- data/lib/discordrb/data/message.rb +198 -51
- data/lib/discordrb/data/overwrite.rb +2 -0
- data/lib/discordrb/data/primary_server.rb +60 -0
- data/lib/discordrb/data/profile.rb +2 -7
- data/lib/discordrb/data/reaction.rb +2 -1
- data/lib/discordrb/data/recipient.rb +1 -1
- data/lib/discordrb/data/role.rb +151 -22
- data/lib/discordrb/data/server.rb +115 -41
- data/lib/discordrb/data/server_preview.rb +68 -0
- data/lib/discordrb/data/snapshot.rb +110 -0
- data/lib/discordrb/data/user.rb +68 -8
- data/lib/discordrb/data/voice_region.rb +1 -0
- data/lib/discordrb/data/webhook.rb +2 -5
- data/lib/discordrb/data.rb +6 -0
- data/lib/discordrb/errors.rb +5 -2
- data/lib/discordrb/events/await.rb +1 -1
- data/lib/discordrb/events/channels.rb +37 -0
- data/lib/discordrb/events/generic.rb +2 -0
- data/lib/discordrb/events/guilds.rb +6 -1
- data/lib/discordrb/events/interactions.rb +135 -42
- data/lib/discordrb/events/invites.rb +2 -0
- data/lib/discordrb/events/members.rb +19 -2
- data/lib/discordrb/events/message.rb +39 -8
- data/lib/discordrb/events/presence.rb +2 -0
- data/lib/discordrb/events/raw.rb +1 -0
- data/lib/discordrb/events/reactions.rb +2 -0
- data/lib/discordrb/events/roles.rb +2 -0
- data/lib/discordrb/events/threads.rb +10 -6
- data/lib/discordrb/events/typing.rb +1 -0
- data/lib/discordrb/events/voice_server_update.rb +1 -0
- data/lib/discordrb/events/voice_state_update.rb +1 -0
- data/lib/discordrb/events/webhooks.rb +1 -0
- data/lib/discordrb/gateway.rb +29 -13
- data/lib/discordrb/paginator.rb +3 -3
- data/lib/discordrb/permissions.rb +54 -43
- data/lib/discordrb/version.rb +1 -1
- data/lib/discordrb/websocket.rb +0 -10
- data/lib/discordrb.rb +17 -1
- metadata +53 -25
- data/.circleci/config.yml +0 -152
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 22a5d0696568b896315a4a63cbd262028f24cba3406461f1f9b59764194153a5
|
|
4
|
+
data.tar.gz: f5f516dd8e0e25512df14ab6a8b6ce68dc326e821ac92b3d9fae9f6fa84924ea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 92fe5293a9deb5ebd253f579926ea9741835e4b019fa9cc5ae398ac3975a6d040ef611316bde03f07eabbc09cd78a468931e9e2c07a1448e5d4339cdbbbbd1b1
|
|
7
|
+
data.tar.gz: 456d37be600b66b43ecfa38b31d0f72113b308ebcc32f54d407f65ee6828d17b3f38ec495799eace92bc2951efcef121ad3ba572dab70bd848efd40f17293025
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Which Ruby version to use. You may need to use a more restrictive version,
|
|
2
|
+
# e.g. `3.0`
|
|
3
|
+
ARG VARIANT=3.3
|
|
4
|
+
|
|
5
|
+
# Pull Microsoft's ruby devcontainer base image
|
|
6
|
+
FROM mcr.microsoft.com/devcontainers/ruby:${VARIANT}
|
|
7
|
+
|
|
8
|
+
# Install libsodium dependency for voice channel interactions
|
|
9
|
+
RUN apt update -yq && apt install -y libsodium-dev
|
|
10
|
+
|
|
11
|
+
# Ensure we're running the latest bundler, as what ships with the Ruby image may
|
|
12
|
+
# not be current, and bundler will auto-downgrade to match the Gemfile.lock
|
|
13
|
+
RUN gem install bundler
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Ruby",
|
|
3
|
+
"build": {
|
|
4
|
+
"dockerfile": "Dockerfile"
|
|
5
|
+
},
|
|
6
|
+
|
|
7
|
+
// Configure tool-specific properties.
|
|
8
|
+
"customizations": {
|
|
9
|
+
// Configure properties specific to VS Code.
|
|
10
|
+
"vscode": {
|
|
11
|
+
// Add the IDs of extensions you want installed when the container is created.
|
|
12
|
+
"extensions": [
|
|
13
|
+
"shopify.ruby-lsp"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
// Set the environment variables
|
|
19
|
+
// "runArgs": ["--env-file",".env"],
|
|
20
|
+
|
|
21
|
+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
22
|
+
// "forwardPorts": [],
|
|
23
|
+
|
|
24
|
+
// Use 'postCreateCommand' to run commands after the container is created.
|
|
25
|
+
"postCreateCommand": "bash .devcontainer/postcreate.sh",
|
|
26
|
+
|
|
27
|
+
// Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
|
28
|
+
"remoteUser": "vscode"
|
|
29
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
# --- Test on multiple Ruby versions ---
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
ruby: [3.2, 3.3, 3.4]
|
|
15
|
+
container:
|
|
16
|
+
image: ruby:${{ matrix.ruby }}-alpine
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
- name: Install OS packages
|
|
20
|
+
run: apk add git build-base ruby-dev libsodium-dev
|
|
21
|
+
- name: Cache bundle
|
|
22
|
+
uses: actions/cache@v4
|
|
23
|
+
with:
|
|
24
|
+
path: vendor/bundle
|
|
25
|
+
key: bundle-${{ hashFiles('Gemfile', 'discordrb.gemspec') }}-${{ matrix.ruby }}
|
|
26
|
+
restore-keys: |
|
|
27
|
+
bundle-${{ matrix.ruby }}
|
|
28
|
+
- name: Install dependencies
|
|
29
|
+
run: bundle install --path vendor/bundle
|
|
30
|
+
- name: Run RSpec
|
|
31
|
+
run: |
|
|
32
|
+
mkdir -p rspec
|
|
33
|
+
bundle exec rspec --format progress --format RspecJunitFormatter -o rspec/rspec.xml
|
|
34
|
+
- name: Upload test results
|
|
35
|
+
uses: actions/upload-artifact@v4
|
|
36
|
+
with:
|
|
37
|
+
name: rspec-results-${{ matrix.ruby }}
|
|
38
|
+
path: rspec/rspec.xml
|
|
39
|
+
|
|
40
|
+
# --- Rubocop ---
|
|
41
|
+
rubocop:
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
container:
|
|
44
|
+
image: ruby:3.3-alpine
|
|
45
|
+
steps:
|
|
46
|
+
- uses: actions/checkout@v4
|
|
47
|
+
- name: Install OS packages
|
|
48
|
+
run: apk add git build-base ruby-dev libsodium-dev
|
|
49
|
+
- name: Cache bundle
|
|
50
|
+
uses: actions/cache@v4
|
|
51
|
+
with:
|
|
52
|
+
path: vendor/bundle
|
|
53
|
+
key: bundle-${{ hashFiles('Gemfile', 'discordrb.gemspec') }}-rubocop
|
|
54
|
+
- name: Install dependencies
|
|
55
|
+
run: bundle install --path vendor/bundle
|
|
56
|
+
- name: Run Rubocop
|
|
57
|
+
run: bundle exec rubocop
|
|
58
|
+
|
|
59
|
+
# --- Generate YARD docs ---
|
|
60
|
+
yard:
|
|
61
|
+
runs-on: ubuntu-latest
|
|
62
|
+
container:
|
|
63
|
+
image: ruby:3.3-alpine
|
|
64
|
+
steps:
|
|
65
|
+
- uses: actions/checkout@v4
|
|
66
|
+
- name: Install OS packages
|
|
67
|
+
run: apk add git build-base ruby-dev libsodium-dev
|
|
68
|
+
- name: Cache bundle
|
|
69
|
+
uses: actions/cache@v4
|
|
70
|
+
with:
|
|
71
|
+
path: vendor/bundle
|
|
72
|
+
key: bundle-${{ hashFiles('Gemfile', 'discordrb.gemspec') }}-yard
|
|
73
|
+
- name: Install dependencies
|
|
74
|
+
run: bundle install --path vendor/bundle
|
|
75
|
+
- name: Run YARD
|
|
76
|
+
run: |
|
|
77
|
+
mkdir -p docs
|
|
78
|
+
bundle exec yard --output-dir docs
|
|
@@ -33,7 +33,7 @@ jobs:
|
|
|
33
33
|
|
|
34
34
|
# Initializes the CodeQL tools for scanning.
|
|
35
35
|
- name: Initialize CodeQL
|
|
36
|
-
uses: github/codeql-action/init@
|
|
36
|
+
uses: github/codeql-action/init@v3
|
|
37
37
|
with:
|
|
38
38
|
languages: ${{ matrix.language }}
|
|
39
39
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
@@ -47,7 +47,7 @@ jobs:
|
|
|
47
47
|
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
|
|
48
48
|
# If this step fails, then you should remove it and run the build manually (see below)
|
|
49
49
|
- name: Autobuild
|
|
50
|
-
uses: github/codeql-action/autobuild@
|
|
50
|
+
uses: github/codeql-action/autobuild@v3
|
|
51
51
|
|
|
52
52
|
# ℹ️ Command-line programs to run using the OS shell.
|
|
53
53
|
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
|
@@ -60,6 +60,6 @@ jobs:
|
|
|
60
60
|
# ./location_of_script_within_repo/buildscript.sh
|
|
61
61
|
|
|
62
62
|
- name: Perform CodeQL Analysis
|
|
63
|
-
uses: github/codeql-action/analyze@
|
|
63
|
+
uses: github/codeql-action/analyze@v3
|
|
64
64
|
with:
|
|
65
65
|
category: "/language:${{matrix.language}}"
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: Deploy Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main] # deploy only on merges to main
|
|
6
|
+
tags:
|
|
7
|
+
- "v*" # deploy when a version tag (e.g., v1.0.0) is created
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
deploy:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
container:
|
|
13
|
+
image: ruby:3.3-alpine
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- name: Install OS packages
|
|
19
|
+
run: apk add git build-base ruby-dev libsodium-dev
|
|
20
|
+
|
|
21
|
+
- name: Cache bundle
|
|
22
|
+
uses: actions/cache@v4
|
|
23
|
+
with:
|
|
24
|
+
path: vendor/bundle
|
|
25
|
+
key: bundle-${{ hashFiles('Gemfile', 'discordrb.gemspec') }}-yard
|
|
26
|
+
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: bundle install --path vendor/bundle
|
|
29
|
+
|
|
30
|
+
- name: Generate YARD documentation
|
|
31
|
+
run: |
|
|
32
|
+
mkdir -p docs
|
|
33
|
+
bundle exec yard --output-dir docs
|
|
34
|
+
|
|
35
|
+
- name: Determine deploy folder
|
|
36
|
+
id: set_folder
|
|
37
|
+
run: |
|
|
38
|
+
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
|
|
39
|
+
echo "folder=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
|
|
40
|
+
else
|
|
41
|
+
echo "folder=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT
|
|
42
|
+
fi
|
|
43
|
+
echo "Deploying to folder: ${{ steps.set_folder.outputs.folder }}"
|
|
44
|
+
|
|
45
|
+
- name: Deploy to GitHub Pages
|
|
46
|
+
uses: peaceiris/actions-gh-pages@v4
|
|
47
|
+
with:
|
|
48
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
49
|
+
publish_dir: docs
|
|
50
|
+
publish_branch: gh-pages
|
|
51
|
+
destination_dir: ${{ steps.set_folder.outputs.folder }}
|
|
52
|
+
keep_files: true
|
|
53
|
+
user_name: "GitHub Actions"
|
|
54
|
+
user_email: "ci-build@shardlab.dev"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: Publish RubyGems + GitHub Packages
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
packages: write
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- name: Validate tag matches gemspecs
|
|
18
|
+
run: |
|
|
19
|
+
TAG_VERSION="${GITHUB_REF#refs/tags/v}"
|
|
20
|
+
for gemspec in *.gemspec; do
|
|
21
|
+
GEM_VERSION=$(ruby -e "puts Gem::Specification.load('$gemspec').version")
|
|
22
|
+
if [ "$TAG_VERSION" != "$GEM_VERSION" ]; then
|
|
23
|
+
echo "::error::$gemspec version ($GEM_VERSION) does not match tag ($TAG_VERSION)"
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
done
|
|
27
|
+
|
|
28
|
+
- uses: rubygems/release-gem@v1
|
|
29
|
+
with:
|
|
30
|
+
api_key: ${{ secrets.RUBYGEMS_API_KEY }}
|
|
31
|
+
|
|
32
|
+
- name: Publish to GitHub Packages
|
|
33
|
+
env:
|
|
34
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
35
|
+
run: |
|
|
36
|
+
OWNER=$(echo "${GITHUB_REPOSITORY}" | cut -d'/' -f1)
|
|
37
|
+
for gemspec in *.gemspec; do
|
|
38
|
+
gem build "$gemspec"
|
|
39
|
+
done
|
|
40
|
+
for gem_file in *.gem; do
|
|
41
|
+
echo "Publishing $gem_file to GitHub Packages..."
|
|
42
|
+
gem push "$gem_file" \
|
|
43
|
+
--key github \
|
|
44
|
+
--host "https://rubygems.pkg.github.com/${OWNER}" || true
|
|
45
|
+
done
|
data/.rubocop.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
plugins:
|
|
2
2
|
- rubocop-performance
|
|
3
3
|
- rubocop-rake
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ inherit_mode:
|
|
|
8
8
|
|
|
9
9
|
AllCops:
|
|
10
10
|
NewCops: enable
|
|
11
|
-
TargetRubyVersion:
|
|
11
|
+
TargetRubyVersion: 3.3
|
|
12
12
|
|
|
13
13
|
# Disable line length checks
|
|
14
14
|
Layout/LineLength:
|
|
@@ -66,3 +66,53 @@ Style/SingleLineBlockParams:
|
|
|
66
66
|
Methods:
|
|
67
67
|
- reduce: [m, e]
|
|
68
68
|
- inject: [m, e]
|
|
69
|
+
|
|
70
|
+
###################################
|
|
71
|
+
## NEW COPS TO MAKE DECISIONS ON ##
|
|
72
|
+
###################################
|
|
73
|
+
|
|
74
|
+
# TODO: Decide how you want to handle this:
|
|
75
|
+
# https://rubydoc.info/gems/rubocop/RuboCop/Cop/Style/HashSyntax
|
|
76
|
+
Style/HashSyntax:
|
|
77
|
+
EnforcedShorthandSyntax: either
|
|
78
|
+
|
|
79
|
+
Style/ArgumentsForwarding:
|
|
80
|
+
Enabled: false
|
|
81
|
+
|
|
82
|
+
Performance/StringIdentifierArgument:
|
|
83
|
+
Enabled: false
|
|
84
|
+
|
|
85
|
+
Style/ComparableClamp:
|
|
86
|
+
Enabled: false
|
|
87
|
+
|
|
88
|
+
Style/SuperArguments:
|
|
89
|
+
Enabled: false
|
|
90
|
+
|
|
91
|
+
Naming/BlockForwarding:
|
|
92
|
+
Enabled: false
|
|
93
|
+
|
|
94
|
+
Style/RedundantSelfAssignmentBranch:
|
|
95
|
+
Enabled: false
|
|
96
|
+
|
|
97
|
+
Performance/MapCompact:
|
|
98
|
+
Enabled: false
|
|
99
|
+
|
|
100
|
+
Gemspec/RequiredRubyVersion:
|
|
101
|
+
Enabled: false
|
|
102
|
+
|
|
103
|
+
Gemspec/DevelopmentDependencies:
|
|
104
|
+
Enabled: false
|
|
105
|
+
|
|
106
|
+
Style/RedundantReturn:
|
|
107
|
+
Enabled: false
|
|
108
|
+
|
|
109
|
+
Style/RedundantParentheses:
|
|
110
|
+
Enabled: false
|
|
111
|
+
|
|
112
|
+
# This will probably be a breaking change, but should happen
|
|
113
|
+
Style/ReturnNilInPredicateMethodDefinition:
|
|
114
|
+
Enabled: false
|
|
115
|
+
|
|
116
|
+
# FIXME: Disabled due to breaking tests, should probably refactor the code instead
|
|
117
|
+
Style/SafeNavigation:
|
|
118
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,102 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.6.0] - 2025-10-22
|
|
9
|
+
|
|
10
|
+
[3.5.0]: https://github.com/shardlab/discordrb/releases/tag/v3.6.0
|
|
11
|
+
|
|
12
|
+
[View diff for this release.](https://github.com/shardlab/discordrb/compare/v3.5.0..v3.6.0)
|
|
13
|
+
|
|
14
|
+
### Summary
|
|
15
|
+
|
|
16
|
+
## What's Changed
|
|
17
|
+
|
|
18
|
+
- feat: Bot#invite_url - scope & redirect_uri params by @Birdie0 in https://github.com/shardlab/discordrb/pull/241
|
|
19
|
+
- Update ping.rb by @gustavomgama in https://github.com/shardlab/discordrb/pull/243
|
|
20
|
+
- Fix buttons and string selects without emojis breaking due to API change by @wouterdedroog in https://github.com/shardlab/discordrb/pull/249
|
|
21
|
+
- Update webhook URLs to v9 by @advaith1 in https://github.com/shardlab/discordrb/pull/264
|
|
22
|
+
- Update Version Requirements to resolve CircleCI failures by @joshbuker in https://github.com/shardlab/discordrb/pull/265
|
|
23
|
+
- Add default_member_permissions and contexts fields to application commands by @wouterdedroog in https://github.com/shardlab/discordrb/pull/254
|
|
24
|
+
- add min/max_length support for string option and min/max_value for integer by @Birdie0 in https://github.com/shardlab/discordrb/pull/252
|
|
25
|
+
- Feat: search guild members by @Droid00000 in https://github.com/shardlab/discordrb/pull/277
|
|
26
|
+
- Add crossposts. by @Droid00000 in https://github.com/shardlab/discordrb/pull/280
|
|
27
|
+
- Message Flags by @Droid00000 in https://github.com/shardlab/discordrb/pull/292
|
|
28
|
+
- Allow supressing embeds on Message by @Quintasan in https://github.com/shardlab/discordrb/pull/240
|
|
29
|
+
- feat: message threads by @Droid00000 in https://github.com/shardlab/discordrb/pull/295
|
|
30
|
+
- feat: attachments in interaction responses by @Droid00000 in https://github.com/shardlab/discordrb/pull/296
|
|
31
|
+
- Remove User Login. by @Droid00000 in https://github.com/shardlab/discordrb/pull/273
|
|
32
|
+
- Custom Intents by @Droid00000 in https://github.com/shardlab/discordrb/pull/283
|
|
33
|
+
- feature: channel pins update event by @Droid00000 in https://github.com/shardlab/discordrb/pull/294
|
|
34
|
+
- Ruby 3.1 EOL & Workflows by @Droid00000 in https://github.com/shardlab/discordrb/pull/304
|
|
35
|
+
- Update link of Documentation in README.md by @soukouki in https://github.com/shardlab/discordrb/pull/287
|
|
36
|
+
- chore: rubocop Style/BitwisePredicate by @Daniel-Worrall in https://github.com/shardlab/discordrb/pull/289
|
|
37
|
+
- feat: resume gateway URL by @Droid00000 in https://github.com/shardlab/discordrb/pull/308
|
|
38
|
+
- fix: don't send heartbeats unless we're connected by @Droid00000 in https://github.com/shardlab/discordrb/pull/309
|
|
39
|
+
- Ruby Webhooks EOL Version Bump by @Droid00000 in https://github.com/shardlab/discordrb/pull/306
|
|
40
|
+
- bugfixes: emoji parsing & removing timeouts by @Droid00000 in https://github.com/shardlab/discordrb/pull/305
|
|
41
|
+
- Bugfix - Discordrb::Message#reacted_with by @y-bonfire in https://github.com/shardlab/discordrb/pull/288
|
|
42
|
+
- Fix permission overwrites mapping by @ceud in https://github.com/shardlab/discordrb/pull/267
|
|
43
|
+
- feat: missing member & user attributes by @Droid00000 in https://github.com/shardlab/discordrb/pull/313
|
|
44
|
+
- feat: add server avatar by @swarley in https://github.com/shardlab/discordrb/pull/146
|
|
45
|
+
- feat: autocomplete interactions by @Droid00000 in https://github.com/shardlab/discordrb/pull/299
|
|
46
|
+
- fix: broken members on MESSAGE_CREATE due to recent changes by @Droid00000 in https://github.com/shardlab/discordrb/pull/315
|
|
47
|
+
- cache active threads on GUILD_CREATE events by @Droid00000 in https://github.com/shardlab/discordrb/pull/316
|
|
48
|
+
- fix: allow raw and application command event handlers to co-exist by @Droid00000 in https://github.com/shardlab/discordrb/pull/310
|
|
49
|
+
- Fix Guild Bans by @Droid00000 in https://github.com/shardlab/discordrb/pull/279
|
|
50
|
+
- fix: remove WSCS's monkey patch by @Droid00000 in https://github.com/shardlab/discordrb/pull/325
|
|
51
|
+
- feat: server tags by @Droid00000 in https://github.com/shardlab/discordrb/pull/323
|
|
52
|
+
- fix: lazily cache un-cached members by @Droid00000 in https://github.com/shardlab/discordrb/pull/322
|
|
53
|
+
- fix: lazily request author for messages by @swarley in https://github.com/shardlab/discordrb/pull/130
|
|
54
|
+
- feat: increased pinned message limits by @Droid00000 in https://github.com/shardlab/discordrb/pull/324
|
|
55
|
+
- Fix CI by @Daniel-Worrall in https://github.com/shardlab/discordrb/pull/312
|
|
56
|
+
- feat: application command permission overwrites by @Droid00000 in https://github.com/shardlab/discordrb/pull/326
|
|
57
|
+
- feat: missing role attributes by @Droid00000 in https://github.com/shardlab/discordrb/pull/303
|
|
58
|
+
- feat: server previews by @Droid00000 in https://github.com/shardlab/discordrb/pull/332
|
|
59
|
+
- feat: gradient roles by @Droid00000 in https://github.com/shardlab/discordrb/pull/337
|
|
60
|
+
- feat: missing attachment attributes by @Droid00000 in https://github.com/shardlab/discordrb/pull/338
|
|
61
|
+
- feat: NSFW by @Droid00000 in https://github.com/shardlab/discordrb/pull/336
|
|
62
|
+
- feat: Channel#send_message! by @Droid00000 in https://github.com/shardlab/discordrb/pull/335
|
|
63
|
+
- docs: hide all initializers by @Droid00000 in https://github.com/shardlab/discordrb/pull/345
|
|
64
|
+
- feat: base64 encoder by @Droid00000 in https://github.com/shardlab/discordrb/pull/346
|
|
65
|
+
- fix: actually set the icon by @Droid00000 in https://github.com/shardlab/discordrb/pull/347
|
|
66
|
+
- feat: message types by @Droid00000 in https://github.com/shardlab/discordrb/pull/349
|
|
67
|
+
- feat: Add message type methods by @swarley in https://github.com/shardlab/discordrb/pull/85
|
|
68
|
+
- style: use (...) syntax to forward arguments by @Droid00000 in https://github.com/shardlab/discordrb/pull/348
|
|
69
|
+
- fix: return raw error codes by @Droid00000 in https://github.com/shardlab/discordrb/pull/317
|
|
70
|
+
- add thread channel parmaeters to Channel#update by @mrhappyma in https://github.com/shardlab/discordrb/pull/344
|
|
71
|
+
- fix: forward &block on send_message! by @Droid00000 in https://github.com/shardlab/discordrb/pull/342
|
|
72
|
+
- feat: missing permissions by @Droid00000 in https://github.com/shardlab/discordrb/pull/341
|
|
73
|
+
- Fix - Allow mixing groups and subcommands by @itsthedevman in https://github.com/shardlab/discordrb/pull/244
|
|
74
|
+
- fix: use response-data to update server members by @Droid00000 in https://github.com/shardlab/discordrb/pull/362
|
|
75
|
+
- feat: allow creation of forum posts by @Droid00000 in https://github.com/shardlab/discordrb/pull/360
|
|
76
|
+
- feat: Message#mentions? by @Droid00000 in https://github.com/shardlab/discordrb/pull/356
|
|
77
|
+
- fix: include names on server previews by @Droid00000 in https://github.com/shardlab/discordrb/pull/355
|
|
78
|
+
- feat: add server attribute to MESSAGE_DELETE by @Droid00000 in https://github.com/shardlab/discordrb/pull/358
|
|
79
|
+
- feat: handle USER_UPDATE events by @Droid00000 in https://github.com/shardlab/discordrb/pull/357
|
|
80
|
+
- fix: server boost caching by @Droid00000 in https://github.com/shardlab/discordrb/pull/359
|
|
81
|
+
- feat: application emojis by @Droid00000 in https://github.com/shardlab/discordrb/pull/314
|
|
82
|
+
- feat: message forwards by @Droid00000 in https://github.com/shardlab/discordrb/pull/340
|
|
83
|
+
- feat: fix thread caching by @Droid00000 in https://github.com/shardlab/discordrb/pull/363
|
|
84
|
+
- feat: gh actions by @swarley in https://github.com/shardlab/discordrb/pull/371
|
|
85
|
+
|
|
86
|
+
## New Contributors
|
|
87
|
+
|
|
88
|
+
- @gustavomgama made their first contribution in https://github.com/shardlab/discordrb/pull/243
|
|
89
|
+
- @wouterdedroog made their first contribution in https://github.com/shardlab/discordrb/pull/249
|
|
90
|
+
- @advaith1 made their first contribution in https://github.com/shardlab/discordrb/pull/264
|
|
91
|
+
- @joshbuker made their first contribution in https://github.com/shardlab/discordrb/pull/265
|
|
92
|
+
- @Droid00000 made their first contribution in https://github.com/shardlab/discordrb/pull/277
|
|
93
|
+
- @Quintasan made their first contribution in https://github.com/shardlab/discordrb/pull/240
|
|
94
|
+
- @soukouki made their first contribution in https://github.com/shardlab/discordrb/pull/287
|
|
95
|
+
- @y-bonfire made their first contribution in https://github.com/shardlab/discordrb/pull/288
|
|
96
|
+
- @ceud made their first contribution in https://github.com/shardlab/discordrb/pull/267
|
|
97
|
+
- @mrhappyma made their first contribution in https://github.com/shardlab/discordrb/pull/344
|
|
98
|
+
- @itsthedevman made their first contribution in https://github.com/shardlab/discordrb/pull/244
|
|
99
|
+
|
|
100
|
+
**Full Changelog**: https://github.com/shardlab/discordrb/compare/v3.5.0...v3.6.0
|
|
101
|
+
|
|
8
102
|
## [3.5.0] - 2023-07-05
|
|
103
|
+
|
|
9
104
|
[3.5.0]: https://github.com/shardlab/discordrb/releases/tag/v3.5.0
|
|
10
105
|
|
|
11
106
|
[View diff for this release.](https://github.com/shardlab/discordrb/compare/v3.4.2..v3.5.0)
|
data/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://rubygems.org/gems/discordrb)
|
|
4
4
|
[](https://rubygems.org/gems/discordrb)
|
|
5
5
|
[](https://circleci.com/gh/shardlab/discordrb)
|
|
6
|
-
[](https://drb.shardlab.dev/v3.
|
|
6
|
+
[](https://drb.shardlab.dev/v3.6.0/)
|
|
7
7
|
[](https://discord.gg/cyK3Hjm)
|
|
8
8
|
|
|
9
9
|
An implementation of the [Discord](https://discord.com/) API using Ruby.
|
|
@@ -19,7 +19,7 @@ An implementation of the [Discord](https://discord.com/) API using Ruby.
|
|
|
19
19
|
- [Development](https://github.com/shardlab/discordrb#development), [Contributing](https://github.com/shardlab/discordrb#contributing)
|
|
20
20
|
- [License](https://github.com/shardlab/discordrb#license)
|
|
21
21
|
|
|
22
|
-
See also: [Documentation](https://drb.shardlab.dev/v3.
|
|
22
|
+
See also: [Documentation](https://drb.shardlab.dev/v3.6.0/), [Tutorials](https://github.com/shardlab/discordrb/wiki)
|
|
23
23
|
|
|
24
24
|
## Introduction
|
|
25
25
|
|
|
@@ -44,8 +44,8 @@ If you enjoy using the library, consider getting involved with the community to
|
|
|
44
44
|
|
|
45
45
|
## Dependencies
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
- Ruby >= 3.2 supported
|
|
48
|
+
- An installed build system for native extensions (on Windows, make sure you download the "Ruby+Devkit" version of [RubyInstaller](https://rubyinstaller.org/downloads/))
|
|
49
49
|
|
|
50
50
|
### Voice dependencies
|
|
51
51
|
|
|
@@ -131,7 +131,7 @@ If you've made an open source project on GitHub that uses discordrb, consider ad
|
|
|
131
131
|
|
|
132
132
|
Also included is a webhooks client, which can be used as a separate gem `discordrb-webhooks`. This special client can be used to form requests to Discord webhook URLs in a high-level manner.
|
|
133
133
|
|
|
134
|
-
- [`discordrb-webhooks` documentation](https://drb.shardlab.dev/v3.
|
|
134
|
+
- [`discordrb-webhooks` documentation](https://drb.shardlab.dev/v3.6.0/Discordrb/Webhooks.html)
|
|
135
135
|
- [More information about webhooks](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks)
|
|
136
136
|
- [Embed visualizer tool](https://leovoel.github.io/embed-visualizer/) - Includes a discordrb code generator for forming embeds
|
|
137
137
|
|
data/discordrb-webhooks.gemspec
CHANGED
data/discordrb.gemspec
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
lib = File.expand_path('lib', __dir__)
|
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
require 'discordrb/version'
|
|
6
|
+
require 'discordrb/webhooks/version'
|
|
6
7
|
|
|
7
8
|
Gem::Specification.new do |spec|
|
|
8
9
|
spec.name = 'discordrb'
|
|
@@ -19,29 +20,33 @@ Gem::Specification.new do |spec|
|
|
|
19
20
|
spec.bindir = 'exe'
|
|
20
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
22
|
spec.metadata = {
|
|
23
|
+
'bug_tracker_uri' => 'https://github.com/shardlab/discordrb/issues',
|
|
22
24
|
'changelog_uri' => 'https://github.com/shardlab/discordrb/blob/main/CHANGELOG.md',
|
|
25
|
+
'documentation_uri' => 'https://github.com/shardlab/discordrb/wiki',
|
|
26
|
+
'source_code_uri' => 'https://github.com/shardlab/discordrb',
|
|
23
27
|
'rubygems_mfa_required' => 'true'
|
|
24
28
|
}
|
|
25
29
|
spec.require_paths = ['lib']
|
|
26
30
|
|
|
31
|
+
spec.add_dependency 'base64', '~> 0.2.0'
|
|
27
32
|
spec.add_dependency 'ffi', '>= 1.9.24'
|
|
28
33
|
spec.add_dependency 'opus-ruby'
|
|
29
34
|
spec.add_dependency 'rest-client', '>= 2.0.0'
|
|
30
|
-
spec.add_dependency 'websocket-client-simple', '>= 0.
|
|
35
|
+
spec.add_dependency 'websocket-client-simple', '>= 0.9.0'
|
|
31
36
|
|
|
32
|
-
spec.add_dependency 'discordrb-webhooks',
|
|
37
|
+
spec.add_dependency 'discordrb-webhooks', "~> #{Discordrb::Webhooks::VERSION}"
|
|
33
38
|
|
|
34
|
-
spec.required_ruby_version = '>= 2
|
|
39
|
+
spec.required_ruby_version = '>= 3.2'
|
|
35
40
|
|
|
36
41
|
spec.add_development_dependency 'bundler', '>= 1.10', '< 3'
|
|
37
42
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
38
|
-
spec.add_development_dependency 'redcarpet', '~> 3.5
|
|
39
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
|
40
|
-
spec.add_development_dependency 'rspec_junit_formatter', '~> 0.
|
|
43
|
+
spec.add_development_dependency 'redcarpet', '~> 3.5' # YARD markdown formatting
|
|
44
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
45
|
+
spec.add_development_dependency 'rspec_junit_formatter', '~> 0.6.0'
|
|
41
46
|
spec.add_development_dependency 'rspec-prof', '~> 0.0.7'
|
|
42
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
|
43
|
-
spec.add_development_dependency 'rubocop-performance', '~> 1.0'
|
|
44
|
-
spec.add_development_dependency 'rubocop-rake', '~> 0.
|
|
45
|
-
spec.add_development_dependency 'simplecov', '~> 0.21
|
|
46
|
-
spec.add_development_dependency 'yard', '~> 0.9.
|
|
47
|
+
spec.add_development_dependency 'rubocop', '~> 1.77.0'
|
|
48
|
+
spec.add_development_dependency 'rubocop-performance', '~> 1.25.0'
|
|
49
|
+
spec.add_development_dependency 'rubocop-rake', '~> 0.7.0'
|
|
50
|
+
spec.add_development_dependency 'simplecov', '~> 0.21'
|
|
51
|
+
spec.add_development_dependency 'yard', '~> 0.9.37'
|
|
47
52
|
end
|