b4fbb08818
Allow runtime modification of timeout expiry at runtime
...
This is done through setting View.timeout while it's running
2022-03-31 01:54:13 -04:00
968a1f366f
Change View callback order to (self, interaction, item)
...
This is more consistent with the rest of the library which always has
the interaction as the first parameter. This has been done before in
the command extension as well, the first parameter is always either
self or the context.
2022-03-24 23:00:50 -04:00
515d17405a
Fix typos in some View methods' docstrings
2022-03-20 12:59:23 -04:00
94f4da9248
Change View child mutators to be fluent-style methods
2022-03-19 04:48:50 -04:00
26457b6d50
Remove automatic defer behaviour from View and Modal
...
This doesn't make as much sense anymore now that
InteractionResponse.edit_message exists.
2022-03-15 10:30:19 -04:00
934ab4151a
Mark state refresh methods as private with an underscore
...
People kept wondering what it is or what it does.
2022-03-14 07:50:25 -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
c0890bfbc1
Remove unused View._expires_at private function
2022-03-13 11:50:09 -04:00
93af158b0c
Refactor loop code to allow usage of asyncio.run
2022-03-13 04:54:14 -04:00
2b600241a4
Fix Modal.stop sometimes not removing from the store
2022-03-07 17:39:00 -05:00
4c8b1f9abd
Remove unused imports
2022-03-05 21:40:42 -05:00
d409ddd227
Alter return-type of button/select decorators
2022-02-21 21:54:44 -05:00
88b520b5ab
Reformat code using black
...
Segments where readability was hampered were fixed by appropriate
format skipping directives. New code should hopefully be black
compatible. The moment they remove the -S option is probably the moment
I stop using black though.
2022-02-20 08:04:58 -05:00
19c6687b55
Add support for Modal Interactions
2022-02-20 04:57:44 -05:00
c22f058fa0
Fix views not being removed upon timeout
2022-02-17 07:35:12 -05:00
0cc67e58ed
Fallback to None message_id searches in View dispatch
...
Not all persistent views have an associated message_id attached to
them.
Fix #7319
2021-08-01 03:30:45 -04:00
b87d306a70
Remove unused variable in view
2021-08-01 02:40:11 -04:00
e795d341e7
Change View dispatch mechanism to be keyed by message_id as well
...
If different persistent view instances are used within different
message_ids their callbacks will get called without differentiating
between them, leading to potential issues such as 404 errors. This
change makes it so N views with custom IDs bound to N message_ids
will no longer conflict with one another.
2021-07-31 23:08:05 -04:00
a0e5e062c9
Add versionadded to ui.View and ui.Item
2021-07-21 02:47:52 -04:00
feed302269
Fix documentation note for interaction_check
2021-07-21 02:46:52 -04:00
8df35c83a9
Remove extraneous dict assignment from view store
2021-07-07 20:19:17 -04:00
074f34a5fa
Specify View timeouts is in seconds
2021-07-04 07:07:38 -04:00
d7ed884593
Rework view timeouts to work as documented
2021-07-02 09:17:32 -04:00
d001b9d0ee
[docs] Fix more references
...
Co-Authored-By: Riley Shaw <30989490+ShineyDev@users.noreply.github.com >
2021-07-01 07:48:37 -04:00
c1f1c67eed
Change timeout parameter in View.from_message to keyword only
2021-06-30 03:15:45 -04:00
d8075d5412
Add View.from_message to convert message components to a View
2021-06-30 03:06:51 -04:00
157caaec7c
Add conversion routine for SelectMenu to ui.Select
2021-06-30 02:55:03 -04:00
04573c3c06
Make View timeout parameter keyword-only
2021-06-10 09:06:04 -04:00
4724943861
Grammatical improvements in View documentation
2021-06-08 06:54:10 -04:00
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
876b1e0f3e
Add View.on_error callback for swallowed exceptions
2021-06-05 08:22:44 -04:00
dbd9ed2c41
Add View.is_dispatching to detect whether a view has been added
2021-06-04 04:30:19 -04:00
78275023cc
Add Client.persistent_views to get all persistent views
2021-05-31 23:15:12 -04:00
7c40e83d10
Ensure views added to Client.add_view are persistent views
2021-05-31 23:08:08 -04:00
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
2ed3e049e1
Add View.is_finished() to query listening state
2021-05-31 00:12:08 -04:00
90a28d48d5
Fix potential KeyError when removing views
2021-05-30 12:29:46 -04:00
c9cdb47338
Add __repr__ for View
2021-05-30 11:24:23 -04:00
7bd1211b36
Rework item grouping behaviour to take into consideration weights
...
This also renames `group` into `row`
2021-05-29 23:58:37 -04:00
c21d12be5e
Check future state before setting result in View
2021-05-29 05:52:05 -04:00
f4fe247813
Remove __slots__ from View
2021-05-28 08:39:34 -04:00
ef9f61a933
Add support for select components
2021-05-28 05:34:21 -04:00
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
3f60997630
Add a timeout callback for detecting when a View times out
2021-05-28 00:53:28 -04:00
97f308d219
Add View.remove_item and View.clear_items
2021-05-28 00:53:28 -04:00
3453992ce6
Add View.interaction_check for interaction pre-conditions
2021-05-28 00:53:28 -04:00
65db814d4a
Add a way to wait for a view to finish its interactions
2021-05-27 23:31:48 -04:00
fbafe20e51
Allow View to be instantiated without subclassing
2021-05-27 01:41:18 -04:00
7584834dd4
Only automatically defer if no response was given in callback
2021-05-27 00:53:14 -04:00
eda6680377
Rename enums to use official API naming
2021-05-27 00:53:14 -04:00