0.6.0
Welcome to nostrum 0.6.0, bringing you message content intents, API v10, voice
improvements, new permissions, and more!
A huge thanks to @Th3-M4jor, @BrandtHill and @daskycodes for their contributions
to this release!
Breaking changes
- If your bot relies on message content, you will need to add
:message_content
in your:gateway_intentsconfiguration setting. - Voice listening now automatically parses RTP and Opus. You can pass
falseas
the third argument tolisten/2-3to reuse the previous behaviour. - The
:manage_emojispermission was renamed to:manage_emojis_and_stickers
Functionality
- API v10
- Added the
:message_contentintent - Added the following permissions:
- Guild
:view_guild_insights:use_application_commands:moderate_members
- Text
:use_external_stickers
- Voice
:stream:request_to_speak:manage_events:use_embedded_activities
- Guild
- Added the
- Interactions
- Add the
:localeand:guild_localefields
- Add the
- Voice
- Add asynchronous listening to voice packet events via
Nostrum.Voice.start_listen_async/1 - Add a ssrc map (see
t:Nostrum.Voice.VoiceWSState.ssrc_map/0and
Nostrum.Voice.get_ssrc_map/1for details) - Automatic parsing of RTP and Opus (see breaking changes above)
- Add a function to interleave silence within spaced RTP packets (see
Nostrum.Voice.pad_opus/1for details) - Track the last played URL for a guild, see
Nostrum.Voice.get_current_url/1 - Add plenty of types
- Add asynchronous listening to voice packet events via
- Caching
- Add a
NoOpguild cache for effectively disabling the guild cache
- Add a
- Garbage collect ratelimiter buckets that have a reset time more than 1 hour
ago - Add
Nostrum.Tokenfor verifying Discord Bot tokens - Rework message handling with attachments (the multipart-generating code)
- Allow
mimeversion 1 and 2
Bugfixes
- Voice
- Fix a bug with generating ogg pages with incorrect page_segments value
- Properly skip over RTP header extension
- Safely close ports on teardown
- Fix bug where playing new audio immediately after stopping one would
sometimes result in rogue watchdog timer cancelling new audio
- Fix ratelimiting of reaction and webhook API endpoints
- Fix
check_token/1to work with newer token formats - Fix
Message.to_url/1breaking on numeric IDs - Fix an improper call to
Util.castin theIntegrationand
Integration.Applicationstructs - Handle unexpected
nofinresponses in the ratelimiter. Please report these
cases
Documentation
- Document required
:message_contentintent if relying on content for e.g.
commands - Update the audio player example to use application commands
- Correct a few typos in the
Apimodule
