Commit Graph

391 Commits

Author SHA1 Message Date
44a44e938f Reformat entire project with ruff instead of black 2025-08-18 20:16:10 -04:00
50caa3c82c Add support for components V2
Co-authored-by: Michael H <michael@michaelhall.tech>
Co-authored-by: Soheab <33902984+Soheab@users.noreply.github.com>
Co-authored-by: owocado <24418520+owocado@users.noreply.github.com>
Co-authored-by: Jay3332 <40323796+jay3332@users.noreply.github.com>
Co-authored-by: Danny <1695103+Rapptz@users.noreply.github.com>
2025-08-13 20:37:23 -04:00
7b3f798044 Add support for guild onboarding
Co-authored-by: Josh <8677174+bijij@users.noreply.github.com>
Co-authored-by: Josh <josh.ja.butt@gmail.com>
Co-authored-by: numbermaniac <5206120+numbermaniac@users.noreply.github.com>
Co-authored-by: Andrin <65789180+Puncher1@users.noreply.github.com>
Co-authored-by: Andrin Schaller <65789180+codeofandrin@users.noreply.github.com>
Co-authored-by: DA344 <108473820+DA-344@users.noreply.github.com>
2025-08-08 03:10:32 -04:00
22ade98db7 Skip GUILD_MEMBER_ADD if member already cached 2025-07-27 15:09:35 -04:00
a8b4eb1e9b Create ScheduledEvent on cache miss in SCHEDULED_EVENT_DELETE 2025-02-24 05:07:21 -05:00
8953938a53 Update Pyright to v1.1.394 2025-02-18 03:29:09 -05:00
418a7915e6 Add raw presence update evemt 2025-01-21 04:49:50 -05:00
afbbc07e98 Add support for poll result messages 2025-01-19 05:09:05 -05:00
ed95f2f106 Parse full message for raw message edit event 2025-01-15 18:25:57 -05:00
5734996aaf Fix soundboard sounds event data type
Closes #9969
2024-10-12 18:51:21 -04:00
58b6929aa5 Add SKU subscriptions support 2024-10-09 18:04:14 -04:00
a70217a719 Support for Soundboard and VC effects 2024-10-09 17:05:17 -04:00
733c583b72 Remove _get_poll lookup in Message constructor
This was triggering a terrible performance regression for no good
reason for all created messages that didn't have a poll, which is
essentially 99.99% of messages leading to MESSAGE_CREATE dispatches
having degraded performance.
2024-08-31 08:29:05 -04:00
fb12d3d546 Remove unnecessary warning logs for poll events 2024-06-13 23:31:14 -04:00
e43bd8692c Add support for Polls
Co-authored-by: owocado <24418520+owocado@users.noreply.github.com>
Co-authored-by: Josh <8677174+bijij@users.noreply.github.com>
Co-authored-by: Trevor Flahardy <75498301+trevorflahardy@users.noreply.github.com>
2024-05-10 06:14:12 -04:00
2e2f51fd5c First pass at supporting user apps
Co-authored-by: red <red@kalab.sk>
Co-authored-by: Vioshim <63890837+Vioshim@users.noreply.github.com>
2024-05-04 23:25:01 -04:00
0ee1794c6d Fix channel deletion not removing associated threads 2024-05-04 23:23:59 -04:00
d25b574b32 Clear outstanding chunk requests when receiving a READY event
Ref: #9571
2023-12-24 13:01:12 -05:00
7d159920e7 Fix entitlement_delete event dispatch 2023-10-20 04:09:57 -04:00
99618c823a Add support for premium app integrations
Co-authored-by: Danny <1695103+Rapptz@users.noreply.github.com>
Co-authored-by: Lucas Hardt <lucas.hardt@fu-berlin.de>
Co-authored-by: Andrin S. <65789180+Puncher1@users.noreply.github.com>
2023-10-19 07:27:29 -04:00
7c3868ef3b Add Client.remove_dynamic_items 2023-09-03 02:52:05 -04:00
a852f90358 Add support for dynamic items that parse custom_id for state 2023-09-03 02:52:05 -04:00
5eeeef02e4 Remove cached emoji and sticker data if intent is disabled 2023-07-06 20:10:55 -04:00
f1bade4bda Hoist webhook detection outside of store_user helper 2023-06-11 12:41:04 -04:00
0e727d8e6d Fix StageChannel.last_message_id always being None 2023-05-23 18:42:12 -04:00
df01db3490 Initial support for pomelo migration 2023-05-19 20:59:19 -04:00
2247ffd9b5 Convert Webhook targets in AuditlogEntry 2023-04-18 00:36:53 -04:00
ec71a46907 Fix Message.channel rebinding sometimes being Object 2023-02-11 18:25:42 -05:00
68c929cddf Use Mapping instead of Dict for AuditLogEntry inner cache data 2023-01-16 22:03:31 -05:00
bf860b0b07 Add support for generic ClientT in Interaction 2023-01-16 21:57:54 -05:00
2869d8000d Add support for on_audit_log_entry_create event 2023-01-12 18:16:36 -05:00
44c09c17b4 Remove leftover guild from scheduled_event_delete dispatch 2022-10-26 04:26:11 -04:00
efd28fc1e0 Remove redundant VocalGuildChannel in GuildChannel Union 2022-10-18 22:05:36 -04:00
3802780f77 Change a lot of logging INFO calls to be less verbose
Some of the logs were only useful for debug scenarios, so they have
been downgraded to DEBUG. Others were in INFO but supposed to be in
WARNING so those were upgraded.
2022-08-15 10:21:36 -04:00
2d586ae805 Add initial support for app command localisation 2022-08-05 22:35:30 -04:00
d707019348 Bump Pyright to 1.1.265, fix type errors, and remove unnecessary ignores 2022-08-04 22:46:02 -04:00
87bc79e6e3 Change certain sequences to use a special proxy type instead of list
This is to speed up cases where someone is just querying the length
of the underlying sequence. If anything else is done to the sequence
then it is copied from the original iterator.

