mirror of
https://github.com/MelisaDev/melisa.git
synced 2024-11-11 19:07:28 +03:00
thread docs
This commit is contained in:
parent
1e2e07d2fc
commit
4b12db9008
4 changed files with 105 additions and 5 deletions
|
@ -89,3 +89,37 @@ UnavailableGuild
|
||||||
.. attributetable:: UnavailableGuild
|
.. attributetable:: UnavailableGuild
|
||||||
|
|
||||||
.. autoclass:: UnavailableGuild()
|
.. autoclass:: UnavailableGuild()
|
||||||
|
|
||||||
|
|
||||||
|
Thread
|
||||||
|
------
|
||||||
|
|
||||||
|
Thread
|
||||||
|
~~~~~~
|
||||||
|
.. attributetable:: Thread
|
||||||
|
|
||||||
|
|
||||||
|
.. autoclass:: Thread()
|
||||||
|
:exclude-members: start_thread_without_message
|
||||||
|
:inherited-members:
|
||||||
|
|
||||||
|
ThreadMember
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
.. attributetable:: ThreadMember
|
||||||
|
|
||||||
|
.. autoclass:: ThreadMember()
|
||||||
|
:inherited-members:
|
||||||
|
|
||||||
|
ThreadMetadata
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
.. attributetable:: ThreadMetadata
|
||||||
|
|
||||||
|
.. autoclass:: ThreadMetadata()
|
||||||
|
:inherited-members:
|
||||||
|
|
||||||
|
ThreadsList
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
.. attributetable:: ThreadsList
|
||||||
|
|
||||||
|
.. autoclass:: ThreadsList()
|
||||||
|
:inherited-members:
|
||||||
|
|
|
@ -3,3 +3,4 @@
|
||||||
|
|
||||||
from .guild import *
|
from .guild import *
|
||||||
from .channel import *
|
from .channel import *
|
||||||
|
from .thread import *
|
||||||
|
|
|
@ -11,6 +11,7 @@ from typing import List, Any, Optional, AsyncIterator, Union, Dict, overload
|
||||||
from ...utils import Snowflake, Timestamp
|
from ...utils import Snowflake, Timestamp
|
||||||
from ...utils import APIModelBase
|
from ...utils import APIModelBase
|
||||||
from ...utils.types import APINullable
|
from ...utils.types import APINullable
|
||||||
|
from .thread import ThreadMember, ThreadMetadata
|
||||||
|
|
||||||
|
|
||||||
class ChannelType(IntEnum):
|
class ChannelType(IntEnum):
|
||||||
|
@ -133,7 +134,7 @@ class Channel(APIModelBase):
|
||||||
The camera video quality mode of the voice channel, 1 when not present
|
The camera video quality mode of the voice channel, 1 when not present
|
||||||
message_count: :class:`int`
|
message_count: :class:`int`
|
||||||
An approximate count of messages in a thread, stops counting at 50
|
An approximate count of messages in a thread, stops counting at 50
|
||||||
thread_metadata: :class:`typing.Any`
|
thread_metadata: :class:`~melisa.models.guild.thread.ThreadMetadata`
|
||||||
Thread-specific fields not needed by other channels
|
Thread-specific fields not needed by other channels
|
||||||
member: :class:`typing.Any`
|
member: :class:`typing.Any`
|
||||||
Thread member object for the current user,
|
Thread member object for the current user,
|
||||||
|
@ -169,7 +170,7 @@ class Channel(APIModelBase):
|
||||||
video_quality_mode: APINullable[int] = None
|
video_quality_mode: APINullable[int] = None
|
||||||
message_count: APINullable[int] = None
|
message_count: APINullable[int] = None
|
||||||
member_count: APINullable[int] = None
|
member_count: APINullable[int] = None
|
||||||
thread_metadata: APINullable[List] = None
|
thread_metadata: APINullable[ThreadMetadata] = None
|
||||||
member: APINullable[List] = None
|
member: APINullable[List] = None
|
||||||
default_auto_archive_duration: APINullable[int] = None
|
default_auto_archive_duration: APINullable[int] = None
|
||||||
permissions: APINullable[str] = None
|
permissions: APINullable[str] = None
|
||||||
|
@ -252,8 +253,7 @@ class MessageableChannel(Channel):
|
||||||
"""|coro|
|
"""|coro|
|
||||||
|
|
||||||
Creates a new thread that is not connected to an existing message.
|
Creates a new thread that is not connected to an existing message.
|
||||||
The created thread defaults to a ``GUILD_PRIVATE_THREAD``*.
|
The created thread defaults to a ``GUILD_PRIVATE_THREAD``.
|
||||||
Returns a Channel on success.
|
|
||||||
|
|
||||||
Creating a private thread requires the server to be boosted.
|
Creating a private thread requires the server to be boosted.
|
||||||
The guild features will indicate if that is possible for the guild.
|
The guild features will indicate if that is possible for the guild.
|
||||||
|
@ -645,7 +645,7 @@ class ThreadsList(APIModelBase):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
threads: List[Thread]
|
threads: List[Thread]
|
||||||
members: List
|
members: List[ThreadMember]
|
||||||
has_more: APINullable[bool] = None
|
has_more: APINullable[bool] = None
|
||||||
|
|
||||||
|
|
||||||
|
|
65
melisa/models/guild/thread.py
Normal file
65
melisa/models/guild/thread.py
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
# Copyright MelisaDev 2022 - Present
|
||||||
|
# Full MIT License can be found in `LICENSE.txt` at the project root.
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from dataclasses import dataclass
|
||||||
|
|
||||||
|
from ...utils.api_model import APIModelBase
|
||||||
|
from ...utils.types import APINullable
|
||||||
|
from ...utils.snowflake import Snowflake
|
||||||
|
from ...utils.timestamp import Timestamp
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(repr=False)
|
||||||
|
class ThreadMetadata(APIModelBase):
|
||||||
|
"""
|
||||||
|
Represents a Discord Thread Metadata object
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
archived: :class:`bool`
|
||||||
|
Whether the thread is archived
|
||||||
|
auto_archive_duration: :class:`int`
|
||||||
|
Duration in minutes to automatically archive the thread after recent activity,
|
||||||
|
can be set to: 60, 1440, 4320, 10080
|
||||||
|
archive_timestamp: :class:`~melisa.utils.timestamp.Timestamp`
|
||||||
|
Timestamp when the thread's archive status was last changed,
|
||||||
|
used for calculating recent activity
|
||||||
|
locked: :class:`bool`
|
||||||
|
Whether the thread is locked; when a thread is locked,
|
||||||
|
only users with ``MANAGE_THREADS`` can unarchive it
|
||||||
|
invitable: Optional[:class:`bool`]
|
||||||
|
Whether non-moderators can add other non-moderators to a thread;
|
||||||
|
only available on private threads
|
||||||
|
create_timestamp: Optional[:class:`~melisa.utils.timestamp.Timestamp`]
|
||||||
|
Timestamp when the thread was created; only populated for threads created after 2022-01-09
|
||||||
|
"""
|
||||||
|
archived: bool
|
||||||
|
auto_archive_duration: int
|
||||||
|
archive_timestamp: Timestamp
|
||||||
|
locked: bool
|
||||||
|
invitable: APINullable[bool] = None
|
||||||
|
create_timestamp: APINullable[Timestamp] = None
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(repr=False)
|
||||||
|
class ThreadMember(APIModelBase):
|
||||||
|
"""Represents a Discord Thread Member object
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
id: Optional[:class:`~melisa.utils.snowflake.Snowflake`]
|
||||||
|
The id of the thread
|
||||||
|
user_id: Optional[:class:`~melisa.utils.snowflake.Snowflake`]
|
||||||
|
The id of the user
|
||||||
|
join_timestamp: :class:`~melisa.utils.timestamp.Timestamp`
|
||||||
|
The time the current user last joined the thread
|
||||||
|
flags: :class:`int`
|
||||||
|
Any user-thread settings, currently only used for notifications
|
||||||
|
"""
|
||||||
|
join_timestamp: Timestamp
|
||||||
|
flags: int
|
||||||
|
id: APINullable[Snowflake] = None
|
||||||
|
user_id: APINullable[Snowflake] = None
|
||||||
|
|
Loading…
Reference in a new issue