Skip to content

Guild

Package: @erinjs/core

Represents a erin.js guild (server).

Constructor

NameTypeOptionalDescription
clientClientNo
dataanyNoAPI guild from GET /guilds/{id} or gateway GUILD_CREATE

Properties

NameTypeReadonlyOptionalDescription
afkChannelIdstring | nullNoNoAFK voice channel ID. Null if none.
afkTimeoutnumberNoNoAFK timeout in seconds.
bannerstring | nullNoNo
bannerHeightnumber | nullNoYesBanner image height. Optional.
bannerWidthnumber | nullNoYesBanner image width. Optional.
channelsanyNoNo
clientClientYesNo
defaultMessageNotificationsDefaultMessageNotificationsNoNo
emojisanyNoNo
explicitContentFilterGuildExplicitContentFilterNoNo
featuresGuildFeature[]NoNoEnabled guild features.
iconstring | nullNoNo
idstringYesNo
membersGuildMemberManagerNoNo
mfaLevelGuildMFALevelNoNo
namestringNoNo
nsfwLevelnumberNoNo
ownerIdstringYesNo
rolesanyNoNo
rulesChannelIdstring | nullNoNoRules/guidelines channel ID. Null if none.
splashstring | nullNoNoInvite splash image hash. Null if none.
splashHeightnumber | nullNoYesSplash image height. Optional.
splashWidthnumber | nullNoYesSplash image width. Optional.
systemChannelIdstring | nullNoNoSystem messages channel ID. Null if none.
vanityURLCodestring | nullNoNoCustom vanity URL code (e.g. fluxer.gg/code). Null if none.
verificationLevelGuildVerificationLevelNoNo

Methods

addRoleToMember() async

Add a role to a member by user ID. Does not require fetching the member first.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
userIdstringNoThe user ID of the member
roleIdstringNoThe role ID to add (or use guild.resolveRoleId for mention/name resolution)
Requires Manage Roles permission.

ban() async

Ban a user from this guild.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
userIdstringNoThe user ID to ban
options{ reason?: string; delete_message_days?: number; ban_duration_seconds?: number; }YesOptional reason, delete_message_days (0–7), and ban_duration_seconds (temporary ban).
ban_duration_seconds: 0 = permanent, or use 3600, 43200, 86400, 259200, 432000, 604800, 1209600, 2592000.
Requires Ban Members permission.

bannerURL()

Get the guild banner URL, or null if no banner.

Returns: string | null

Parameters:

NameTypeOptionalDescription
options{ size?: number; }Yes

createChannel() async

Create a channel in this guild.

Returns: Promise<GuildChannel>

Parameters:

NameTypeOptionalDescription
data{ type: 0 | 2 | 4 | 5; name: string; parent_id?: string | null; topic?: string | null; bitrate?: number | null; user_limit?: number | null; nsfw?: boolean; permission_overwrites?: Array<{ id: string; type: number; allow: string; deny: string; }>; }NoChannel data: type (0=text, 2=voice, 4=category, 5=link), name, and optional parent_id, topic, bitrate, user_limit, nsfw, permission_overwrites
Requires Manage Channels permission.

createEmojisBulk() async

Bulk create emojis. POST /guilds/{id}/emojis/bulk.

Returns: Promise<GuildEmoji[]>

Parameters:

NameTypeOptionalDescription
emojis{ name: string; image: string; }[]NoArray of { name, image } (base64), 1-50 emojis

createRole() async

Create a role in this guild. Requires Manage Roles permission.

Returns: Promise<Role>

Parameters:

NameTypeOptionalDescription
optionsanyNoRole data (permissions accepts PermissionResolvable for convenience)

createStickersBulk() async

Bulk create stickers. POST /guilds/{id}/stickers/bulk.

Returns: Promise<GuildSticker[]>

Parameters:

NameTypeOptionalDescription
stickers{ name: string; image: string; description?: string; tags?: string[]; }[]NoArray of { name, image, description?, tags? }, 1-50 stickers

delete() async

Delete this guild. POST /guilds/{id}/delete. Must be the guild owner.

Returns: Promise<void>

Parameters:

None


edit() async

Edit this guild. PATCH /guilds/{id}. Requires guild owner or Administrator.

Returns: Promise<this>

Parameters:

NameTypeOptionalDescription
options{ name?: string; icon?: string | null; system_channel_id?: string | null; system_channel_flags?: number; afk_channel_id?: string | null; afk_timeout?: number; default_message_notifications?: DefaultMessageNotifications; ... 7 more ...; features?: GuildFeature[]; }No

fetchAuditLogs() async

