浏览代码

MUC: Register handler to parse for commands in the plugin index.js

JC Brand 3 年之前
父节点
当前提交
7c7b667745
共有 3 个文件被更改,包括 7 次插入5 次删除
  1. 3 1
      src/plugins/muc-views/index.js
  2. 1 2
      src/plugins/muc-views/message-form.js
  3. 3 2
      src/plugins/muc-views/utils.js

+ 3 - 1
src/plugins/muc-views/index.js

@@ -8,7 +8,7 @@ import 'plugins/modal/index.js';
 import './adhoc-commands.js';
 import MUCView from './muc.js';
 import { api, converse } from '@converse/headless/core';
-import { clearHistory, fetchAndSetMUCDomain } from './utils.js';
+import { clearHistory, fetchAndSetMUCDomain, parseMessageForMUCCommands } from './utils.js';
 
 import './styles/index.scss';
 
@@ -80,5 +80,7 @@ converse.plugins.add('converse-muc-views', {
                 clearHistory(model.get('jid'));
             }
         });
+
+        api.listen.on('parseMessageForCommands', parseMessageForMUCCommands);
     }
 });

+ 1 - 2
src/plugins/muc-views/message-form.js

@@ -1,7 +1,7 @@
 import MessageForm from 'plugins/chatview/message-form.js';
 import tpl_muc_message_form from './templates/message-form.js';
 import { _converse, api, converse } from "@converse/headless/core";
-import { getAutoCompleteListItem, parseMessageForMUCCommands } from './utils.js';
+import { getAutoCompleteListItem } from './utils.js';
 
 
 export default class MUCMessageForm extends MessageForm {
@@ -9,7 +9,6 @@ export default class MUCMessageForm extends MessageForm {
     async connectedCallback () {
         super.connectedCallback();
         await this.model.initialized;
-        api.listen.on('parseMessageForCommands', parseMessageForMUCCommands);
     }
 
     toHTML () {

+ 3 - 2
src/plugins/muc-views/utils.js

@@ -296,7 +296,9 @@ export function showOccupantModal (ev, occupant) {
 
 
 export function parseMessageForMUCCommands (data, handled) {
-    if (handled || (
+    const model = data.model;
+    if (handled ||
+            model.get('type') !== _converse.CHATROOMS_TYPE || (
             api.settings.get('muc_disable_slash_commands') &&
             !Array.isArray(api.settings.get('muc_disable_slash_commands'))
     )) {
@@ -310,7 +312,6 @@ export function parseMessageForMUCCommands (data, handled) {
         return false;
     }
 
-    const model = data.model;
     const args = text.slice(('/' + command).length + 1).trim();
     const allowed_commands = model.getAllowedCommands() ?? [];