Commit Graph
100 Commits
Author SHA1 Message Date
Rapptz 5c2945bcd4 Fix AttributeError in is_nsfw() methods 2021-06-08 05:37:10 -04:00
Rapptz 81e9d70b7b Add pre-conditions to avoid on_timeout being called after stop()
Apparently the cancellation request for a TimerHandle doesn't
necessarily have to be honoured despite large periods of time passing
2021-06-06 07:05:17 -04:00
Rapptz 876b1e0f3e Add View.on_error callback for swallowed exceptions 2021-06-05 08:22:44 -04:00
Rapptz 27556ea0a2 Fix DM channel permissions not having read_messages 2021-06-05 02:53:30 -04:00
Rapptz dbd9ed2c41 Add View.is_dispatching to detect whether a view has been added 2021-06-04 04:30:19 -04:00
Rapptz 4b1059579e Fix NameError in missing _EmojiTag import 2021-06-02 06:00:39 -04:00
Rapptz 47f2d04940 Allow passing Emoji in components 2021-06-02 05:30:42 -04:00
Rapptz be5f4ae4ab Properly type hint attributes in Emoji 2021-06-02 05:30:42 -04:00
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