grom/guild
Types
pub type Ban {
Ban(reason: option.Option(String), user: user.User)
}
Constructors
-
Ban(reason: option.Option(String), user: user.User)
pub type BannerFormat {
PngBanner
JpegBanner
WebpBanner
GifBanner
}
Constructors
-
PngBanner -
JpegBanner -
WebpBanner -
GifBanner
pub type BulkBanResponse {
BulkBanResponse(
banned_users_ids: List(String),
failed_users_ids: List(String),
)
}
Constructors
-
BulkBanResponse( banned_users_ids: List(String), failed_users_ids: List(String), )
pub type CreateSoundboardSound {
CreateSoundboardSound(
name: String,
sound: soundboard.Data,
volume: option.Option(Float),
emoji_id: option.Option(String),
emoji_name: option.Option(String),
)
}
Constructors
-
CreateSoundboardSound( name: String, sound: soundboard.Data, volume: option.Option(Float), emoji_id: option.Option(String), emoji_name: option.Option(String), )
pub type CreateSticker {
CreateSticker(
name: String,
description: String,
tags: String,
file: sticker.File,
)
}
Constructors
-
CreateSticker( name: String, description: String, tags: String, file: sticker.File, )
pub type DefaultMessageNotificationSetting {
NotifyForAllMessages
NotifyOnlyForMentions
}
Constructors
-
NotifyForAllMessages -
NotifyOnlyForMentions
pub type ExplicitContentFilterSetting {
ExplicitContentFilterDisabled
ExplicitContentFilterForMembersWithoutRoles
ExplicitContentFilterForAllMembers
}
Constructors
-
ExplicitContentFilterDisabled -
ExplicitContentFilterForMembersWithoutRoles -
ExplicitContentFilterForAllMembers
pub type Feature {
HasAnimatedBanner
HasAnimatedIcon
UsesOldPermissionConfigurationBehavior
UsesAutoModeration
HasBanner
IsCommunity
EnabledMonetization
HasRoleSubscriptionPromotionPage
IsDeveloperSupportServer
IsDiscoverable
IsFeaturable
HasInvitesDisabled
CanSetInviteSplash
HasMemberVerificationGateEnabled
HasMoreSoundboardSounds
HasMoreStickers
CanCreateAnnouncementChannels
IsPartnered
CanBePreviewed
HasRaidAlertsDisabled
CanSetRoleIcons
HasRoleSubscriptionsAvailableForPurchase
HasRoleSubscriptionsEnabled
CreatedSoundboardSounds
HasTicketedEventsEnabled
CanSetVanityUrl
IsVerified
CanSet384KbpsBitrate
HasWelcomeScreenEnabled
CanHaveGuestInvites
CanSetEnhancedRoleColors
UnknownFeature
}
Constructors
-
HasAnimatedBanner -
HasAnimatedIcon -
UsesOldPermissionConfigurationBehavior -
UsesAutoModeration -
HasBanner -
IsCommunity -
EnabledMonetization -
HasRoleSubscriptionPromotionPage -
IsDeveloperSupportServer -
IsDiscoverable -
IsFeaturable -
HasInvitesDisabled -
CanSetInviteSplash -
HasMemberVerificationGateEnabled -
HasMoreSoundboardSounds -
HasMoreStickers -
CanCreateAnnouncementChannels -
IsPartnered -
CanBePreviewed -
HasRaidAlertsDisabled -
CanSetRoleIcons -
HasRoleSubscriptionsAvailableForPurchase -
HasRoleSubscriptionsEnabled -
CreatedSoundboardSounds -
HasTicketedEventsEnabled -
CanSetVanityUrl -
IsVerified -
CanSet384KbpsBitrate -
HasWelcomeScreenEnabled -
CanHaveGuestInvites -
CanSetEnhancedRoleColors -
UnknownFeatureWorkaround for undocumented guild features.
pub type Guild {
Guild(
id: String,
name: String,
icon: option.Option(String),
icon_hash: option.Option(String),
splash: option.Option(String),
discovery_splash: option.Option(String),
is_current_user_owner: option.Option(Bool),
owner_id: String,
current_user_permissions: option.Option(String),
afk_channel_id: option.Option(String),
afk_timeout: Int,
is_widget_enabled: option.Option(Bool),
widget_channel_id: option.Option(String),
verification_level: VerificationLevel,
default_message_notification_setting: DefaultMessageNotificationSetting,
explicit_content_filter_setting: ExplicitContentFilterSetting,
roles: List(role.Role),
emojis: List(emoji.Emoji),
features: List(Feature),
mfa_level: MfaLevel,
application_id: option.Option(String),
system_channel_id: option.Option(String),
system_channel_flags: List(SystemChannelFlag),
rules_channel_id: option.Option(String),
max_presences: option.Option(Int),
max_members: option.Option(Int),
vanity_url_code: option.Option(String),
description: option.Option(String),
banner_hash: option.Option(String),
premium_tier: PremiumTier,
premium_subscription_count: option.Option(Int),
preferred_locale: String,
public_updates_channel_id: option.Option(String),
max_video_channel_users: option.Option(Int),
max_stage_video_channel_users: option.Option(Int),
approximate_member_count: option.Option(Int),
approximate_presence_count: option.Option(Int),
welcome_screen: option.Option(WelcomeScreen),
nsfw_level: NsfwLevel,
stickers: option.Option(List(sticker.Sticker)),
is_premium_progress_bar_enabled: Bool,
safety_alerts_channel_id: option.Option(String),
incidents_data: option.Option(IncidentsData),
)
}
Constructors
-
Guild( id: String, name: String, icon: option.Option(String), icon_hash: option.Option(String), splash: option.Option(String), discovery_splash: option.Option(String), is_current_user_owner: option.Option(Bool), owner_id: String, current_user_permissions: option.Option(String), afk_channel_id: option.Option(String), afk_timeout: Int, is_widget_enabled: option.Option(Bool), widget_channel_id: option.Option(String), verification_level: VerificationLevel, default_message_notification_setting: DefaultMessageNotificationSetting, explicit_content_filter_setting: ExplicitContentFilterSetting, roles: List(role.Role), emojis: List(emoji.Emoji), features: List(Feature), mfa_level: MfaLevel, application_id: option.Option(String), system_channel_id: option.Option(String), system_channel_flags: List(SystemChannelFlag), rules_channel_id: option.Option(String), max_presences: option.Option(Int), max_members: option.Option(Int), vanity_url_code: option.Option(String), description: option.Option(String), banner_hash: option.Option(String), premium_tier: PremiumTier, premium_subscription_count: option.Option(Int), preferred_locale: String, public_updates_channel_id: option.Option(String), max_video_channel_users: option.Option(Int), max_stage_video_channel_users: option.Option(Int), approximate_member_count: option.Option(Int), approximate_presence_count: option.Option(Int), welcome_screen: option.Option(WelcomeScreen), nsfw_level: NsfwLevel, stickers: option.Option(List(sticker.Sticker)), is_premium_progress_bar_enabled: Bool, safety_alerts_channel_id: option.Option(String), incidents_data: option.Option(IncidentsData), )
pub type IconFormat {
PngIcon
JpegIcon
WebpIcon
GifIcon
}
Constructors
-
PngIcon -
JpegIcon -
WebpIcon -
GifIcon
pub type IncidentsData {
IncidentsData(
invites_disabled_until: option.Option(timestamp.Timestamp),
dms_disabled_until: option.Option(timestamp.Timestamp),
dms_spam_disabled_at: option.Option(timestamp.Timestamp),
raid_detected_at: option.Option(timestamp.Timestamp),
)
}
Constructors
-
IncidentsData( invites_disabled_until: option.Option(timestamp.Timestamp), dms_disabled_until: option.Option(timestamp.Timestamp), dms_spam_disabled_at: option.Option(timestamp.Timestamp), raid_detected_at: option.Option(timestamp.Timestamp), )
pub type Modify {
Modify(
name: option.Option(String),
verification_level: option.Option(VerificationLevel),
default_message_notification_setting: option.Option(
DefaultMessageNotificationSetting,
),
explicit_content_filter_setting: option.Option(
ExplicitContentFilterSetting,
),
afk_channel_id: modification.Modification(String),
afk_timeout: option.Option(Int),
icon: modification.Modification(image.Data),
owner_id: option.Option(String),
splash: modification.Modification(image.Data),
discovery_splash: modification.Modification(image.Data),
banner: modification.Modification(image.Data),
system_channel_id: modification.Modification(String),
system_channel_flags: option.Option(List(SystemChannelFlag)),
rules_channel_id: modification.Modification(String),
public_updates_channel_id: modification.Modification(String),
preferred_locale: modification.Modification(String),
features: option.Option(List(Feature)),
description: modification.Modification(String),
is_premium_progress_bar_enabled: option.Option(Bool),
safety_alerts_channel_id: modification.Modification(String),
)
}
Constructors
-
Modify( name: option.Option(String), verification_level: option.Option(VerificationLevel), default_message_notification_setting: option.Option( DefaultMessageNotificationSetting, ), explicit_content_filter_setting: option.Option( ExplicitContentFilterSetting, ), afk_channel_id: modification.Modification(String), afk_timeout: option.Option(Int), icon: modification.Modification(image.Data), owner_id: option.Option(String), splash: modification.Modification(image.Data), discovery_splash: modification.Modification(image.Data), banner: modification.Modification(image.Data), system_channel_id: modification.Modification(String), system_channel_flags: option.Option(List(SystemChannelFlag)), rules_channel_id: modification.Modification(String), public_updates_channel_id: modification.Modification(String), preferred_locale: modification.Modification(String), features: option.Option(List(Feature)), description: modification.Modification(String), is_premium_progress_bar_enabled: option.Option(Bool), safety_alerts_channel_id: modification.Modification(String), )
pub type ModifyIncidentActions {
ModifyIncidentActions(
invites_disabled_until: modification.Modification(
timestamp.Timestamp,
),
dms_disabled_until: modification.Modification(
timestamp.Timestamp,
),
)
}
Constructors
-
ModifyIncidentActions( invites_disabled_until: modification.Modification( timestamp.Timestamp, ), dms_disabled_until: modification.Modification( timestamp.Timestamp, ), )
pub type ModifySoundboardSound {
ModifySoundboardSound(
name: option.Option(String),
volume: modification.Modification(Float),
emoji_id: modification.Modification(String),
emoji_name: modification.Modification(String),
)
}
Constructors
-
ModifySoundboardSound( name: option.Option(String), volume: modification.Modification(Float), emoji_id: modification.Modification(String), emoji_name: modification.Modification(String), )
pub type ModifySticker {
ModifySticker(
name: option.Option(String),
description: modification.Modification(String),
tags: option.Option(String),
)
}
Constructors
-
ModifySticker( name: option.Option(String), description: modification.Modification(String), tags: option.Option(String), )
pub type ModifyWelcomeScreen {
ModifyWelcomeScreen(
is_enabled: option.Option(Bool),
welcome_channels: modification.Modification(
List(WelcomeChannel),
),
description: modification.Modification(String),
)
}
Constructors
-
ModifyWelcomeScreen( is_enabled: option.Option(Bool), welcome_channels: modification.Modification( List(WelcomeChannel), ), description: modification.Modification(String), )
pub type NsfwLevel {
NsfwLevelDefault
NsfwExplicit
NsfwSafe
NsfwAgeRestricted
}
Constructors
-
NsfwLevelDefault -
NsfwExplicit -
NsfwSafe -
NsfwAgeRestricted
pub type PremiumTier {
NoPremiumTier
PremiumTier1
PremiumTier2
PremiumTier3
}
Constructors
-
NoPremiumTier -
PremiumTier1 -
PremiumTier2 -
PremiumTier3
pub type Preview {
Preview(
id: String,
name: String,
icon_hash: option.Option(String),
splash_hash: option.Option(String),
discovery_splash_hash: option.Option(String),
emojis: List(emoji.Emoji),
features: List(Feature),
approximate_member_count: Int,
approximate_presence_count: Int,
description: option.Option(String),
stickers: List(sticker.Sticker),
)
}
Constructors
-
Preview( id: String, name: String, icon_hash: option.Option(String), splash_hash: option.Option(String), discovery_splash_hash: option.Option(String), emojis: List(emoji.Emoji), features: List(Feature), approximate_member_count: Int, approximate_presence_count: Int, description: option.Option(String), stickers: List(sticker.Sticker), )
pub type Prune {
Prune(
days: Int,
compute_pruned_count: Bool,
include_role_ids: List(String),
)
}
Constructors
-
Prune( days: Int, compute_pruned_count: Bool, include_role_ids: List(String), )
pub type PruneResponse {
PruneResponse(pruned_count: option.Option(Int))
}
Constructors
-
PruneResponse(pruned_count: option.Option(Int))
pub type ReceivedThreads {
ReceivedThreads(
threads: List(thread.Thread),
current_members: List(thread.Member),
)
}
Constructors
-
ReceivedThreads( threads: List(thread.Thread), current_members: List(thread.Member), )
pub type RoleToMove {
RoleToMove(id: String, position: option.Option(Int))
}
Constructors
-
RoleToMove(id: String, position: option.Option(Int))
pub type SplashFormat {
PngSplash
JpegSplash
WebpSplash
}
Constructors
-
PngSplash -
JpegSplash -
WebpSplash
pub type SystemChannelFlag {
SuppressJoinNotifications
SuppressPremiumSubscriptionNotifications
SuppressGuildReminderNotifications
SuppressJoinNotificationReplies
SuppressRoleSubscriptionPurchaseNotifications
SuppressRoleSubscriptionPurchaseNotificationReplies
}
Constructors
-
SuppressJoinNotifications -
SuppressPremiumSubscriptionNotifications -
SuppressGuildReminderNotifications -
SuppressJoinNotificationReplies -
SuppressRoleSubscriptionPurchaseNotifications -
SuppressRoleSubscriptionPurchaseNotificationReplies
pub type TagBadgeFormat {
PngTagBadge
JpegTagBadge
WebpTagBadge
}
Constructors
-
PngTagBadge -
JpegTagBadge -
WebpTagBadge
pub type Template {
Template(
code: String,
name: String,
description: option.Option(String),
usage_count: Int,
creator_id: String,
creator: user.User,
created_at: timestamp.Timestamp,
updated_at: timestamp.Timestamp,
source_guild_id: String,
is_dirty: option.Option(Bool),
)
}
Constructors
-
Template( code: String, name: String, description: option.Option(String), usage_count: Int, creator_id: String, creator: user.User, created_at: timestamp.Timestamp, updated_at: timestamp.Timestamp, source_guild_id: String, is_dirty: option.Option(Bool), )
pub type UnavailableGuild {
UnavailableGuild(id: String, unavailable: Bool)
}
Constructors
-
UnavailableGuild(id: String, unavailable: Bool)
pub type VanityInvite {
VanityInvite(code: option.Option(String), uses: Int)
}
Constructors
-
VanityInvite(code: option.Option(String), uses: Int)
pub type VerificationLevel {
NoVerification
LowVerification
MediumVerification
HighVerification
VeryHighVerification
}
Constructors
-
NoVerification -
LowVerification -
MediumVerification -
HighVerification -
VeryHighVerification
pub type WelcomeChannel {
WelcomeChannel(
channel_id: String,
description: String,
emoji_id: option.Option(String),
emoji_name: option.Option(String),
)
}
Constructors
-
WelcomeChannel( channel_id: String, description: String, emoji_id: option.Option(String), emoji_name: option.Option(String), )
pub type WelcomeScreen {
WelcomeScreen(
description: option.Option(String),
welcome_channels: List(WelcomeChannel),
)
}
Constructors
-
WelcomeScreen( description: option.Option(String), welcome_channels: List(WelcomeChannel), )
Values
pub fn banner_request(
id id: String,
banner banner: String,
format format: BannerFormat,
) -> request.Request(String)
If format == GifBanner and the banner isn’t animated, will fallback to static WEBP.
You can request animated WEBPs too, in which case, if it isn’t animated, it will fallback to static WEBP.
pub fn begin_prune(
client: grom.Client,
in guild_id: String,
using prune: Prune,
because reason: option.Option(String),
) -> Result(PruneResponse, grom.Error)
pub fn bulk_ban(
client: grom.Client,
in guild_id: String,
users user_ids: List(String),
delete_messages_since delete_message_duration: option.Option(
duration.Duration,
),
because reason: option.Option(String),
) -> Result(BulkBanResponse, grom.Error)
pub fn create_ban(
client: grom.Client,
in guild_id: String,
for user_id: String,
delete_messages_since delete_message_duration: option.Option(
duration.Duration,
),
because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn create_emoji(
client: grom.Client,
in guild_id: String,
named name: String,
bytes image: image.Data,
allowed_roles roles: List(String),
because reason: option.Option(String),
) -> Result(emoji.Emoji, grom.Error)
pub fn create_soundboard_sound(
client: grom.Client,
in guild_id: String,
using create: CreateSoundboardSound,
because reason: option.Option(String),
) -> Result(soundboard.Sound, grom.Error)
pub fn create_sticker(
client: grom.Client,
in guild_id: String,
using create: CreateSticker,
because reason: option.Option(String),
) -> Result(sticker.Sticker, grom.Error)
pub fn delete(
client: grom.Client,
id guild_id: String,
) -> Result(Nil, grom.Error)
pub fn delete_emoji(
client: grom.Client,
from guild_id: String,
id emoji_id: String,
because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn delete_soundboard_sound(
client: grom.Client,
in guild_id: String,
id sound_id: String,
because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn delete_sticker(
client: grom.Client,
from guild_id: String,
id sticker_id: String,
because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn discovery_splash_request(
id id: String,
splash discovery_splash: String,
format format: SplashFormat,
) -> request.Request(String)
pub fn get(
client: grom.Client,
id guild_id: String,
get_counts with_counts: Bool,
) -> Result(Guild, grom.Error)
get_counts: Whether to get the approximate_member_count and approximate_presence_count
pub fn get_active_threads(
client: grom.Client,
in guild_id: String,
) -> Result(ReceivedThreads, grom.Error)
pub fn get_auto_moderation_rules(
client: grom.Client,
for guild_id: String,
) -> Result(List(auto_moderation.Rule), grom.Error)
pub fn get_ban(
client: grom.Client,
from guild_id: String,
for user_id: String,
) -> Result(Ban, grom.Error)
pub fn get_bans(
client: grom.Client,
for guild_id: String,
maximum limit: option.Option(Int),
earlier_than_id before: option.Option(String),
later_than_id after: option.Option(String),
) -> Result(List(Ban), grom.Error)
See: https://discord.com/developers/docs/resources/guild#get-guild-bans
pub fn get_emoji(
client: grom.Client,
in guild_id: String,
id emoji_id: String,
) -> Result(emoji.Emoji, grom.Error)
pub fn get_emojis(
client: grom.Client,
for guild_id: String,
) -> Result(List(emoji.Emoji), grom.Error)
pub fn get_integrations(
client: grom.Client,
for guild_id: String,
) -> Result(List(integration.Integration), grom.Error)
pub fn get_members(
client: grom.Client,
for guild_id: String,
maximum limit: option.Option(Int),
later_than_id after: option.Option(String),
) -> Result(List(guild_member.GuildMember), grom.Error)
If maximum is not provided, a default of 1 will be used.
See: https://discord.com/developers/docs/resources/guild#list-guild-members
pub fn get_preview(
client: grom.Client,
for guild_id: String,
) -> Result(Preview, grom.Error)
pub fn get_role_member_counts(
client: grom.Client,
for guild_id: String,
) -> Result(dict.Dict(String, Int), grom.Error)
Returns a Dict of Role IDs to member counts.
pub fn get_roles(
client: grom.Client,
for guild_id: String,
) -> Result(List(role.Role), grom.Error)
pub fn get_scheduled_events(
client: grom.Client,
for guild_id: String,
) -> Result(List(scheduled_event.ScheduledEvent), grom.Error)
pub fn get_soundboard_sound(
client: grom.Client,
in guild_id: String,
id sound_id: String,
) -> Result(soundboard.Sound, grom.Error)
pub fn get_soundboard_sounds(
client: grom.Client,
id guild_id: String,
) -> Result(List(soundboard.Sound), grom.Error)
pub fn get_sticker(
client: grom.Client,
from guild_id: String,
id sticker_id: String,
) -> Result(sticker.Sticker, grom.Error)
pub fn get_stickers(
client: grom.Client,
for guild_id: String,
) -> Result(List(sticker.Sticker), grom.Error)
pub fn get_vanity_invite(
client: grom.Client,
for guild_id: String,
) -> Result(VanityInvite, grom.Error)
pub fn get_voice_regions(
client: grom.Client,
for guild_id: String,
) -> Result(List(voice.Region), grom.Error)
pub fn get_welcome_screen(
client: grom.Client,
for guild_id: String,
) -> Result(WelcomeScreen, grom.Error)
pub fn icon_request(
id id: String,
icon icon: String,
format format: IconFormat,
) -> request.Request(String)
You probably want to use guild.icon, not guild.icon_hash.
guild.icon_hash is None in 90% of cases.
If format == GifIcon and the icon isn’t animated, will fallback to WEBP.
You can request animated WEBPs too, in which case, if it isn’t animated, it will fallback to static WEBP.
pub fn leave(
client: grom.Client,
id guild_id: String,
) -> Result(Nil, grom.Error)
pub fn modify(
client: grom.Client,
id guild_id: String,
with modify: Modify,
because reason: option.Option(String),
) -> Result(Guild, grom.Error)
pub fn modify_emoji(
client: grom.Client,
in guild_id: String,
id emoji_id: String,
rename name: option.Option(String),
allowed_roles roles: modification.Modification(List(String)),
because reason: option.Option(String),
) -> Result(emoji.Emoji, grom.Error)
pub fn modify_incident_actions(
client: grom.Client,
in guild_id: String,
using modify: ModifyIncidentActions,
) -> Result(IncidentsData, grom.Error)
pub fn modify_soundboard_sound(
client: grom.Client,
in guild_id: String,
id sound_id: String,
using modify: ModifySoundboardSound,
because reason: option.Option(String),
) -> Result(soundboard.Sound, grom.Error)
pub fn modify_sticker(
client: grom.Client,
in guild_id: String,
id sticker_id: String,
using modify: ModifySticker,
because reason: option.Option(String),
) -> Result(sticker.Sticker, grom.Error)
pub fn modify_welcome_screen(
client: grom.Client,
in guild_id: String,
using modify: ModifyWelcomeScreen,
because reason: option.Option(String),
) -> Result(WelcomeScreen, grom.Error)
pub fn move_roles(
client: grom.Client,
in guild_id: String,
roles roles: List(RoleToMove),
because reason: option.Option(String),
) -> Result(List(role.Role), grom.Error)
Returns a list of all of the guild’s roles.
pub fn new_create_soundboard_sound(
name: String,
sound: soundboard.Data,
) -> CreateSoundboardSound
pub fn new_modify() -> Modify
pub fn new_modify_incident_actions() -> ModifyIncidentActions
pub fn new_modify_sticker() -> ModifySticker
pub fn new_modify_welcome_screen() -> ModifyWelcomeScreen
pub fn remove_ban(
client: grom.Client,
in guild_id: String,
from user_id: String,
because reason: option.Option(String),
) -> Result(Nil, grom.Error)
pub fn search_for_members(
client: grom.Client,
in guild_id: String,
named query_param: String,
maximum limit: option.Option(Int),
) -> Result(List(guild_member.GuildMember), grom.Error)
pub fn splash_request(
id id: String,
splash splash: String,
format format: SplashFormat,
) -> request.Request(String)
pub fn tag_badge_request(
id id: String,
hash badge: String,
format format: TagBadgeFormat,
) -> request.Request(String)