Raise if custom_id is not a str

This commit is contained in:
Rapptz 2022-03-29 22:59:12 -04:00
parent b7b992375d
commit 3215cb65e2
3 changed files with 9 additions and 0 deletions

View File

@ -105,6 +105,9 @@ class Button(Item[V]):
if url is None and custom_id is None:
custom_id = os.urandom(16).hex()
if custom_id is not None and not isinstance(custom_id, str):
raise TypeError(f'expected custom_id to be str not {custom_id.__class__!r}')
if url is not None:
style = ButtonStyle.link

View File

@ -111,6 +111,9 @@ class Select(Item[V]):
self._selected_values: List[str] = []
self._provided_custom_id = custom_id is not MISSING
custom_id = os.urandom(16).hex() if custom_id is MISSING else custom_id
if not isinstance(custom_id, str):
raise TypeError(f'expected custom_id to be str not {custom_id.__class__!r}')
options = [] if options is MISSING else options
self._underlying = SelectMenu._raw_construct(
custom_id=custom_id,

View File

@ -104,6 +104,9 @@ class TextInput(Item[V]):
self._value: Optional[str] = default
self._provided_custom_id = custom_id is not MISSING
custom_id = os.urandom(16).hex() if custom_id is MISSING else custom_id
if not isinstance(custom_id, str):
raise TypeError(f'expected custom_id to be str not {custom_id.__class__!r}')
self._underlying = TextInputComponent._raw_construct(
type=ComponentType.text_input,
label=label,