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
-
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), )
pub type Create {
CreateTextChannel(CreateText)
CreateDmChannel(CreateDm)
CreateVoiceChannel(CreateVoice)
CreateCategoryChannel(CreateCategory)
CreateAnnouncementChannel(CreateAnnouncement)
CreateStageChannel(CreateStage)
CreateForumChannel(CreateForum)
CreateMediaChannel(CreateMedia)
}
Constructors
-
CreateTextChannel(CreateText) -
CreateDmChannel(CreateDm) -
CreateVoiceChannel(CreateVoice) -
CreateCategoryChannel(CreateCategory) -
CreateAnnouncementChannel(CreateAnnouncement) -
CreateStageChannel(CreateStage) -
CreateForumChannel(CreateForum) -
CreateMediaChannel(CreateMedia)
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
-
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, ), )
pub type CreateCategory {
CreateCategory(
guild_id: String,
name: String,
position: option.Option(Int),
permission_overwrites: option.Option(
List(permission_overwrite.Create),
),
)
}
Constructors
-
CreateCategory( guild_id: String, name: String, position: option.Option(Int), permission_overwrites: option.Option( List(permission_overwrite.Create), ), )
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
-
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, ), )
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
-
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, ), )
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
-
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), )
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
-
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, ), )
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
-
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), )
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 type ReceivedThreads {
ReceivedThreads(
threads: List(thread.Thread),
members: List(thread.Member),
has_more: Bool,
)
}
Constructors
-
ReceivedThreads( threads: List(thread.Thread), members: List(thread.Member), has_more: Bool, )
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)