Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(message)!: omit empty Components and Embeds #1483

Merged
merged 6 commits into from
Feb 2, 2024

Conversation

AlexeyOplachko
Copy link
Contributor

@AlexeyOplachko AlexeyOplachko commented Jan 12, 2024

A while ago there was a small discussion on this topic in discord down from this message
Implemented as was described(at least I think that's what was meant about converting slices to slices of pointers), here's a recording of it working
DiscordPTB_2024-01-12_22-32-58
Snippet with example of code that's used for suppression.

func MessageUpdate(s *discordgo.Session, m *discordgo.MessageUpdate) {
	if len(m.Embeds) > 0 {
		messageEdit := discordgo.NewMessageEdit(m.ChannelID, m.ID)
		messageEdit.Flags = discordgo.MessageFlagsSuppressEmbeds
		s.ChannelMessageEditComplex(messageEdit)
		s.ChannelMessageSend(m.ChannelID, "Suppressed embed")
	}
}

message.go Outdated
@@ -233,7 +233,7 @@ type MessageSend struct {
Content string `json:"content,omitempty"`
Embeds []*MessageEmbed `json:"embeds"`
TTS bool `json:"tts"`
Components []MessageComponent `json:"components"`
Components []*MessageComponent `json:"components"`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MessageComponent is an interface. If the array going to consist of pointers, it's going to be extremely inconvenient to pass things in.

var btn discordgo.MessageComponent = discordgo.Button{}
components := []*discordgo.MessageComponent{
    discordgo.Button{...}, // Not possible
    &btn,
}

message.go Outdated Show resolved Hide resolved
message.go Outdated Show resolved Hide resolved
@FedorLap2006 FedorLap2006 linked an issue Jan 13, 2024 that may be closed by this pull request
AlexeyOplachko and others added 3 commits January 13, 2024 20:43
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
Co-authored-by: Fedor Lapshin <fe.lap.prog@gmail.com>
fix(MessageEdit): additional changes based on review
restapi.go Outdated Show resolved Hide resolved
@FedorLap2006 FedorLap2006 changed the title Fixes embed suppression bug fix(message)!: omit empty Components and Embeds Jan 17, 2024
@FedorLap2006 FedorLap2006 merged commit 7f80bc7 into bwmarrin:master Feb 2, 2024
8 checks passed
ymotongpoo pushed a commit to ymotongpoo/opentelemetry-collector-extra that referenced this pull request Jun 4, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/bwmarrin/discordgo](https://togithub.com/bwmarrin/discordgo)
| `v0.27.1` -> `v0.28.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fbwmarrin%2fdiscordgo/v0.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fbwmarrin%2fdiscordgo/v0.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fbwmarrin%2fdiscordgo/v0.27.1/v0.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fbwmarrin%2fdiscordgo/v0.27.1/v0.28.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>bwmarrin/discordgo (github.com/bwmarrin/discordgo)</summary>

###
[`v0.28.1`](https://togithub.com/bwmarrin/discordgo/releases/tag/v0.28.1):
DiscordGo v0.28.1

[Compare
Source](https://togithub.com/bwmarrin/discordgo/compare/v0.28.0...v0.28.1)

Hi all! This release, once again, only bumps semantic version of the
library and does not contain any new fixes nor features.
Sorry for the inconvenience! See previous release for changelog.

###
[`v0.28.0`](https://togithub.com/bwmarrin/discordgo/releases/tag/v0.28.0):
DiscordGo v0.28.0

[Compare
Source](https://togithub.com/bwmarrin/discordgo/compare/v0.27.1...v0.28.0)

##### Changelog

##### Breaking changes

- `ChannelEdit.Position` is now a pointer
[bwmarrin/discordgo#1385
- `Button.Emoji` is now a pointer
[bwmarrin/discordgo#1475
- `SelectMenuOption.Emoji` is now a pointer
[bwmarrin/discordgo#1476
- `Components` and `Embeds` in `MessageEdit` are now pointers
[bwmarrin/discordgo#1483
- `WebhookEdit` and `WebhookEditWithToken` now return `*Webhook`,
instead of `*Role`
[bwmarrin/discordgo#1497
- `AuditLogGuildScheduledEventUpdare` was renamed to
`AuditLogGuildScheduledEventUpdate`
[bwmarrin/discordgo#1370
- Type of `Message.StickerItems` was changed to `[]StickerItem`
[bwmarrin/discordgo#1494
- `withMember` parameter was added to `Session.ThreadMember` and
`Session.ThreadMembers`
[bwmarrin/discordgo#1325
- `limit` parameter was added to `Session.ThreadMembers`
[bwmarrin/discordgo#1325

##### Features

- Onboarding
[bwmarrin/discordgo#1401
- Default values for auto-populated select menus
[bwmarrin/discordgo#1452
- Role icons
[bwmarrin/discordgo#1334

##### Additions

- Add support for usernames without disciminator
[bwmarrin/discordgo#1387
- Add `WebhookParams.ThreadName`
[bwmarrin/discordgo#1412
- Add `SuppressNotification` and `IsVoiceMessage` message flags
[bwmarrin/discordgo#1428
- Add `MessageSend.Flags`
[bwmarrin/discordgo#1427
- Add `FailIfNotExists` and `SoftReference` to `Message`
[bwmarrin/discordgo#1376
- Add `MessageSend.StickerIDs`
[bwmarrin/discordgo#1340
- Add `ApplicationCommandInteractionData.CommandType`
[bwmarrin/discordgo#1362
- Add `AuditLogOptions.IntegrationType`
[bwmarrin/discordgo#1440
- Add `AuditLogOptions.ApplicationID`
[bwmarrin/discordgo#1380
- Add auto moderation audit log actions and options
[bwmarrin/discordgo#1371
- Add monetization audit log actions
[bwmarrin/discordgo#1442
- Add `BotHTTPInteractions` and `ActiveBotDeveloper` user flags
[bwmarrin/discordgo#1465
- Add `ThreadMember.Member`
[bwmarrin/discordgo#1325
- Add `Member.Flags`
[bwmarrin/discordgo#1499
- Add `Member.DisplayName`
[bwmarrin/discordgo#1426
- Add `Attachments` to `InteractionResponseData`, `WebhookEdit` and
`WebhookParams`
[bwmarrin/discordgo#1392
- Add `Session.ShouldReconnectVoiceOnSessionError`
[bwmarrin/discordgo#1350
- Add `Role.Flags`
[bwmarrin/discordgo#1410
- Add `UpdateCustomStatus`
[bwmarrin/discordgo#1425
- Add Spanish LATAM locale
[bwmarrin/discordgo#1496
- Add `GuildDirectory` and `GuildMedia` channel types
[bwmarrin/discordgo#1514

##### Other changes

- Fix error shadowing in `WebhookEditWithToken`
[bwmarrin/discordgo#1372
- Remove remove duplicated slash in `EndpointGuildTemplate`
[bwmarrin/discordgo#1395
- Fix incorrect `AuditLogOptionsType` values
[bwmarrin/discordgo#1413
- Allow `Components` and `Embeds` in `MessageEdit` to be set to `[]`
[bwmarrin/discordgo#1483
- Allow `ChannelEdit.Position` to be set to `0`
[bwmarrin/discordgo#1385
- Fix `BUTTON_COMPONENT_INVALID_EMOJI` error for `Button`
[bwmarrin/discordgo#1475
- Fix `BUTTON_COMPONENT_INVALID_EMOJI` error for `SelectMenuOption`
[bwmarrin/discordgo#1476

##### Special thanks

-   [@&#8203;Roolps](https://togithub.com/Roolps)
-   [@&#8203;tckthecreator](https://togithub.com/tckthecreator)
-   [@&#8203;quackduck](https://togithub.com/quackduck)
-   [@&#8203;Earlopain](https://togithub.com/Earlopain)
-   [@&#8203;loghinalexandru](https://togithub.com/loghinalexandru)
-   [@&#8203;merlinfuchs](https://togithub.com/merlinfuchs)
-   [@&#8203;Aldiwildan77](https://togithub.com/Aldiwildan77)
-   [@&#8203;Ju0x](https://togithub.com/Ju0x)
-   [@&#8203;JulienTant](https://togithub.com/JulienTant)
-   [@&#8203;KokeCacao](https://togithub.com/KokeCacao)
-   [@&#8203;SamusAranX](https://togithub.com/SamusAranX)
-   [@&#8203;TheGrandPackard](https://togithub.com/TheGrandPackard)
-   [@&#8203;phamill](https://togithub.com/phamill)
-   [@&#8203;AlexeyOplachko](https://togithub.com/AlexeyOplachko)
-   [@&#8203;Cyb3r-Jak3](https://togithub.com/Cyb3r-Jak3)
-   [@&#8203;joshuasing](https://togithub.com/joshuasing)
-   [@&#8203;hhaste](https://togithub.com/hhaste)

**Full Changelog**:
bwmarrin/discordgo@v0.27.1...v0.28.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ymotongpoo/opentelemetry-collector-extra).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zODguMSIsInVwZGF0ZWRJblZlciI6IjM3LjM4OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can't add SUPPRESS_EMBED flag to other user's message
2 participants