grom/channel/thread

Types

pub type Flag {
  Pinned
}

Constructors

  • Pinned
pub type Member {
  Member(
    thread_id: option.Option(String),
    user_id: option.Option(String),
    join_timestamp: timestamp.Timestamp,
    guild_member: option.Option(guild_member.GuildMember),
  )
}

Constructors

pub type Metadata {
  Metadata(
    is_archived: Bool,
    auto_archive_duration: Int,
    archive_timestamp: timestamp.Timestamp,
    is_locked: Bool,
    is_invitable: option.Option(Bool),
    create_timestamp: option.Option(timestamp.Timestamp),
  )
}

Constructors

pub type Modify {
  Modify(
    name: option.Option(String),
    is_archived: option.Option(Bool),
    auto_archive_duration: option.Option(duration.Duration),
    is_locked: option.Option(Bool),
    is_invitable: option.Option(Bool),
    rate_limit_per_user: modification.Modification(
      duration.Duration,
    ),
    flags: modification.Modification(List(Flag)),
    applied_tags_ids: modification.Modification(List(String)),
  )
}

Constructors

pub type StartFromMessage {
  StartFromMessage(
    name: String,
    auto_archive_duration: option.Option(duration.Duration),
    rate_limit_per_user: option.Option(duration.Duration),
  )
}

Constructors

pub type StartWithoutMessage {
  StartWithoutMessage(
    name: String,
    auto_archive_duration: option.Option(duration.Duration),
    type_: option.Option(Type),
    is_invitable: option.Option(Bool),
    rate_limit_per_user: option.Option(duration.Duration),
  )
}

Constructors

pub type Thread {
  Thread(
    id: String,
    type_: Type,
    guild_id: option.Option(String),
    name: String,
    last_message_id: option.Option(String),
    rate_limit_per_user: duration.Duration,
    parent_id: String,
    message_count: Int,
    member_count: Int,
    metadata: option.Option(Metadata),
    current_member: option.Option(Member),
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
    flags: List(Flag),
    total_message_sent: Int,
    applied_tags_ids: option.Option(List(String)),
  )
}

Constructors

pub type Type {
  Announcement
  Public
  Private
}

Constructors

  • Announcement
  • Public
  • Private

Values

pub fn add_member(
  client: grom.Client,
  to thread_id: String,
  id user_id: String,
) -> Result(Nil, grom.Error)
pub fn get_member(
  client: grom.Client,
  from thread_id: String,
  id user_id: String,
  with_guild_member with_guild_member: Bool,
) -> Result(Member, grom.Error)
pub fn get_members(
  client: grom.Client,
  from thread_id: String,
  with_guild_member with_guild_member: Bool,
  older_than_id after: option.Option(String),
  maximum limit: option.Option(Int),
) -> Result(List(Member), grom.Error)
pub fn join(
  client: grom.Client,
  id thread_id: String,
) -> Result(Nil, grom.Error)
pub fn leave(
  client: grom.Client,
  id thread_id: String,
) -> Result(Nil, grom.Error)
pub fn modify(
  client: grom.Client,
  id channel_id: String,
  with modify: Modify,
  because reason: option.Option(String),
) -> Result(Thread, grom.Error)
pub fn new_modify() -> Modify
pub fn new_start_from_message(name: String) -> StartFromMessage
pub fn new_start_without_message(
  name: String,
) -> StartWithoutMessage
pub fn remove_member(
  client: grom.Client,
  from thread_id: String,
  id user_id: String,
) -> Result(Nil, grom.Error)
pub fn start_from_message(
  client: grom.Client,
  in channel_id: String,
  from message_id: String,
  with start_from_message: StartFromMessage,
  because reason: option.Option(String),
) -> Result(Thread, grom.Error)
pub fn start_without_message(
  client: grom.Client,
  in channel_id: String,
  with start_without_message: StartWithoutMessage,
  reason reason: option.Option(String),
) -> Result(Thread, grom.Error)
Search Document