grom/channel

Types

pub type Channel {
  Text(
    id: String,
    guild_id: option.Option(String),
    position: Int,
    permission_overwrites: List(
      permission_overwrite.PermissionOverwrite,
    ),
    name: String,
    topic: option.Option(String),
    is_nsfw: Bool,
    last_message_id: option.Option(String),
    rate_limit_per_user: duration.Duration,
    parent_id: option.Option(String),
    last_pin_timestamp: option.Option(timestamp.Timestamp),
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
    default_auto_archive_duration: option.Option(
      duration.Duration,
    ),
  )
  Dm(
    id: String,
    last_message_id: option.Option(String),
    recipients: List(user.User),
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
  )
  Voice(
    id: String,
    guild_id: String,
    position: Int,
    permission_overwrites: List(
      permission_overwrite.PermissionOverwrite,
    ),
    name: String,
    is_nsfw: Bool,
    last_message_id: option.Option(String),
    bitrate: Int,
    user_limit: Int,
    rate_limit_per_user: duration.Duration,
    parent_id: option.Option(String),
    rtc_region_id: option.Option(String),
    video_quality_mode: VideoQualityMode,
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
  )
  Category(
    id: String,
    guild_id: option.Option(String),
    position: Int,
    permission_overwrites: List(
      permission_overwrite.PermissionOverwrite,
    ),
    name: String,
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
  )
  Announcement(
    id: String,
    guild_id: option.Option(String),
    position: Int,
    permission_overwrites: List(
      permission_overwrite.PermissionOverwrite,
    ),
    name: String,
    topic: option.Option(String),
    is_nsfw: Bool,
    last_message_id: option.Option(String),
    parent_id: option.Option(String),
    last_pin_timestamp: option.Option(timestamp.Timestamp),
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
    default_auto_archive_duration: duration.Duration,
  )
  Thread(thread.Thread)
  Stage(
    id: String,
    guild_id: String,
    position: Int,
    permission_overwrites: List(
      permission_overwrite.PermissionOverwrite,
    ),
    name: String,
    is_nsfw: Bool,
    last_message_id: option.Option(String),
    bitrate: Int,
    user_limit: Int,
    rate_limit_per_user: duration.Duration,
    parent_id: option.Option(String),
    rtc_region_id: option.Option(String),
    video_quality_mode: VideoQualityMode,
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
  )
  Forum(
    id: String,
    guild_id: option.Option(String),
    position: Int,
    permission_overwrites: List(
      permission_overwrite.PermissionOverwrite,
    ),
    name: String,
    topic: option.Option(String),
    is_nsfw: Bool,
    last_thread_id: option.Option(String),
    rate_limit_per_user: duration.Duration,
    parent_id: option.Option(String),
    default_auto_archive_duration: option.Option(
      duration.Duration,
    ),
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
    flags: List(forum.Flag),
    available_tags: List(forum.Tag),
    default_reaction_emoji: option.Option(forum.DefaultReaction),
    default_thread_rate_limit_per_user: duration.Duration,
    default_sort_order: option.Option(forum.SortOrder),
    default_layout: forum.Layout,
  )
  Media(
    id: String,
    guild_id: option.Option(String),
    position: Int,
    permission_overwrites: List(
      permission_overwrite.PermissionOverwrite,
    ),
    name: String,
    topic: option.Option(String),
    is_nsfw: Bool,
    last_thread_id: option.Option(String),
    rate_limit_per_user: duration.Duration,
    parent_id: option.Option(String),
    default_auto_archive_duration: option.Option(
      duration.Duration,
    ),
    current_user_permissions: option.Option(
      List(permission.Permission),
    ),
    flags: List(media.Flag),
    available_tags: List(forum.Tag),
    default_reaction_emoji: option.Option(forum.DefaultReaction),
    default_thread_rate_limit_per_user: option.Option(
      duration.Duration,
    ),
    default_sort_order: option.Option(forum.SortOrder),
  )
}

Constructors

pub type Create {
  CreateTextChannel(CreateText)
  CreateDmChannel(CreateDm)
  CreateVoiceChannel(CreateVoice)
  CreateCategoryChannel(CreateCategory)
  CreateAnnouncementChannel(CreateAnnouncement)
  CreateStageChannel(CreateStage)
  CreateForumChannel(CreateForum)
  CreateMediaChannel(CreateMedia)
}

