169 Commits

Author SHA1 Message Date
071e01cd87
Simplifies latency property getter logic
Refactors the conditional check to use getattr with a default value,
reducing code complexity while maintaining the same functionality
2025-06-11 15:33:58 -06:00
592653cccd
Improves latency calculation precision and safety
Adds null check to prevent errors when latency is unavailable and rounds the returned value to 2 decimal places for consistent precision across the application.
2025-06-11 15:21:05 -06:00
9d8fd83497
Fix: Remove unnecessary type ignore comment for latency in ping command 2025-06-11 15:14:14 -06:00
3c638d17ce
Adds latency display and improves bot configuration
Adds millisecond latency property to gateway and client for more precise monitoring.

Enhances ping command to display gateway latency for better debugging.

Configures message content intent and mention replies for improved bot functionality.

Adds dotenv support for cleaner environment variable management.

Formats error classes for better code consistency and readability.
2025-06-11 15:13:37 -06:00
a702c66603
Merge branch 'master' of https://github.com/Slipstreamm/disagreement 2025-06-11 14:52:49 -06:00
aec0de3e58
Fix: Ensure newline at end of file in MemberCacheFlags and add __init__.py 2025-06-11 14:50:01 -06:00
66288ba920
Adds comprehensive Discord API error code mapping
Implements specific exception classes for all Discord API error codes to provide more granular error handling and better debugging experience.

Creates individual exception classes for each Discord error code (10001-520006) with descriptive names and documentation strings that include the official error messages and codes.

Updates HTTP client to automatically map Discord error codes to their corresponding exception classes, allowing developers to catch specific error types rather than generic HTTP exceptions.

