Проблема с реализацией Custom Plugin stanza js
Я попытался отправить эту строфу, чтобы сменить тему комнаты
<iq from='hag66@shakespeare.lit/pda'
id='subject1'
to='coven@muclight.shakespeare.lit'
type='set'>
<query xmlns='urn:xmpp:muclight:0#configuration'>
<subject>To be or not to be?</subject>
</query>
</iq
Пользовательский плагин с использованием документации stanzajs
roomsubject.ts, в котором я пытаюсь реализовать свою настраиваемую строфу, чтобы изменить тему комнаты
import { Agent, JXT } from 'stanza';
import { IQType } from 'stanza/Constants';
export interface MyStanza {
subject: string;
}
declare module 'stanza' {
export interface Agent {
sendMyStanza(jid: string, data: string): void;
}
export interface AgentEvents {
mystanza: IQType & { mystanza: MyStanza };
}
namespace Stanzas {
export interface IQType {
mystanza?: MyStanza;
}
}
}
export default function (client: Agent, stanzas: JXT.Registry) {
const NS = 'urn:xmpp:muclight:0#configuration';
stanzas.define({
element: 'query',
namespace: NS,
fields: {
subject: JXT.childText(null, 'subject'),
},
});
client.sendMyStanza = (jid: string, data: string)=> {
client.sendIQ({
id:'subject1',
type:"set",
to:jid,
mystanza: {
subject:data
}
});
};
client.on('iq', iq => {
console.log(iq)
});
};
APP.js
Я экспортирую настраиваемый плагин и использую его для использования компонента эффекта.. но получаю неверную ошибку запроса
import Roomsubject from './roomsubject.tsx';
function App() {
useEffect(() => {
const client = XMPP.createClient({
jid: "92333@chat.com",
password: "123456",
transports: {
websocket: "ws://chat.com:1234/ws-xmpp",
}
});
client.use(Roomsubject);
client.on('session:started', async() => {
try {
await client.sendMyStanza("644727e2-3600@muclight.chat..com","test")
} catch (error) {
alert(error)
}
});
client.connect();
}, []);
IQ, который отправляется
<iq xmlns="jabber:client" id="29a7e0d6-26ae-4a16-bd1b-e1b9f6aae446" type="set" to="644727e2-3600-@muclight.chat.com"/>
отклик
<iq from='644727e2-3600@muclight.chat.com' to='92333594@chat.i.com/0fd1f99427c80e891600-3352860' type='error' xml:lang='en' xmlns='jabber:client'
id='29a7e0d6-26ae-4a16-bd1b-e1b9f6aae446'><error code='400' type='modify'><bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>