Constructors

pub type CreateAnnouncement {
  CreateAnnouncement(
    guild_id: String,
    name: String,
    position: option.Option(Int),
    permission_overwrites: option.Option(
      List(permission_overwrite.Create),
    ),
    topic: option.Option(String),
    parent_id: option.Option(String),
    is_nsfw: Bool,
    default_auto_archive_duration: option.Option(
      duration.Duration,
    ),
    default_thread_rate_limit_per_user: option.Option(
      duration.Duration,
    ),
  )
}

Constructors

pub type CreateCategory {
  CreateCategory(
    guild_id: String,
    name: String,
    position: option.Option(Int),
    permission_overwrites: option.Option(
      List(permission_overwrite.Create),
    ),
  )
}

Constructors

pub type CreateDm {
  CreateDm(recipient_id: String)
}

Constructors

  • CreateDm(recipient_id: String)
pub type CreateForum {
  CreateForum(
    guild_id: String,
    name: String,
    position: option.Option(Int),
    permission_overwrites: option.Option(
      List(permission_overwrite.Create),
    ),
    topic: option.Option(String),
    rate_limit_per_user: option.Option(duration.Duration),
    parent_id: option.Option(String),
    is_nsfw: Bool,
    default_auto_archive_duration: option.Option(
      duration.Duration,
    ),
    default_reaction_emoji: option.Option(forum.DefaultReaction),
    available_tags: option.Option(List(forum.Tag)),
    default_sort_order: option.Option(forum.SortOrder),
    default_forum_layout: option.Option(forum.Layout),
    default_thread_rate_limit_per_user: option.Option(
      duration.Duration,
    ),
  )
}

Constructors

pub type CreateMedia {
  CreateMedia(
    guild_id: String,
    name: String,
    position: option.Option(Int),
    permission_overwrites: option.Option(
      List(permission_overwrite.Create),
    ),
    topic: option.Option(String),
    rate_limit_per_user: option.Option(duration.Duration),
    parent_id: option.Option(String),
    default_auto_archive_duration: option.Option(
      duration.Duration,
    ),
    default_reaction_emoji: option.Option(forum.DefaultReaction),
    available_tags: option.Option(List(forum.Tag)),
    default_sort_order: option.Option(forum.SortOrder),
    default_thread_rate_limit_per_user: option.Option(
      duration.Duration,
    ),
  )
}

Constructors

pub type CreateStage {
  CreateStage(
    guild_id: String,
    name: String,
    position: option.Option(Int),
    permission_overwrites: option.Option(
      List(permission_overwrite.Create),
    ),
    bitrate: option.Option(Int),
    user_limit: option.Option(Int),
    rate_limit_per_user: option.Option(duration.Duration),
    parent_id: option.Option(String),
    is_nsfw: Bool,
    rtc_region: option.Option(String),
    video_quality_mode: option.Option(VideoQualityMode),
  )
}

Constructors

pub type CreateText {
  CreateText(
    guild_id: String,
    name: String,
    position: option.Option(Int),
    permission_overwrites: option.Option(
      List(permission_overwrite.Create),
    ),
    topic: option.Option(String),
    rate_limit_per_user: option.Option(duration.Duration),
    parent_id: option.Option(String),
    is_nsfw: Bool,
    default_auto_archive_duration: option.Option(
      duration.Duration,
    ),
    default_thread_rate_limit_per_user: option.Option(
      duration.Duration,
    ),
  )
}

Constructors

pub type CreateVoice {
  CreateVoice(
    guild_id: String,
    name: String,
    position: option.Option(Int),
    permission_overwrites: option.Option(
      List(permission_overwrite.Create),
    ),
    bitrate: option.Option(Int),
    user_limit: option.Option(Int),
    rate_limit_per_user: option.Option(duration.Duration),
    parent_id: option.Option(String),
    is_nsfw: Bool,
    rtc_region: option.Option(String),
    video_quality_mode: option.Option(VideoQualityMode),
  )
}

Constructors