Includes comprehensive test coverage for the new error code mapping functionality to ensure correct exception raising based on API responses.
2025-06-11 14:47:23 -06:00
15d95bc786
Use asyncio.get_running_loop fallback (#50) 2025-06-11 14:27:11 -06:00
3158d76e90
Document dotenv requirement and add optional handling (#51) 2025-06-11 14:27:09 -06:00
dd6cf9ad9e
Fix README code block and format code (#52) 2025-06-11 14:27:06 -06:00
6fd1f93bab
Add default allowed_mentions option (#53) 2025-06-11 14:27:03 -06:00
d4bf99eac6
Add embed helper methods and docs (#54) 2025-06-11 14:27:01 -06:00
cfb8bedeaf
Add volume and options support to audio (#55) 2025-06-11 14:26:58 -06:00
35eb459c36
Add clean_content property and tests (#56) 2025-06-11 14:26:55 -06:00
64dec9b3f5
Add Messageable mixin for channel messaging (#57) 2025-06-11 14:26:53 -06:00
6d55a2ca98
Add Greedy converter and support in parser (#58) 2025-06-11 14:26:51 -06:00
afeb86a395
Add guild widget support (#59) 2025-06-11 14:26:49 -06:00
39162b6543
feat: add Activity presence models (#60) 2025-06-11 14:26:47 -06:00
c47a7e49f8
Add LRU support to Cache and message cache size option (#61) 2025-06-11 14:26:44 -06:00
07daf78ef4
Add AutoArchiveDuration enum and update thread APIs (#62) 2025-06-11 14:26:41 -06:00
73416858ae
chore: Update version to 0.3.0b1 in __init__.py and pyproject.toml v0.3.0b1 2025-06-11 02:28:36 -06:00
1c45989988
chore: Bump version to 0.3.0rc1 in __init__.py and pyproject.toml 2025-06-11 02:27:15 -06:00
45a5ef1fb5
Improves asyncio loop handling and test initialization
Replaces deprecated get_event_loop() with proper running loop detection and fallback to new loop creation for better asyncio compatibility.

Fixes test suite by replacing manual Client instantiation with proper constructor calls, ensuring all internal caches and attributes are correctly initialized.

Updates cache access patterns to use new cache API methods consistently across the codebase.
2025-06-11 02:25:24 -06:00
ed83a9da85
Implements caching system with TTL and member filtering
Introduces a flexible caching infrastructure with time-to-live support and configurable member caching based on status, voice state, and join events.

Adds AudioSink abstract base class to support audio output handling in voice connections.

Replaces direct dictionary access with cache objects throughout the client, enabling automatic expiration and intelligent member filtering based on user-defined flags.

Updates guild parsing to incorporate presence and voice state data for more accurate member caching decisions.
2025-06-11 02:11:33 -06:00
0151526d07
chore: Apply code formatting across the codebase
This commit applies consistent code formatting to multiple files. No functional changes are included.
2025-06-11 02:10:33 -06:00
17b7ea35a9
feat: Implement guild.fetch_members 2025-06-11 02:06:19 -06:00
28702fa8a1
feat(voice): Implement voice receiving and audio sinks 2025-06-11 02:06:18 -06:00
97505948ee
feat: Add advanced message, channel, and thread management 2025-06-11 02:06:16 -06:00
152c0f12be
feat(ui): Implement persistent views 2025-06-11 02:06:15 -06:00
eb38ecf671
feat(commands): Add has_role and has_any_role check decorators 2025-06-11 02:06:13 -06:00
2bd45c87ca
feat: Enhance command framework with groups, checks, and events 2025-06-11 02:06:11 -06:00
be85444aa0
Bump version to 0.2.0rc1 in __init__.py and pyproject.toml v0.2.0rc1 2025-06-10 21:13:59 -06:00
9509213f7a
Add guild templates support (#41) 2025-06-10 21:10:29 -06:00
c250c22737
Add guild scheduled event support (#42) 2025-06-10 21:09:47 -06:00
2d6c2cb0be
Add stage channel and instance support (#43) 2025-06-10 21:08:32 -06:00
3059041ba8
Add audit log support (#48) 2025-06-10 21:07:39 -06:00
43ca2dc561
Add voice region support (#44)
Squash and merge PR #44
2025-06-10 20:50:27 -06:00
7595e33fd1
Emit shard lifecycle events (#45)
Squash and merge PR #45
2025-06-10 20:50:25 -06:00
36b06c6c7a
Add HTTP session options (#46)
Squash and merge PR #46
2025-06-10 20:50:23 -06:00
a4aa4335a5
Merge branch 'master' of https://github.com/Slipstreamm/disagreement 2025-06-10 20:49:58 -06:00
463ad26217
Merge pull request #47 from Slipstreamm/codex/add-json-persistence-for-command-ids
Merge PR #47
2025-06-10 20:49:48 -06:00
029a0fe2bd
Merge pull request #49 from Slipstreamm/codex/implement-max_concurrency-decorator
Merge PR #49
2025-06-10 20:49:45 -06:00
b0f9381fa6 Add max concurrency support 2025-06-10 20:48:19 -06:00
5d3778b083 Add command ID persistence 2025-06-10 20:48:18 -06:00
b9d93a90fa
Adds invite management functionality
Introduces comprehensive invite handling capabilities including creation, deletion, and retrieval operations.

Implements invite data model with proper parsing and representation methods to handle Discord invite objects and their metadata.

Provides HTTP client methods for all invite-related API endpoints with appropriate error handling and response processing.

Includes documentation with practical examples for common invite operations.
2025-06-10 20:37:21 -06:00
669f00e745
Add extensive color helper methods (#40) 2025-06-10 18:42:52 -06:00
7db71e8124
fix: update user agent URL in HTTPClient 2025-06-10 18:36:24 -06:00
97273ce655
Format with black 2025-06-10 18:26:23 -06:00
d631ab8e7c
bump: update version to 0.1.0rc3 in __init__.py and pyproject.toml v0.1.0rc3 2025-06-10 18:25:43 -06:00
d074839a29
Remove duplicate asyncio import and sort (#35) 2025-06-10 18:24:43 -06:00