Commit Graph
100 Commits
Author SHA1 Message Date
Rapptz bac6c2fc7b [commands] Unwrap functions to get their module and globalns
Fixes #7002
2021-06-01 08:51:35 -04:00
Rapptz 78275023cc Add Client.persistent_views to get all persistent views 2021-05-31 23:15:12 -04:00
Rapptz 7c40e83d10 Ensure views added to Client.add_view are persistent views 2021-05-31 23:08:08 -04:00
Rapptz c811932ca7 Don't mark URL buttons as dispatchable 2021-05-31 22:57:44 -04:00
Rapptz 09f0ed1fba Mention that rows are explicitly 0 indexed. 2021-05-31 20:19:08 -04:00
Rapptz 89d24cb0bc Add interaction enums to __all__ 2021-05-31 05:56:50 -04:00
Rapptz d0097c4281 Remove view syncing before editing in views
This prevents a potential race condition when a MESSAGE_UPDATE is
received syncing and refreshing the view components causing a desync.
2021-05-31 05:50:40 -04:00
Rapptz 4a3491cc0a Check for view finished state before resuming listening on edit 2021-05-31 00:18:06 -04:00
Rapptz 8dafe4f544 Add support for editing in views in PartialMessage 2021-05-31 00:17:35 -04:00
Rapptz 2ed3e049e1 Add View.is_finished() to query listening state 2021-05-31 00:12:08 -04:00
Rapptz 61a189c217 Sync views in InteractionResponse.edit_message 2021-05-31 00:09:15 -04:00
Rapptz 90a28d48d5 Fix potential KeyError when removing views 2021-05-30 12:29:46 -04:00
Rapptz 7b1c57ed60 Add support for interaction followups 2021-05-30 11:25:15 -04:00
Rapptz 2ebd5315f9 Add support for sending and editing views in Webhook 2021-05-30 11:25:00 -04:00
Rapptz c9cdb47338 Add __repr__ for View 2021-05-30 11:24:23 -04:00
Rapptz db58e628ba Allow Webhook.send to send ephemeral messages
This is only available for application webhooks
2021-05-30 10:29:29 -04:00
Rapptz 267fad9180 Add WebhookType.application 2021-05-30 10:02:58 -04:00
Rapptz c6f3ed1af4 Allow sending View with Interaction.response.send_message
This also allows for ephemeral views and listening to said views
2021-05-30 06:10:58 -04:00
Rapptz 1b15772671 Allow assigning Select.options to refresh the select menu 2021-05-30 03:20:29 -04:00
Rapptz 02c317d9a4 Fix Message.edit typings to take View parameters 2021-05-30 00:00:24 -04:00
Rapptz 7bd1211b36 Rework item grouping behaviour to take into consideration weights
This also renames `group` into `row`
2021-05-29 23:58:37 -04:00
Rapptz 695662416a Fix Messageable.send overload to take view parameters 2021-05-29 08:01:37 -04:00
Rapptz c21d12be5e Check future state before setting result in View 2021-05-29 05:52:05 -04:00
Rapptz d78e5d979d Refactor and type hint invites 2021-05-29 05:49:19 -04:00
Rapptz 5a68d3a561 Typehint AllowedMentions 2021-05-29 04:26:21 -04:00
Rapptz 5a9cbc967b Typehint mixins 2021-05-29 02:44:31 -04:00
Rapptz 794327cdb4 Fix type errors with required keys in the integration types 2021-05-29 01:09:07 -04:00
Rapptz 1ae40a11b7 Fix some type errors in StreamIntegration.edit 2021-05-29 00:54:31 -04:00
Rapptz 06743dd434 Make StreamIntegration.role a property rather than a strong reference 2021-05-29 00:50:56 -04:00
Rapptz 732c5384fd Allow registering a View for persistent long term dispatching 2021-05-29 00:44:08 -04:00
Rapptz 7e1f8bf1b4 Typehint Sticker 2021-05-29 00:19:11 -04:00
Rapptz f321efd4de Default SelectOption.value to the label if not given 2021-05-28 09:43:15 -04:00
Rapptz b84c199c70 Allow constructing SelectOption.emoji from a string as well 2021-05-28 09:40:49 -04:00
Rapptz c475218112 Typehint Role and RoleTags 2021-05-28 08:54:45 -04:00
Rapptz 35bef7af38 Fix Role.is_assignable() computing Guild.me twice 2021-05-28 08:41:45 -04:00
Rapptz f4fe247813 Remove __slots__ from View 2021-05-28 08:39:34 -04:00
Rapptz ef9f61a933 Add support for select components 2021-05-28 05:34:21 -04:00
Rapptz 6874aa73c4 Add PartialEmoji.from_str helper 2021-05-28 05:34:21 -04:00
Rapptz ff36aedf7b Add support for reading SelectMenu components from messages 2021-05-28 05:34:21 -04:00
Rapptz 8bd17ede47 Move ActionRow to its own separate type split from Component 2021-05-28 02:11:10 -04:00
Rapptz aeb2cfb573 Add private get_slots utility to get slots through MRO 2021-05-28 01:56:48 -04:00
Rapptz 263f45d05b Fix View.wait not returning when it times out
This also makes it so it returns the reason why the wait finished.
2021-05-28 00:53:28 -04:00
Rapptz 3f60997630 Add a timeout callback for detecting when a View times out 2021-05-28 00:53:28 -04:00
Rapptz 97f308d219 Add View.remove_item and View.clear_items 2021-05-28 00:53:28 -04:00
Rapptz 3453992ce6 Add View.interaction_check for interaction pre-conditions 2021-05-28 00:53:28 -04:00
Rapptz 65db814d4a Add a way to wait for a view to finish its interactions 2021-05-27 23:31:48 -04:00
Rapptz 1954861668 Add warning for comparing with role positioning 2021-05-27 21:11:17 -04:00
Rapptz fc64ffdabd Allow passing multiple embeds in InteractionResponse.edit_message 2021-05-27 21:07:28 -04:00
Rapptz fbafe20e51 Allow View to be instantiated without subclassing 2021-05-27 01:41:18 -04:00
Rapptz c89882441c Fix typings for resolved channels in slash commands 2021-05-27 00:53:14 -04:00
Rapptz 7584834dd4 Only automatically defer if no response was given in callback 2021-05-27 00:53:14 -04:00
Rapptz 3b83f60b35 Add support for setting interaction responses 2021-05-27 00:53:14 -04:00
Rapptz 85758a75b3 Add interaction related endpoints to async webhook 2021-05-27 00:53:14 -04:00
Rapptz d42c63e186 Fix some type hints in interactions 2021-05-27 00:53:14 -04:00
Rapptz 5e96ad9261 Force button style to link if a URL is passed 2021-05-27 00:53:14 -04:00
Rapptz 80fd222ca0 Add aliases for button style colours 2021-05-27 00:53:14 -04:00
Rapptz eda6680377 Rename enums to use official API naming 2021-05-27 00:53:14 -04:00
Rapptz cc800796a2 Properly guard for DMs in interaction creation
Fix #6794
2021-05-27 00:53:14 -04:00
Rapptz ed9badcddf Make Item and Button generic over the underlying view 2021-05-27 00:53:14 -04:00
Rapptz 4c0ebc9221 Change the way callbacks are defined to allow deriving
This should hopefully make these work more consistently as other
functions do.
2021-05-27 00:53:14 -04:00
Rapptz cc56f31bcd Fix emoji not showing up in button component 2021-05-27 00:53:13 -04:00
Rapptz 98570793e4 Add initial support for buttons and components 2021-05-27 00:53:13 -04:00
Rapptz f56543df15 [commands] Remove function call indirection when checking author 2021-05-25 20:53:44 -04:00
Rapptz 3c90f16bf0 Fix cached_slot_property typings again 2021-05-23 21:30:44 -04:00
Rapptz 81b259ab36 Fix sending arrays with nulls in them when changing presences 2021-05-16 07:15:53 -04:00
Rapptz de965c2bf5 Simplify SnowflakeList type hints 2021-05-06 08:23:18 -04:00
Rapptz 2e12f6de9c Typehint File 2021-05-06 08:15:51 -04:00
Rapptz 1bf7aadf94 Typehint emoji classes 2021-05-05 23:48:36 -04:00
Rapptz 7bad27d215 Fix SnowflakeList typings 2021-05-05 23:33:11 -04:00
Rapptz ca92f37f18 Fix typings in message.py 2021-05-05 23:05:15 -04:00
Rapptz 81004369dc Add Guild.fetch_channel 2021-05-05 14:26:33 -04:00
Rapptz 598057ee79 Add Permissions.manage_events 2021-05-05 14:16:39 -04:00
Rapptz c31946f29f Type hint GuildChannel and don't make it a Protocol
This reverts GuildChannel back into a base class mixin.
2021-05-05 11:14:58 -04:00
Rapptz b32ad3de37 Fix AuditLogEntry.target being incorrect for bulk message delete
Fixes #6851
2021-05-04 22:03:20 -04:00
Rapptz e3037b32d5 Add changelog for v1.7.2 2021-05-02 23:39:21 -04:00
Rapptz cd7357b93a Add classproperty helper utility
This is apparently a 3.9+ only addition
2021-05-02 08:05:52 -04:00
Rapptz b0ec22065e Add Client.create_dm 2021-05-01 13:16:57 -04:00
Rapptz 83611edb66 Fix supressing messages leading a 400 error
This only makes it so allowed_mentions are passed if the message is
authored by the bot itself.
2021-05-01 11:46:27 -04:00
Rapptz 135a7e9e5a Reformat message.py file 2021-05-01 09:54:19 -04:00
Rapptz d940486552 Add types to PartialMessage 2021-05-01 09:48:37 -04:00
Rapptz 4c97b8efdd Fix typings for utils._parse_ratelimit_header
A CIMultiDict is not a Dict but a Mapping
2021-05-01 09:24:47 -04:00
Rapptz 60c1240849 Fix SyncWebhook exception case causing attribute errors 2021-05-01 09:24:40 -04:00
Rapptz 02e21a8905 Fix sending multipart data with SyncWebhook
Fixes #6825
2021-05-01 09:21:39 -04:00
Rapptz 1a8d63d54f [commands] Remove Flag related delimiter and prefix error 2021-04-30 03:29:44 -04:00
Rapptz 58274eafbc [commands] Fix Generics causing other typing converters to fail 2021-04-30 01:23:56 -04:00
Rapptz 7b8db49efe Fix utils.MISSING not evaluating to True in implicit bool contexts 2021-04-30 01:05:01 -04:00
Rapptz 3b6a2b9e85 [commands] Fix Generic subcalsses used as a converter 2021-04-29 02:43:54 -04:00
Rapptz 9f3551926a Split annotation resolution to discord.utils 2021-04-27 05:48:27 -04:00
Rapptz 69da87f455 [commands] Disallow float/complex in Literal but allow None
Type checkers (both mypy and pydantic) apparently don't like it
2021-04-27 05:48:27 -04:00
Rapptz d60689a983 Properly change abc.User.avatar type to Asset 2021-04-25 23:30:30 -04:00
Rapptz c250b9fc02 [commands] Fix regression with Union converters not working
This was due to the Literal restriction from earlier.
2021-04-24 09:33:35 -04:00
Rapptz 185b554a56 [commands] Disallow complicated Literal types 2021-04-24 09:12:28 -04:00
Rapptz fb024546ff [commands] Fix Literal converter not working within flags 2021-04-24 08:55:55 -04:00
Rapptz 1c312a158a [commands] Add FlagConverter.__iter__ 2021-04-24 08:53:36 -04:00
Rapptz 8e9860077d [commands] Fix flag detection code in get_flags 2021-04-23 02:23:07 -04:00
Rapptz 275a754abd Add support for editing message attachments 2021-04-21 23:45:06 -04:00
Rapptz 6065329c0e [commands] Avoid creating unnecessary flag mapping copies 2021-04-20 08:02:40 -04:00
Rapptz 15bfdf66b2 [commands] Default construct flags if they're not passed as parameters
This only applies if and only if the flag can be default constructible.
Ergo, all the flags are optional or not required.
2021-04-20 08:00:47 -04:00
Rapptz ac7588f735 Fix some typings in utils 2021-04-20 04:35:53 -04:00
Rapptz 212d308835 [commands] Some minor clean up of the flag converter documentation
Fix #6761
2021-04-19 22:52:29 -04:00