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

dev #569

Merged
merged 83 commits into from
Oct 16, 2023
Merged

dev #569

merged 83 commits into from
Oct 16, 2023

Conversation

l7ssha
Copy link
Member

@l7ssha l7ssha commented Oct 16, 2023

No description provided.

abitofevrything and others added 30 commits March 18, 2023 17:50
* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers
* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Move test samples to global scope

* Implement the webhook http api

* Rewrite integration test & add webhook integration test

* Fix issues found by webhook tests

* Document webhooks
* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Implement the HTTP Application API

* Add application manager to client
* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Move test samples to global scope

* Implement the webhook http api

* Rewrite integration test & add webhook integration test

* Fix issues found by webhook tests

* Document webhooks

* Implement the HTTP Application API

* Add application manager to client

* Implement the voice http api

* Add voice tests

* Add documentation
* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Move test samples to global scope

* Implement the webhook http api

* Rewrite integration test & add webhook integration test

* Fix issues found by webhook tests

* Document webhooks

* Start implementing the HTTP Guild API

* Implement Guild HTTP API

* Complete TODOs

* Add exports

* Add utility methods

* Add parsing tests for members & guilds

* Add endpoint tests for guild & member managers

* Add integration tests for guilds & members

* Add unit & integration tests for roles

* Remove admin endpoints from tests

* Document the HTTP Guild API
* Initial Gateway implementation

* Implement gateway send events

* Add shortcut methods to client

* Export gateway files & classes

* Add tests for gateway

* Start documenting the Gateway API

* Finish documenting the Gateway API

* Improve shard error handling

* Add missing event

* Correct issues found by gateway tests

* Update error class names
* Add PartialTextChannel

* Use PartialTextChannel casts where possible

* Add test
* Initial implementation of the stage instances HTTP API

* Implement the gateway events for stage instances

* Split SnowflakeEntity into three subclasses

* Make StageInstance implement SnowflakeEntity

* Remove SnowflakeEntityMixin

* Add defaultToString to flags

* Update CONTRIBUTING.md

* Add documentation

* Document stage instance methods in ChannelManager

* Remove unused import
* Add pubspec_overrides.yaml to gitignore

* Implement the Guild Scheduled Event HTTP API

* Add tests for scheduled events

* Add convenience methods to ScheduledEvent

* Add integration test for scheduled events

* Handle scheduled event gateway events

* Document the scheduled event HTTP API

* Fix issues found by tests
* Implement the HTTP Auto Moderation API

* Add auto moderation gateway events
* Scope cache stores to each client

* Add better identifiers for cache instances

* Correct access to backing store in some cache methods

* Update cache tests

* Add cache test
* Allow connecting with arbitrary ApiOptions

* Parse Snowflakes correctly when using ETF

* Add error message to ShardDisconnectError

* Add plugin framework

* Add CliIntegration plugin

* Add basic logging

* Add logging plugin

* Add IgnoreExceptions plugin

* Add client options to mock client used in http tests

* Allow unknown guild features

* Don't require topic in guild announcement channels
* Models for invites

* Add ToStringHelper to Invite

Co-authored-by: Abitofevrything <[email protected]>

