12 symbols from @neontechspace/fluxerly/effect
Interfaces#
Emojis#
Read, upload, rename, clone or delete custom emoji
Methods return Effects and share guild HTTP concurrency limits, deadlines and Guild failures. Reads retry eligible transient failures at most twice. Writes retry only confirmed 429 rejections. Input, permission, 404 and malformed responses do not retry. Unknown outcomes may leave writes applied. Effects start when executed, use the caller's services and await cleanup on interruption. Defects remain in Cause. Closing clients fail with Client. Snapshots are frozen and HTTP success is not gateway acknowledgement
interface Emojisclone#
Copy an emoji into a community by its source ID, using Fluxer's server-side copy
Source metadata is preserved. Fluxer enforces source copying restrictions
clone(
guildId: string,
sourceId: string,
options?: AuditedRequestOptions
): Effect<GuildEmoji, GuildOperationFailure>clone(
guildId: string,
sourceId: string,
options?: AuditedRequestOptions
): Effect<
GuildEmoji,
GuildOperationFailure
>Parameters
guildId -
string sourceId -
string optionsoptional-
AuditedRequestOptions
- Fails with
create#
Upload one community emoji and return its metadata
Inputs are copied when execution starts. No image URL is fetched automatically. Fluxer checks image format, dimensions, permissions and capacity. A write with an unknown outcome is not replayed
create(
guildId: string,
input: EmojiCreate,
options?: AuditedRequestOptions
): Effect<GuildEmoji, GuildOperationFailure>create(
guildId: string,
input: EmojiCreate,
options?: AuditedRequestOptions
): Effect<
GuildEmoji,
GuildOperationFailure
>Parameters
guildId -
string input-
EmojiCreate optionsoptional-
AuditedRequestOptions
- Fails with
createMany #
Upload 1–50 community emojis in one batch and return separate successes and failures
The input array is copied by index, then its entries are copied when execution starts. Some uploads can succeed while others fail. No rollback or automatic chunking is performed. Failures named by duplicate emoji names cannot be matched reliably to input positions. After an unknown outcome, fetch fresh remote data rather than blindly replaying the batch
createMany(
guildId: string,
input: readonly EmojiCreate[],
options?: AuditedRequestOptions
): Effect<ExpressionBatch<GuildEmoji>, GuildOperationFailure>createMany(
guildId: string,
input: readonly EmojiCreate[],
options?: AuditedRequestOptions
): Effect<
ExpressionBatch<GuildEmoji>,
GuildOperationFailure
>Parameters
guildId -
string input-
readonly EmojiCreate[] optionsoptional-
AuditedRequestOptions
delete#
Remove an emoji, succeeding with no value after HTTP 204
Retained metadata is invalidated. A missing target is an error, not proof of an earlier deletion. The purge option defaults to false. Setting it to true also queues irreversible media removal, subject to Fluxer's restrictions
delete(
target: ExpressionReference,
options?: ExpressionDeleteOptions
): Effect<void, GuildOperationFailure>delete(
target: ExpressionReference,
options?: ExpressionDeleteOptions
): Effect<
void,
GuildOperationFailure
>Parameters
target-
ExpressionReference optionsoptional-
ExpressionDeleteOptions
- Returns
Effect<void, GuildOperationFailure>- Fails with
edit#
Rename a community emoji without changing its image or fetching its old metadata first
edit(
target: ExpressionReference,
input: EmojiEdit,
options?: AuditedRequestOptions
): Effect<GuildEmoji, GuildOperationFailure>edit(
target: ExpressionReference,
input: EmojiEdit,
options?: AuditedRequestOptions
): Effect<
GuildEmoji,
GuildOperationFailure
>Parameters
target-
ExpressionReference input-
EmojiEdit optionsoptional-
AuditedRequestOptions
- Fails with
fetchAll #
Fetch a community's emoji list in Fluxer's order, without pagination
The list can change after the response and is not an ongoing completeness guarantee. An enabled metadata cache can retain results, but not image bytes or creator accounts
fetchAll(
guildId: string,
options?: RequestOptions
): Effect<readonly GuildEmoji[], GuildOperationFailure>fetchAll(
guildId: string,
options?: RequestOptions
): Effect<
readonly GuildEmoji[],
GuildOperationFailure
>Parameters
guildId -
string optionsoptional-
RequestOptions
- Returns
Effect<readonly GuildEmoji[], GuildOperationFailure>Effect< readonly GuildEmoji[], GuildOperationFailure >- Fails with
fetchMetadata #
Fetch minimal emoji metadata by decimal ID, without requiring source-community membership
This read does not populate the cache
fetchMetadata(
id: string,
options?: RequestOptions
): Effect<ExpressionMetadata, GuildOperationFailure>fetchMetadata(
id: string,
options?: RequestOptions
): Effect<
ExpressionMetadata,
GuildOperationFailure
>Parameters
id-
string optionsoptional-
RequestOptions
fetchSource #
Fetch the public presentation of the community that owns a custom emoji with this decimal ID: Its ID, name, icon hash and badges
Fluxer answers when the source community is discoverable or the bot is a member of it. A private source community the bot is not in, an unavailable community or an unknown emoji fails with Guild whose api is unknown, without revealing which case applies. This read does not populate the cache, and the result does not update when the community changes
fetchSource(
id: string,
options?: RequestOptions
): Effect<ExpressionSourceGuild, GuildOperationFailure>fetchSource(
id: string,
options?: RequestOptions
): Effect<
ExpressionSourceGuild,
GuildOperationFailure
>Parameters
id-
string optionsoptional-
RequestOptions
get#
Look up cached emoji metadata using decimal guild and id, without an HTTP request
The result is undefined when caching is disabled or the entry is absent, expired or invalidated by a conflicting change. A hit becomes more recently used without extending expiry. An invalid ID is misuse: The default API throws Guild with reason input and the native API dies with it. A closing or closed client has no cache, so the result is undefined
get(target: ExpressionReference): Effect<GuildEmoji | undefined>get(
target: ExpressionReference
): Effect<GuildEmoji | undefined>Parameters
target-
ExpressionReference
- Returns
Effect<GuildEmoji | undefined>
Stickers#
Read, upload, edit, clone or delete custom stickers
Methods return Effects and share guild HTTP concurrency limits, deadlines and Guild failures. Reads retry eligible transient failures at most twice. Writes retry only confirmed 429 rejections. Input, permission, 404 and malformed responses do not retry. Unknown outcomes may leave writes applied. Effects start when executed, use the caller's services and await cleanup on interruption. Defects remain in Cause. Closing clients fail with Client. Snapshots are frozen and HTTP success is not gateway acknowledgement
interface Stickersclone#
Copy a sticker into a community by its source ID, using Fluxer's server-side copy
Source metadata is preserved. Fluxer enforces source copying restrictions
clone(
guildId: string,
sourceId: string,
options?: AuditedRequestOptions
): Effect<GuildSticker, GuildOperationFailure>clone(
guildId: string,
sourceId: string,
options?: AuditedRequestOptions
): Effect<
GuildSticker,
GuildOperationFailure
>Parameters
guildId -
string sourceId -
string optionsoptional-
AuditedRequestOptions
- Fails with
create#
Upload one community sticker and return its metadata
Inputs are copied when execution starts. No image URL is fetched automatically. Fluxer checks image format, dimensions, permissions and capacity. A write with an unknown outcome is not replayed
create(
guildId: string,
input: StickerCreate,
options?: AuditedRequestOptions
): Effect<GuildSticker, GuildOperationFailure>create(
guildId: string,
input: StickerCreate,
options?: AuditedRequestOptions
): Effect<
GuildSticker,
GuildOperationFailure
>Parameters
guildId -
string input-
StickerCreate optionsoptional-
AuditedRequestOptions
- Fails with
createMany #
Upload 1–50 community stickers in one batch and return separate successes and failures
The input array is copied by index, then its entries are copied when execution starts. Some uploads can succeed while others fail. No rollback or automatic chunking is performed. Failures named by duplicate sticker names cannot be matched reliably to input positions. After an unknown outcome, fetch fresh remote data rather than blindly replaying the batch
createMany(
guildId: string,
input: readonly StickerCreate[],
options?: AuditedRequestOptions
): Effect<ExpressionBatch<GuildSticker>, GuildOperationFailure>createMany(
guildId: string,
input: readonly StickerCreate[],
options?: AuditedRequestOptions
): Effect<
ExpressionBatch<GuildSticker>,
GuildOperationFailure
>Parameters
guildId -
string input-
readonly StickerCreate[] optionsoptional-
AuditedRequestOptions
delete#
Remove a sticker, succeeding with no value after HTTP 204
Retained metadata is invalidated. A missing target is an error, not proof of an earlier deletion. The purge option defaults to false. Setting it to true also queues irreversible media removal, subject to Fluxer's restrictions
delete(
target: ExpressionReference,
options?: ExpressionDeleteOptions
): Effect<void, GuildOperationFailure>delete(
target: ExpressionReference,
options?: ExpressionDeleteOptions
): Effect<
void,
GuildOperationFailure
>Parameters
target-
ExpressionReference optionsoptional-
ExpressionDeleteOptions
- Returns
Effect<void, GuildOperationFailure>- Fails with
edit#
Replace a sticker's name, description and tags without changing its image or fetching it first
A fetched sticker can be spread into input if its identity matches the target. Unknown fields fail locally. An empty or null description clears it, and [] clears tags. The namespace's write, failure and cancellation rules apply
edit(
target: ExpressionReference,
input: StickerEdit,
options?: AuditedRequestOptions
): Effect<GuildSticker, GuildOperationFailure>edit(
target: ExpressionReference,
input: StickerEdit,
options?: AuditedRequestOptions
): Effect<
GuildSticker,
GuildOperationFailure
>Parameters
target-
ExpressionReference input-
StickerEdit optionsoptional-
AuditedRequestOptions
- Fails with
fetchAll #
Fetch a community's sticker list in Fluxer's order, without pagination
The list can change after the response and is not an ongoing completeness guarantee. An enabled metadata cache can retain results, but not image bytes or creator accounts
fetchAll(
guildId: string,
options?: RequestOptions
): Effect<readonly GuildSticker[], GuildOperationFailure>fetchAll(
guildId: string,
options?: RequestOptions
): Effect<
readonly GuildSticker[],
GuildOperationFailure
>Parameters
guildId -
string optionsoptional-
RequestOptions
- Returns
Effect<readonly GuildSticker[], GuildOperationFailure>Effect< readonly GuildSticker[], GuildOperationFailure >- Fails with
fetchMetadata #
Fetch minimal sticker metadata by decimal ID, without requiring source-community membership
This read does not populate the cache
fetchMetadata(
id: string,
options?: RequestOptions
): Effect<ExpressionMetadata, GuildOperationFailure>fetchMetadata(
id: string,
options?: RequestOptions
): Effect<
ExpressionMetadata,
GuildOperationFailure
>Parameters
id-
string optionsoptional-
RequestOptions
fetchSource #
Fetch the public presentation of the community that owns a custom sticker with this decimal ID: Its ID, name, icon hash and badges
Fluxer answers when the source community is discoverable or the bot is a member of it. A private source community the bot is not in, an unavailable community or an unknown sticker fails with Guild whose api is unknown, without revealing which case applies. This read does not populate the cache, and the result does not update when the community changes
fetchSource(
id: string,
options?: RequestOptions
): Effect<ExpressionSourceGuild, GuildOperationFailure>fetchSource(
id: string,
options?: RequestOptions
): Effect<
ExpressionSourceGuild,
GuildOperationFailure
>Parameters
id-
string optionsoptional-
RequestOptions
get#
Look up cached sticker metadata using decimal guild and id, without an HTTP request
The result is undefined when caching is disabled or the entry is absent, expired or invalidated by a conflicting change. A hit becomes more recently used without extending expiry. An invalid ID is misuse: The default API throws Guild with reason input and the native API dies with it. A closing or closed client has no cache, so the result is undefined
get(target: ExpressionReference): Effect<GuildSticker | undefined>get(
target: ExpressionReference
): Effect<GuildSticker | undefined>Parameters
target-
ExpressionReference
- Returns
Effect<GuildSticker | undefined>
Re-Exports#
Declared in JavaScript & TypeScript and documented there. Import them from @neontechspace/fluxerly/effect as well
Emoji#Create - Upload an image as a named custom community emoji for messages and reactions
Expression#Batch - Results of creating emoji or stickers in one batch request
Expression#Metadata - Public name and animation information returned by
fetchwithout requiring source-community membershipMetadata Expression#Reference - Address a custom emoji or sticker by its owning community and resource ID
Expression#Source Guild - Public presentation of the community that owns a custom emoji or sticker, returned by
fetchSource Guild#Emoji - A community's custom emoji identity, name and animation flag
Guild#Sticker - A community's custom sticker identity and display metadata, including its description and suggestion tags
Sticker#Create - Upload a named custom sticker with optional description and suggestion tags
Sticker#Edit - Replace sticker metadata without reading or merging remote state