Commit Graph

374 Commits

Author SHA1 Message Date
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
277d35c9b2 Add raw typing event and fix typing event not working for DMs 2022-04-23 22:25:07 -04:00
3e8fa5a661 Add raw thread delete event 2022-04-22 00:42:39 -04:00
6a49dfcc0f Fix crash with WEBHOOKS_UPDATE channel_id being nullable 2022-04-10 03:47:03 -04:00
23f6876492 Add initial support for forum channels
Closes #7652
2022-04-06 23:02:58 -04:00
deb7958797 Add new on_thread_create event 2022-04-04 07:22:21 -04:00
2aca705b95 Add support for sending messages and managing webhooks in VoiceChannel 2022-04-02 11:14:03 -04:00
5ffa3e85de Update comments after # type: ignore to be compatible with PEP 484 2022-03-27 22:26:34 -04:00
1192d842e1 Fix some type checker errors and remove some type ignores
Caught from an upgraded Pyright
2022-03-16 01:46:58 -04:00
5aa696ccfa Fix typing issues and improve typing completeness across the library
Co-authored-by: Danny <Rapptz@users.noreply.github.com>
Co-authored-by: Josh <josh.ja.butt@gmail.com>
2022-03-13 23:52:10 -04:00
9c61e10a55 Move all async object creation to a proper initialisation point
This should make it so no object is created with another loop
2022-03-13 08:33:25 -04:00
8d4f08a5e7 Fix AutoShardedClient to work with the new asyncio loop machinery
Fix #7675
2022-03-13 08:05:44 -04:00
93af158b0c Refactor loop code to allow usage of asyncio.run 2022-03-13 04:54:14 -04:00
f09f0ea8ca Fix addition TypeError with Guild.member_count 2022-03-10 17:44:42 -05:00
3300f12dbb Fix scheduled event dispatch arguments 2022-03-09 20:07:22 -05:00
0db7b22713 Fix archived threads not getting evicted
Fixes #7541
2022-03-08 21:16:46 -05:00
987e27dfce Revert all Guild.chunk changes
This method should *not* return a list of members due to the way it is
used internally.
2022-03-07 22:14:38 -05:00
ac0e4fabb8 Fix type checker error in Guild.chunk 2022-03-07 18:09:23 -05:00