368 Commits

Author SHA1 Message Date
Rapptz
f1bade4bda Hoist webhook detection outside of store_user helper 2023-06-11 12:41:04 -04:00
owocado
0e727d8e6d
Fix StageChannel.last_message_id always being None 2023-05-23 18:42:12 -04:00
Rapptz
df01db3490 Initial support for pomelo migration 2023-05-19 20:59:19 -04:00
z03h
2247ffd9b5
Convert Webhook targets in AuditlogEntry 2023-04-18 00:36:53 -04:00
Rapptz
ec71a46907 Fix Message.channel rebinding sometimes being Object 2023-02-11 18:25:42 -05:00
Rapptz
68c929cddf Use Mapping instead of Dict for AuditLogEntry inner cache data 2023-01-16 22:03:31 -05:00
Rapptz
bf860b0b07 Add support for generic ClientT in Interaction 2023-01-16 21:57:54 -05:00
Rapptz
2869d8000d Add support for on_audit_log_entry_create event 2023-01-12 18:16:36 -05:00
z03h
44c09c17b4
Remove leftover guild from scheduled_event_delete dispatch 2022-10-26 04:26:11 -04:00
RioghanDer2te
efd28fc1e0
Remove redundant VocalGuildChannel in GuildChannel Union 2022-10-18 22:05:36 -04:00
Rapptz
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
Rapptz
2d586ae805 Add initial support for app command localisation 2022-08-05 22:35:30 -04:00
Bryan Forbes
d707019348
Bump Pyright to 1.1.265, fix type errors, and remove unnecessary ignores 2022-08-04 22:46:02 -04:00
Rapptz
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
z03h
1aaa32d4bc
Add on_raw_app_command_permissions_update event 2022-07-10 04:00:26 -04:00
Alex Nørgaard
5426d19dc7
Implement AutoMod 2022-06-27 00:47:52 -04:00
Enes Kurbetoğlu
be6db20255
Add on_raw_thread_member_remove event 2022-06-09 01:58:50 -04:00
Enes Kurbetoğlu
06c1f44d74
Add on_raw_thread_update event 2022-06-03 04:49:32 -04:00
Rapptz
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
z03h
cdf787186e
Add VoiceChannel and Thread to isinstance checks 2022-05-16 15:32:13 -04:00
Lilly Rose Berner
7267d18d9e
Improve component typing 2022-05-16 15:30:03 -04:00
Rapptz
573bb32a1e Fallback to an unavailable guild instead of an Object in interactions 2022-05-14 06:50:27 -04:00
Rapptz
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
Rapptz
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
Lilly Rose Berner
6e2cfff2ac
Add raw member remove event 2022-04-27 22:08:04 -04:00
Lilly Rose Berner
5a06fa5f3e
Give large guilds more time to chunk before timing out 2022-04-25 13:00:14 -04:00
Lilly Rose Berner
2dbf14bb72
Separately delay ready event for each shard 2022-04-25 02:01:46 -04:00
Lilly Rose Berner
277d35c9b2
Add raw typing event and fix typing event not working for DMs 2022-04-23 22:25:07 -04:00
Lilly Rose Berner
3e8fa5a661
Add raw thread delete event 2022-04-22 00:42:39 -04:00
Rapptz
6a49dfcc0f Fix crash with WEBHOOKS_UPDATE channel_id being nullable 2022-04-10 03:47:03 -04:00
Rapptz
23f6876492 Add initial support for forum channels
Closes #7652
2022-04-06 23:02:58 -04:00
Josh
deb7958797
Add new on_thread_create event 2022-04-04 07:22:21 -04:00
Rapptz
2aca705b95 Add support for sending messages and managing webhooks in VoiceChannel 2022-04-02 11:14:03 -04:00
jack1142
5ffa3e85de
Update comments after # type: ignore to be compatible with PEP 484 2022-03-27 22:26:34 -04:00
Rapptz
1192d842e1 Fix some type checker errors and remove some type ignores
Caught from an upgraded Pyright
2022-03-16 01:46:58 -04:00
Stocker
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
Rapptz
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
Rapptz
8d4f08a5e7 Fix AutoShardedClient to work with the new asyncio loop machinery
Fix #7675
2022-03-13 08:05:44 -04:00
Han Seung Min - 한승민
93af158b0c
Refactor loop code to allow usage of asyncio.run 2022-03-13 04:54:14 -04:00
Willy
f09f0ea8ca
Fix addition TypeError with Guild.member_count 2022-03-10 17:44:42 -05:00
z03h
3300f12dbb
Fix scheduled event dispatch arguments 2022-03-09 20:07:22 -05:00
I. Ahmad
0db7b22713
Fix archived threads not getting evicted
Fixes #7541
2022-03-08 21:16:46 -05:00
Rapptz
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
Rapptz
ac0e4fabb8 Fix type checker error in Guild.chunk 2022-03-07 18:09:23 -05:00
Rapptz
4c8b1f9abd Remove unused imports 2022-03-05 21:40:42 -05:00
Rapptz
f7315573aa Remove generic from Interaction and ConnectionState
This results in poor ergonomics due to the lack of default generics
for the common case. For most users this ends up in a degraded
experience since the type will resolve to Unknown rather than at the
very least a Client.
2022-03-05 05:03:23 -05:00
Rapptz
f435d160dd Add Interaction.client property 2022-03-01 08:11:22 -05:00
Josh
147948af9b
Use typing.Self throughout library 2022-03-01 07:53:24 -05:00
Rapptz
ae1aaac5a7 Add support for autocomplete 2022-03-01 05:42:44 -05:00
Rapptz
0d2db90028 Implement slash commands 2022-03-01 05:35:29 -05:00