pub type FollowedChannel {
  FollowedChannel(channel_id: String, webhook_id: String)
}

Constructors

  • FollowedChannel(channel_id: String, webhook_id: String)
pub type GetMessagesQuery {
  BeforeId(String)
  AroundId(String)
  AfterId(String)
}

Constructors

  • BeforeId(String)
  • AroundId(String)
  • AfterId(String)
pub opaque type Modify
pub type ReceivedThreads {
  ReceivedThreads(
    threads: List(thread.Thread),
    members: List(thread.Member),
    has_more: Bool,
  )
}

Constructors

pub type VideoQualityMode {
  AutomaticVideoQuality
  HDVideoQuality
}

Constructors

  • AutomaticVideoQuality
  • HDVideoQuality

Values

pub fn announcement_follow(
  client: grom.Client,
  from channel_id: String,
  to webhook_channel_id: String,
  because reason: option.Option(String),
) -> Result(FollowedChannel, grom.Error)
pub fn bulk_delete_messages(
  client: grom.Client,
  in channel_id: String,
  ids message_ids: List(String),
  because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn create(
  client: grom.Client,
  using create: Create,
  because reason: option.Option(String),
) -> Result(Channel, grom.Error)

because has no effect if creating a DM channel.

pub fn delete(
  client: grom.Client,
  id channel_id: String,
  because reason: option.Option(String),
) -> Result(Channel, grom.Error)
pub fn get(
  client: grom.Client,
  id channel_id: String,
) -> Result(Channel, grom.Error)
pub fn get_all_from_guild(
  client: grom.Client,
  id guild_id: String,
) -> Result(List(Channel), grom.Error)
pub fn get_joined_private_archived_threads(
  client: grom.Client,
  in channel_id: String,
  earlier_than before: option.Option(timestamp.Timestamp),
  maximum limit: option.Option(Int),
) -> Result(ReceivedThreads, grom.Error)
pub fn get_messages(
  client: grom.Client,
  in channel_id: String,
  time query: option.Option(GetMessagesQuery),
  maximum limit: option.Option(Int),
) -> Result(List(message.Message), grom.Error)

maximum defaults to 50 if not provided.

pub fn get_pinned_messages(
  client: grom.Client,
  in channel_id: String,
) -> Result(List(message.Message), grom.Error)
pub fn get_private_archived_threads(
  client: grom.Client,
  in channel_id: String,
  earlier_than before: option.Option(timestamp.Timestamp),
  maximum limit: option.Option(Int),
) -> Result(ReceivedThreads, grom.Error)
pub fn get_public_archived_threads(
  client: grom.Client,
  in channel_id: String,
  earlier_than before: option.Option(timestamp.Timestamp),
  maximum limit: option.Option(Int),
) -> Result(ReceivedThreads, grom.Error)
pub fn modify(
  client: grom.Client,
  id channel_id: String,
  with modify: Modify,
  because reason: option.Option(String),
) -> Result(Channel, grom.Error)
pub fn new_create_announcement(
  named name: String,
  in guild_id: String,
) -> CreateAnnouncement
pub fn new_create_category(
  named name: String,
  in guild_id: String,
) -> CreateCategory
pub fn new_create_dm(to recipient_id: String) -> CreateDm
pub fn new_create_forum(
  named name: String,
  in guild_id: String,
) -> CreateForum
pub fn new_create_media(
  named name: String,
  in guild_id: String,
) -> CreateMedia
pub fn new_create_stage(
  named name: String,
  in guild_id: String,
) -> CreateStage
pub fn new_create_text(
  named name: String,
  in guild_id: String,
) -> CreateText
pub fn new_create_voice(
  named name: String,
  in guild_id: String,
) -> CreateVoice
pub fn new_modify_announcement() -> Modify
pub fn new_modify_category() -> Modify
pub fn new_modify_forum() -> Modify
pub fn new_modify_media() -> Modify
pub fn new_modify_stage() -> Modify
pub fn new_modify_text() -> Modify
pub fn new_modify_thread() -> Modify
pub fn new_modify_voice() -> Modify
pub fn trigger_typing_indicator(
  client: grom.Client,
  in channel_id: String,
) -> Result(Nil, grom.Error)
Search Document