30 lines
975 B
TypeScript
30 lines
975 B
TypeScript
import _ from 'lodash';
|
|
import { EventBus } from '../chat/preview/event-bus';
|
|
import { Message } from '../chat/common';
|
|
import core from '../chat/core';
|
|
import Vue from 'vue';
|
|
|
|
export function initYiffbot4000Integration() {
|
|
EventBus.$on('private-message', ({ message }: { message: Message }) => {
|
|
if (message.sender.name === 'YiffBot 4000') {
|
|
const match = message.text.match(/\[spoiler](.*?FChatRisingBotManifest.*?)\[\/spoiler]/i);
|
|
|
|
if (match && match[1]) {
|
|
try {
|
|
const manifest = JSON.parse(match[1]);
|
|
|
|
if (manifest.type === 'FChatRisingBotManifest' && manifest.version >= 1) {
|
|
const char = core.characters.get('YiffBot 4000');
|
|
|
|
Vue.set(char.overrides, 'avatarUrl', manifest.avatarUrl);
|
|
Vue.set(char.overrides, 'gender', _.get(manifest, 'assistant.gender'));
|
|
}
|
|
} catch (err) {
|
|
console.error('FChatRisingBotManifest.error', err);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|