parseEmotes

Convert a message with emote codes into a message with emote images

Example

import { parseEmotes } from "emotettv";

const parsedMessage = await parseEmotes(
    "hello world! VoHiYo",
    { "81274": [13-18] },
    { channelId: "98776633" }
);
const messageArr = parsedMessage.toArray();
console.log(messageArr); 

API

parseEmotes(...)

parseEmotes: (
    message: string,
    _emotePositions?: EmotePositions | null,
    _options?: Partial<ParserOptions> | null
) => Promise<{
    toArray: () => ParsedEmotesMessage;
    toHTML: (scale?: number, inlineStyles?: boolean, escapeHTML?: boolean) => string;
}>

Parse emotes in a message and return multiple methods to manage the results.

Param
Type

message

string

_emotePositions?

_options?

Returns: Promise<{toArray(), toHTML(...)}>

.toArray()

toArray: () => ParsedEmotesMessage;

Converts parsed message into an array of words and emotes.

Returns: ParsedEmotesMessage

.toHTML(...)

toHTML: (scale?: number, inlineStyles?: boolean, escapeHTML?: boolean) => string;

Converts parsed message into a ready-to-use HTML string.

Param
Type

scale?

number

inlineStyles?

boolean

escapeHTML?

boolean

Returns: string

Types

EmotePositions

This is the same type used by TMI.js when returning emote offsets, so you can use it directly when needed.

Object map of:

Prop
Type
Description

key

string

ID of emote

value

string

Starting and ending position of emote on text formatted as {x}-{y}

ParsedEmotesMessage

Array of:

Prop
Type
Description

content

string

Word

position

string

Starting and ending position of word on text formatted as {x}-{y}

emote?

Parsed emote details, this suggests this word should be rendered as an emote.

ParsedEmote

Prop
Type
Description

images

string[]

Image URLs of the emote in different scales (asc)

overlays

List of emotes that should be rendered on top of the current emote

isZeroWidth?

boolean

If the emote is an overlay, only used internally

ParsedOverlay

Prop
Type

images

string[]

Image URLs of the emote in different scales (asc)

alt

string

Original emote code

ParserOptions

Prop
Type
Description

channelId

string | null

ID of channel emotes will be fetched from

providers

List of enabled emote providers. All are active by default.

Providers

You can also add any providers you create. See custom emotes/badges guide for more information.

Prop
Type
Description

twitch

boolean

Enable Twitch emotes

bttv

boolean

Enable BTTV emotes

ffz

boolean

Enable FFZ emotes

seventv

boolean

Enable 7TV emotes

Last updated