* Rewrite http channels API (#469)

* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Rewrite http webhook api (#478)

* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Move test samples to global scope

* Implement the webhook http api

* Rewrite integration test & add webhook integration test

* Fix issues found by webhook tests

* Document webhooks

* Rewrite http application api (#477)

* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Implement the HTTP Application API

* Add application manager to client

* Rewrite http voice api (#479)

* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Move test samples to global scope

* Implement the webhook http api

* Rewrite integration test & add webhook integration test

* Fix issues found by webhook tests

* Document webhooks

* Implement the HTTP Application API

* Add application manager to client

* Implement the voice http api

* Add voice tests

* Add documentation

* Expose members, add manager and fix various issues

* Fix channel prop and add endpoints, add manager to mixin

* Format

* Testing

* Finish implementing invites

---------

Co-authored-by: Abitofevrything <[email protected]>
Co-authored-by: Abitofevrything <[email protected]>
* Implement the HTTP Audit Logs API

* Document the audit log http api

* Add audit log gateway events
* Add base emojis

* Builders & config

* Add missing reactions endpoints/structures

* Format

* Forgot to commit gateway

* fix naming and return emoji on delete

* Correctly serialize roles

* Rewrite model

* Use guild emoji manager on gateway

* Fix parsing

* Remove global maanger

* Move emoji.dart to models directory

* Finish implementing emojis

* Avoid using Snowflake.zero when real ID is available

* Add emoji tests

* Add ReactionBuilder

* Add identifier to emoji manager

* Add identifier to AuditLogManager cache

* Remove unneeded else

---------

Co-authored-by: Abitofevrything <[email protected]>
* Add missing fields in GuildBuilder

* Make repliedUser nullable in allowed_mentions

* Add missing activities field to PresenceBuilder

* Add initial presence for gateway

* Handle adding an already existing member to a guild

* TThrow an exception when a role is not found

* Remove TODOs that won't be addressed

* Fix guild tests

* Complete thread member parsing test

* Don't use package imports

* Move integrations to their own manager

* Fix issues found by tests

* Add cache identifier to audit log manager

* Add missing application role connection fieldsd & endpoints

* Add globalName to users

* Add missing user endpoints

* Add warning when force killing shard

* Add warning when shard encounters error

* Add exception when fetching an audit log entry that does not exist

* Make HttpResponseError implement NyxxException

* Remove completed TODO in Invite

* Add missing application field to Message

* Add missing fields to guild create event

* Add emoji to onboarding prompt

* Add cache for VoiceStates

* Add emojis to GuildPreview

* Finish InviteCreateEvent

* Add presences to GuildMembersChunkEvent

* Add emojis field to GuildEmojisUpdateEvent

* Parse webhooks as such in message author fields

* Fix typo

* Implement the fetch guild vanity url endpoint

* Change InviteCreateEvent to use InviteWithMetadata

* Add missing channel invite endpoints

* Remove ban cache

* Add back protection against running out of session starts

* Only ignore exceptions after client is connected

* Remove TODOs

* Add emoji field to activities

* Address review comments
abitofevrything and others added 29 commits August 25, 2023 22:04
* Fix parsing members received in interaction resolved_data

* Add test
* Add onRateLimit stream to HttpHandler

* Add tests
* Fix example in readme

* Allow users to specify stdout and stderr in Logging plugin
* Bump mocktail

* Fix parsing role mentions
* add label and action rows to models (correct formatting)

* change nullability of TextInputComponent fields to hold component from ModalSubmitInteraction

* Use maybeParse for style field

Co-authored-by: Rapougnac <[email protected]>

* change ModalBuilder components to ActionRowBuilders

---------

Co-authored-by: Rapougnac <[email protected]>
* fix: incorrect voice state update for client

* chore: add missing export for NyxxPluginState
…562)

* Implement select menu default values

* Implement entitlements

* Export entitlement classes

* Add tests for entitlements

* Fix imports

* Add entitlements test

* Add entitlements to interaction structure

* Add resolved data to message component interaction data

* Add PREMIUM_REQUIRED interaction response type

* Add SKU structure

* Add missing fields to application object

* Add update current application endpoint

* Add new audit log entry types

* Add integration_type field to audit log entry info

* Add resolved data to message object

* Add isVoiceMessage flag

* Add missing reaction fields

* Add missing attachment fields

* Add guild media channel type

* Add missing guild features

* Add missing stage instance builder parameters

* Add user avatar decoration

* Add withCounts to list current user guilds endpoint

* Add missing fields to MessageReactionAddEvent

* Add missing fields to Role object

* Implement team member roles

* Rename ThreadAggregate to ThreadsOnlyChannel

* Update application manager tests

* Add flags to sample role

* Update tests
@l7ssha l7ssha merged commit 11c026e into dev Oct 16, 2023
3 checks passed
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.

5 participants