Elixir Discord Library
nostrum 0.6.1
Welcome to nostrum 0.6.1, a small bugfix release addressing issues with token validation and typespecs.
Thanks to @Th3-M4jor and @cedeno for their contributions to this release!
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!
:message_content
in your :gateway_intents
configuration setting.false
as
the third argument to listen/2-3
to reuse the previous behaviour.:manage_emojis
permission was renamed to :manage_emojis_and_stickers
:message_content
intent:view_guild_insights
:use_application_commands
:moderate_members
:use_external_stickers
:stream
:request_to_speak
:manage_events
:use_embedded_activities
:locale
and :guild_locale
fieldsNostrum.Voice.start_listen_async/1
t:Nostrum.Voice.VoiceWSState.ssrc_map/0
and
Nostrum.Voice.get_ssrc_map/1
for details)Nostrum.Voice.pad_opus/1
for details)Nostrum.Voice.get_current_url/1
NoOp
guild cache for effectively disabling the guild cacheNostrum.Token
for verifying Discord Bot tokensmime
version 1 and 2check_token/1
to work with newer token formatsMessage.to_url/1
breaking on numeric IDsUtil.cast
in the Integration
and
Integration.Application
structsnofin
responses in the ratelimiter. Please report these
cases
:message_content
intent if relying on content for e.g.
commandsApi
moduleIntroducing nostrum 0.5.1 "I don't pick favourites", named after Craig's favourite cat! The release brings support for threads, a decoder for incoming voice data, integration events, modal submit interactions, and a bunch more goodies!
A huge thanks to @Th3-M4jor, @BrandtHill, @frm and @kianmeng for their contributions to this release!
If you're using streamlink for voice streaming, you may need to update it to >= 3.0 for this release, in order for the stream URL feature to work properly.
Nostrum.Api
functions for working with threadsporcelain
in favour of native ports.ogg
filesEnter nostrum 0.5: Raw voice, fleshed-out application command support, pluggable caches, stickers, typed events, scheduled events, did someone say "switch websocket library again"?
Thanks to @jb3, @Th3-M4jor, @BrandtHill, @bdanklin, @RealVidy, and the many more people who contributed to the release with pull requests, bug reports, feature suggestions, or just by being part of the development channel. A full list of our contributors, minus the mention spam, is at the bottom. Finally, thanks for the author of this tag for turning what should have been a day project into a one and a half year long incursion.
allowed_mentions
have been renamed:
:user
-> :users
{:user, list}
-> {:users, list}
{:role, list}
-> {:roles, list}
type
value for permission overwrites has changed:
"role"
-> 0
"member"
-> 1
:file
option for Nostrum.Api.execute_webhook/3-4
was renamed to
:files
and expects a list of files instead of a single file. :file
will
keep working for the time being, but you are advised to use :files
instead.Nostrum.Api.bulk_overwrite_global_application_commands/1-2
and
Nostrum.Api.bulk_overwrite_guild_application_commands/2-3
Nostrum.Struct.ApplicationCommand
Nostrum.Struct.ApplicationCommandInteractionDataResolved
Nostrum.Struct.Component
Nostrum.Struct.Component.ActionRow
Nostrum.Struct.Component.Button
Nostrum.Struct.Component.Option
Nostrum.Struct.Component.SelectMenu
Nostrum.Struct.Message.Component
Nostrum.Struct.ApplicationCommandInteractionData
Nostrum.Struct.ApplicationCommandInteractionDataOption
Nostrum.Struct.Interaction
Nostrum.Struct.Message
Nostrum.Struct.Message.Sticker
Nostrum.Api.modify_guild_member/4
Nostrum.Api.edit_webhook_message/4
Nostrum.Struct.Guild.Member.top_role/2
for retrieving the topmost role
of a memberNostrum.Struct.Message.to_url/1
for retrieving a message link for a
messageNostrum.Struct.Channel
), which
now gives a great overview for the jungle of Discord's channel typesNostrum.Struct.Message.type
valuesex_doc
version 0.28CHANNEL_PINS_UPDATE
GUILD_BAN_ADD
GUILD_BAN_REMOVE
GUILD_INTEGRATIONS_UPDATE
MESSAGE_REACTION_ADD
MESSAGE_REACTION_REMOVE
MESSAGE_REACTION_REMOVE_ALL
MESSAGE_REACTION_REMOVE_EMOJI
READY
TYPING_START
VOICE_STATE_UPDATE
VOICE_SERVER_UPDATE
VOICE_READY
event, fired when the bot is ready for sending audio in
a voice channelGUILD_SCHEDULED_EVENT_CREATE
GUILD_SCHEDULED_EVENT_UPDATE
GUILD_SCHEDULED_EVENT_DELETE
GUILD_SCHEDULED_EVENT_USER_ADD
GUILD_SCHEDULED_EVENT_USER_REMOVE
guild_scheduled_events
intentNostrum.Api.execute_webhook/3-4
num_shard: :auto
is now used by default:gun
, which we already use
for websocket, which reduced our dependency footprint.KraigieNostrumCat_
as the
boundary, that's us!ex_doc
among othersThanks to these wonderful folks who have contributed to this release:
heartbeat_ack
not being reset when reconnecting, creating a loop of reconnecting and then disconnecting shortly after (d424c473972ce27c4e6cfc5318816d648ccb4ea3)Nostrum.Struct.Snowflake
to Nostrum.Snowflake
(603da771b0171c71e49109dfb72f26a912037380)