This change should be mostly transparent.
2022-07-19 01:58:58 -04:00
1aaa32d4bc Add on_raw_app_command_permissions_update event 2022-07-10 04:00:26 -04:00
5426d19dc7 Implement AutoMod 2022-06-27 00:47:52 -04:00
be6db20255 Add on_raw_thread_member_remove event 2022-06-09 01:58:50 -04:00
06c1f44d74 Add on_raw_thread_update event 2022-06-03 04:49:32 -04:00
ee71366f72 Fetch application_info on login
This allows users to no longer pass application_id when calling sync
inside setup_hook
2022-05-22 19:52:50 -04:00
cdf787186e Add VoiceChannel and Thread to isinstance checks 2022-05-16 15:32:13 -04:00
7267d18d9e Improve component typing 2022-05-16 15:30:03 -04:00
573bb32a1e Fallback to an unavailable guild instead of an Object in interactions 2022-05-14 06:50:27 -04:00
8699d2139a Improve generic duck type programming with PartialMessageable
This adds jump_url, permissions_for, and created_at. Luckily, most
cases of this type being constructed already have the guild_id at
creation time.
2022-05-03 10:49:52 -04:00
a0dfdb9b1d Fix multiple view instances not dispatching in app commands responses
Due to a quirk in InteractionResponse.send_message not returning a
message, all messages sent with an associated View would end up having
no message_id set. When multiple instances of a View are responded to
in a slash command context, this meant that the newest one would
override the storage of the older one. Ultimately leading to the first
view instance causing interaction failures.

Since fetching the original message is an unacceptable solution to the
problem due to incurred requests, the next best thing is to store an
intermediate interaction_id as a stop gap to differentiate between
the multiple instances. This change however, came with its own set of
complications.

Due to the interaction_id being an intermediate stop gap, the
underlying storage of the view store had to be changed to accommodate
the different way of accessing the data. Mainly, the interaction_id
key had to be quick to swap and remove to another key. This solution
attempts to change the interaction_id interim key with
a full fledged message_id key when it receives one if it's possible.

Note that the only way to obtain the interaction_id back from the
component interaction is to retrieve it from the MessageInteraction
data structure. This is because using the interaction_id of the button
press would be a different interaction ID than the one set as an
interim key. As a consequence, this stop gap only works for application
command based interactions. I am not aware of this bug manifesting in
component based interactions.

This patch also fixes a bug with ViewStore.remove_view not working due
to a bug being suppressed by a type: ignore comment. It also removes
the older __verify_integrity helper method since clean-up is already
done through View.stop() or View timeout.

Hopefully in the near future, the `/callback` endpoint will return
actual message data and this stop gap fix will no longer be necessary.
2022-04-28 12:24:57 -04:00
6e2cfff2ac Add raw member remove event 2022-04-27 22:08:04 -04:00
5a06fa5f3e Give large guilds more time to chunk before timing out 2022-04-25 13:00:14 -04:00
2dbf14bb72 Separately delay ready event for each shard 2022-04-25 02:01:46 -04:00