SmallK111407/earth-k-plugin

为原神语音功能添加引用警告,避免用户误触发语音消失bug

Opened this issue · 0 comments

输入图片说明
如图,我自己参考小飞插件手动添加了这项功能,以免Win系统频繁触发语音bug(这玩意一旦触发真挺烦人的。。)
改写代码如下:(改写文件:genshinSpeak.js
输入图片说明
第一张图是猜语音那里的改写
测试
第二张图是角色语音部分的改写
因为我个人经常在电脑听语音就稍微改了下,不然真的很容易误触发BUG
我是想大佬觉得这个改写没啥问题就也加进去,但是不知道怎么提交我就放issue里了
下面是添加的代码段

            let url = wb[Number(z)]
            if (yykg) {
                //使用高清语音
                let result = await this.reply(
                    await uploadRecord(url, 68714, 0)
                )
                try {
                    let message = await Bot.getMsg(result.message_id);
                    if (Array.isArray(message.message)) message.message.push({ type: 'text', text: '[语音]' });
                    (e.group || e.friend)?.sendMsg('Win系统别点,否则会导致所有语音无声音!', message);
                } catch (err) { }
            } else {
                //不使用高清语音
                let voice = await segment.record(url)
                e.reply(voice)
            }
        let url = wb[Number(i - 1)]
        if (yykg) {
            //使用高清语音
            let result = await this.reply(
                await uploadRecord(url, 68714, 0)
            )
            try {
                let message = await Bot.getMsg(result.message_id);
                if (Array.isArray(message.message)) message.message.push({ type: 'text', text: '[语音]' });
                (e.group || e.friend)?.sendMsg('Win系统别点,否则会导致所有语音无声音!', message);
            } catch (err) { }
        } else {
            //不使用高清语音
            let voice = await segment.record(url)
            e.reply(voice)
        }

另外就是 要顺便注释掉或者删掉原来实现语音发送的部分 具体来讲就是:
131行开始

            if (yykg == 1) {
                let msg2 = await uploadRecord(wb[Number(z)], 0, false)
                e.reply(msg2)

            } else {
                let msg2 = await segment.record(wb[Number(z)])
                e.reply(msg2)


            }

336行开始

        if (yykg == 1) {
            let msg2 = await uploadRecord(wb[Number(i - 1)], 0, false)
            e.reply(msg2)

        } else {
            let msg2 = await segment.record(wb[Number(i - 1)])
            e.reply(msg2)

        }