diff --git a/controller.js b/controller.js index 03c8b94..0854a37 100644 --- a/controller.js +++ b/controller.js @@ -77,7 +77,7 @@ class LibreTranslateAPI { class ControllerPlugin extends BaseControllerPlugin { async init() { this.controller.config.on('fieldChanged', (field, curr, prev) => { - if (field === 'chat_sync.discord_bot_token') { + if (field === 'ClusterChatSync.discord_bot_token') { this.connect().catch(err => { this.logger.error(`[Chat Sync] Discord bot token:\n${err.stack}`); }); @@ -98,7 +98,7 @@ class ControllerPlugin extends BaseControllerPlugin { async connect() { await this.clientDestroy(); - if (!this.controller.config.get('chat_sync.discord_bot_token')) { + if (!this.controller.config.get('ClusterChatSync.discord_bot_token')) { this.logger.error('[Chat Sync] Discord bot token not configured.'); return; } @@ -107,7 +107,7 @@ class ControllerPlugin extends BaseControllerPlugin { this.logger.info('[Chat Sync] Logging into Discord.'); try { - await this.client.login(this.controller.config.get('chat_sync.discord_bot_token')); + await this.client.login(this.controller.config.get('ClusterChatSync.discord_bot_token')); } catch (err) { this.logger.error(`[Chat Sync] Discord login error:\n${err.stack}`); await this.clientDestroy(); @@ -116,10 +116,10 @@ class ControllerPlugin extends BaseControllerPlugin { this.logger.info('[Chat Sync] Logged in Discord successfully.'); - if (this.controller.config.get('chat_sync.use_libretranslate')) { - this.translator = new LibreTranslateAPI(this.controller.config.get('chat_sync.libretranslate_url'), this.controller.config.get('chat_sync.libretranslate_key'), this.logger); + if (this.controller.config.get('ClusterChatSync.use_libretranslate')) { + this.translator = new LibreTranslateAPI(this.controller.config.get('ClusterChatSync.libretranslate_url'), this.controller.config.get('ClusterChatSync.libretranslate_key'), this.logger); await this.translator.init(); - this.translator_language = this.controller.config.get('chat_sync.libretranslate_language').trim().split(/\s+/) || ['zh-Hant', 'en']; + this.translator_language = this.controller.config.get('ClusterChatSync.libretranslate_language').trim().split(/\s+/) || ['zh-Hant', 'en']; } } @@ -128,7 +128,7 @@ class ControllerPlugin extends BaseControllerPlugin { } async sendMessage(request, nrc_msg) { - const channel_id = this.controller.config.get('chat_sync.discord_channel_mapping')[request.instanceName]; + const channel_id = this.controller.config.get('ClusterChatSync.discord_channel_mapping')[request.instanceName]; if (!channel_id) return; let channel; @@ -145,7 +145,7 @@ class ControllerPlugin extends BaseControllerPlugin { } } - if (this.controller.config.get('chat_sync.datetime_on_message')) { + if (this.controller.config.get('ClusterChatSync.datetime_on_message')) { let now = new Date(); nrc_msg = `${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}${String(now.getSeconds()).padStart(2, '0')} ${nrc_msg}` } @@ -177,7 +177,7 @@ class ControllerPlugin extends BaseControllerPlugin { const nrc_message = nrc.substring(nrc_index + 1).trim(); await this.sendMessage(request, `**\`${nrc_username}\`**: ${nrc_message}`); - if (this.controller.config.get('chat_sync.use_libretranslate')) { + if (this.controller.config.get('ClusterChatSync.use_libretranslate')) { const result = await this.translator.translate(nrc_message, this.translator_language); if (result && result.action) { diff --git a/info.js b/info.js index fb5d5f2..a3652cc 100644 --- a/info.js +++ b/info.js @@ -5,7 +5,7 @@ class InstanceActionEvent { static type = 'event'; static src = 'instance'; static dst = 'controller'; - static plugin = 'chat_sync'; + static plugin = 'ClusterChatSync'; constructor(instanceName, action, content) { this.instanceName = instanceName; @@ -25,24 +25,24 @@ class InstanceActionEvent { } const plugin = { - name: 'chat_sync', + name: 'ClusterChatSync', title: 'Cluster Chat Sync', description: 'One way chat sync.', instanceEntrypoint: 'instance', controllerEntrypoint: 'controller', controllerConfigFields: { - 'chat_sync.discord_bot_token': { + 'ClusterChatSync.discord_bot_token': { title: 'Discord Bot Token', description: 'API Token', type: 'string' }, - 'chat_sync.datetime_on_message': { + 'ClusterChatSync.datetime_on_message': { title: 'Message Datetime', description: 'Append datetime in front', type: 'boolean', initialValue: true }, - 'chat_sync.discord_channel_mapping': { + 'ClusterChatSync.discord_channel_mapping': { title: 'Channels', description: 'Putting the discord channel id and instance relations here', type: 'object', @@ -50,25 +50,25 @@ const plugin = { 'S1': '123' }, }, - 'chat_sync.use_libretranslate': { + 'ClusterChatSync.use_libretranslate': { title: 'Translate Message', description: 'Using self host or paid service of libretranslate', type: 'boolean', initialValue: false }, - 'chat_sync.libretranslate_url': { + 'ClusterChatSync.libretranslate_url': { title: 'Translate Server URL', description: 'Including http protocol, and the port if needed', type: 'string', initialValue: 'http://localhost:5000' }, - 'chat_sync.libretranslate_key': { + 'ClusterChatSync.libretranslate_key': { title: 'Translate Server API Key', description: 'The API key for the translate server', type: 'string', initialValue: '123456' }, - 'chat_sync.libretranslate_language': { + 'ClusterChatSync.libretranslate_language': { title: 'Translate Server Target Language', description: 'Put a space between each language, using ISO 639-1 codes', type: 'string', diff --git a/webpack.config.js b/webpack.config.js index 63a775c..13fb006 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -13,8 +13,8 @@ module.exports = (env = {}) => merge(common(env), { }, plugins: [ new webpack.container.ModuleFederationPlugin({ - name: 'chat_sync', - library: {type: 'var', name: 'plugin_chat_sync'}, + name: 'ClusterChatSync', + library: {type: 'var', name: 'plugin_ClusterChatSync' }, exposes: { './': './info.js', './package.json': './package.json',