Fetch guild audit logs. Requires View Audit Log permission.

Returns: Promise<APIGuildAuditLog>

Parameters:

NameTypeOptionalDescription
options{ limit?: number; before?: string; after?: string; userId?: string; actionType?: number; }YesOptional limit, before, after, user_id, action_type for filtering

fetchBans() async

Fetch guild bans. Requires Ban Members permission.

Returns: Promise<GuildBan[]>

Parameters:

None


fetchChannels() async

Fetch all channels in this guild.

Returns: Promise<GuildChannel[]>

Parameters:

None


fetchEmoji() async

Fetch a single emoji by ID.

Returns: Promise<GuildEmoji>

Parameters:

NameTypeOptionalDescription
emojiIdstringNoThe emoji ID to fetch

fetchEmojis() async

Fetch all emojis in this guild.

Returns: Promise<GuildEmoji[]>

Parameters:

None


fetchMember() async

Fetch a guild member by user ID.

Returns: Promise<GuildMember>

Parameters:

NameTypeOptionalDescription
userIdstringNoThe user ID of the member to fetch

fetchRole() async

Fetch a role by ID.

Returns: Promise<Role>

Parameters:

NameTypeOptionalDescription
roleIdstringNoThe role ID to fetch

fetchRoles() async

Fetch all roles in this guild.

Returns: Promise<Role[]>

Parameters:

None


fetchVanityURL() async

Fetch vanity URL for this guild. GET /guilds/{id}/vanity-url. Requires Manage Guild permission.

Returns: Promise<APIVanityURL>

Parameters:

None


fetchWebhooks() async

Fetch all webhooks in this guild. Returned webhooks do not include the token (cannot send).

Returns: Promise<Webhook[]>

Parameters:

None


iconURL()

Get the guild icon URL, or null if no icon.

Returns: string | null

Parameters:

NameTypeOptionalDescription
options{ size?: number; }Yes

kick() async

Kick a member from this guild.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
userIdstringNoThe user ID to kick
Requires Kick Members permission.

removeRoleFromMember() async

Remove a role from a member by user ID. Does not require fetching the member first.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
userIdstringNoThe user ID of the member
roleIdstringNoThe role ID to remove
Requires Manage Roles permission.

resetRoleHoistPositions() async

Reset role hoist positions. DELETE /guilds/{id}/roles/hoist-positions.

Returns: Promise<APIRole[]>

Parameters:

None


resolveRoleId() async

Resolve a role ID from an argument (role mention, raw ID, or name). Fetches guild roles if name is provided.

Returns: Promise<string | null>

Parameters:

NameTypeOptionalDescription
argstringNoRole mention (@role), role ID, or role name

setChannelPositions() async

Update channel positions.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
updates{ id: string; position?: number; parent_id?: string | null; lock_permissions?: boolean; }[]NoArray of
Requires Manage Channels permission.

setDetachedBanner()

Set detached banner feature. PATCH /guilds/{id}/detached-banner.

Returns: Promise<this>

Parameters:

NameTypeOptionalDescription
enabledbooleanNo

setDisallowUnclaimedAccounts()

Set disallow unclaimed accounts. PATCH /guilds/{id}/disallow-unclaimed-accounts.

Returns: Promise<this>

Parameters:

NameTypeOptionalDescription
enabledbooleanNo

setRoleHoistPositions() async

Update role hoist positions. PATCH /guilds/{id}/roles/hoist-positions.

Returns: Promise<APIRole[]>

Parameters:

NameTypeOptionalDescription
updates{ id: string; hoist_position?: number; }[]No

setRolePositions() async

Update role positions. PATCH /guilds/{id}/roles.

Returns: Promise<APIRole[]>

Parameters:

NameTypeOptionalDescription
updates{ id: string; position?: number; }[]NoArray of

setTextChannelFlexibleNames()

Set text channel flexible names feature. PATCH /guilds/{id}/text-channel-flexible-names.

Returns: Promise<this>

Parameters:

NameTypeOptionalDescription
enabledbooleanNo

splashURL()

Get the guild splash (invite background) URL, or null if no splash.

Returns: string | null

Parameters:

NameTypeOptionalDescription
options{ size?: number; }Yes

transferOwnership() async

Transfer guild ownership to another user. POST /guilds/{id}/transfer-ownership. Must be the guild owner.

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
newOwnerIdstringNo
passwordstringYes

unban() async

Remove a ban (unban a user).

Returns: Promise<void>

Parameters:

NameTypeOptionalDescription
userIdstringNoThe user ID to unban
Requires Ban Members permission.

Released under the Apache-2.0 License.