Emojis & Stickers
Fetch, create, clone, and bulk-create guild emojis and stickers.
Guild emoji and sticker CRUD: fetch, clone, create, and bulk-create.
Fetch
javascript
import { Client, Events } from '@fluxerjs/core';
const client = new Client();
client.on(Events.MessageCreate, async (message) => {
if (!message.guildId || message.content !== '!emojis') return;
const guild = await message.resolveGuild();
if (!guild) return;
const emojis = await guild.fetchEmojis();
const list = emojis.map((e) => `:${e.name}: (${e.id})`).join(', ');
await message.reply(emojis.length ? list : 'No emojis.');
});
await client.login(process.env.FLUXER_BOT_TOKEN);javascript
const emoji = await guild.fetchEmoji(emojiId);
await emoji.delete();Stickers: guild.fetchStickers() / guild.fetchSticker(id). Cached in guild.emojis / guild.stickers.
Create one
Image is base64 (no data-URL prefix). Requires Manage Emojis and Stickers.
javascript
async function imageToBase64(url) {
const res = await fetch(url);
const buf = Buffer.from(await res.arrayBuffer());
return buf.toString('base64');
}
const emoji = await guild.createEmoji({
name: 'wave',
image: await imageToBase64(imageUrl),
});Stickers take name, image, optional description / tags:
javascript
const sticker = await guild.createSticker({
name: 'cool',
image: base64Image,
description: 'A cool sticker',
});Clone
Copy an emoji or sticker from another guild by source id:
javascript
const cloned = await guild.cloneEmoji(sourceEmojiId);
const clonedSticker = await guild.cloneSticker(sourceStickerId);Bulk create
Returns { success, failed }, not a bare array.
javascript
const { success, failed } = await guild.createEmojisBulk([
{ name: 'ok', image: base64A },
{ name: 'no', image: base64B },
]);
console.log(success.map((e) => e.name), failed);
const stickers = await guild.createStickersBulk([
{ name: 'cool', image: base64Image, description: 'A cool sticker' },
]);Edit and delete
javascript
await emoji.edit({ name: 'newname' });
await emoji.delete();
await sticker.edit({ name: 'renamed' });
await sticker.delete();Quick reference
| Method | Purpose |
|---|---|
guild.fetchEmojis() | All guild emojis (cached in guild.emojis) |
guild.fetchEmoji(id) | One emoji |
guild.createEmoji({ name, image }) | Create one |
guild.cloneEmoji(sourceId) | Clone from another guild |
guild.createEmojisBulk([...]) | { success, failed } |
guild.createSticker / cloneSticker / createStickersBulk | Same pattern for stickers |