Class: Languager - 5GameMaker/openjsk GitHub Wiki
abstract class Languager extends Plugin
/plugins/Languager.ts
import { Module, Bot, Command } from 'openjsk';
export class MyCustomLanguager extends Languager {
/* overrides */
}Plugin with commands
Get language in context of provided message
const lang = await ctx.bot.getPluginsOfType(Languager)[0].getLanguageIn(ctx.message);
ctx.channel.send(lang);- abstract Promise<string> getLanguage(target : Partial<LanguagerTarget>)
Get language of provided target
const lang = await ctx.bot.getPluginsOfType(Languager)[0].getLanguage({
user: ctx.message.author.id,
guild: ctx.guild?.id,
});
ctx.channel.send(lang);- abstract Promise setLanguage(target : Partial<LanguagerTarget>, lang : string)
Set language of target
const lang = await ctx.bot.getPluginsOfType(Languager)[0].getLanguage({
user: ctx.message.author.id,
guild: ctx.guild?.id,
}, "prefix$");
ctx.channel.send(lang);- abstract Promise<LanguagerInstance> instantiate(message : Message)
Instantiate instance of languager
const languager = await ctx.bot.getPluginsOfType(Languager)[0].instantiate(ctx.message);
// btw it's already done within Context.languagerFormat string (replaces %tag% with something from provided data object in text)
const str = ctx.bot.getPluginsOfType(Languager)[0].format("%name% is %age% year(s) old", { name : "Peter", age : 21 });