ikemoji
v1.0.5
Published
Telegram Bot API 9.4 custom emoji helper - UTF-16 correct, ZWJ/skin tone safe, Telegraf compatible
Maintainers
Readme
ikemoji
Telegram Bot API 9.4 – Custom Emoji Helper
- UTF-16 correct
- ZWJ / skin tone safe
- Length = 1 (Telegram requirement)
- Handles multiple consecutive emojis and variation selectors
- Telegraf compatible
Installation
npm install ikemoji
## Usage
const { emo, emoEnt, findEmo, checkEnt, mergeEntities } = require('ikemoji');
const emojiMap = {
"😀": "5444871234567890123",
"🔥": "5444879876543210123"
};
// Build text + entities
const { text, entities } = emo("Hello 😀🔥", emojiMap);
console.log(text); // "Hello 😀🔥"
console.log(entities); // [{ type: 'custom_emoji', offset: 6, length: 1, custom_emoji_id: "..." }, ...]
// Extract entities only
const onlyEntities = emoEnt("Hello 😀🔥", emojiMap);
console.log(onlyEntities);
// Find all unique emojis
const unique = findEmo("Hello 😀🔥");
console.log(unique); // ["😀","🔥"]
// Validate entities
const { valid, errors } = checkEnt(entities);
console.log(valid, errors);
// Merge with other entities
const allEntities = mergeEntities(entities, [{ type: 'bold', offset: 0, length: 5 }]);
console.log(allEntities);