fix: try to fix #732

This commit is contained in:
ikechan8370 2024-12-29 20:34:12 +08:00
parent 5f2b88851f
commit 11fb6f5281

View file

@ -399,7 +399,7 @@ export async function createServer () {
quotable: { quotable: {
user_id: _Bot.uin, user_id: _Bot.uin,
user_name: _Bot.nickname user_name: _Bot.nickname
}, }
} }
await connection.socket.send(JSON.stringify(messageData)) await connection.socket.send(JSON.stringify(messageData))
} }
@ -412,12 +412,12 @@ export async function createServer () {
user_id: item, user_id: item,
nickname: friend.nickname, nickname: friend.nickname,
group: { group: {
isGroup: false, isGroup: false
}, },
quotable: { quotable: {
user_id: _Bot.uin, user_id: _Bot.uin,
user_name: _Bot.nickname user_name: _Bot.nickname
}, }
} }
await connection.socket.send(JSON.stringify(messageData)) await connection.socket.send(JSON.stringify(messageData))
}) })
@ -443,43 +443,47 @@ export async function createServer () {
return request return request
} }
Bot.on('message', e => { Bot.on('message', e => {
e.message = e.message.map(item => { try {
if (item.type === 'at') { e.message = e.message.map(item => {
let user if (item.type === 'at') {
try { let user
user = e.group.pickMember(parseInt(item.qq)).card || e.group.pickMember(parseInt(item.qq)).nickname try {
} catch (error) { user = e.group.pickMember(parseInt(item.qq)).card || e.group.pickMember(parseInt(item.qq)).nickname
user = item.qq } catch (error) {
user = item.qq
}
return { ...item, text: user }
} }
return { ...item, text: user } return item
} })
return item const messageData = {
}) notice: 'clientMessage',
const messageData = {
notice: 'clientMessage',
message: e.message,
sender: e.sender,
group: {
isGroup: e.isGroup || e.group_id != undefined,
group_id: e.group_id,
group_name: e.group_name || e.bot.gl?.get(e.group_id)?.group_name || e.group_id
},
quotable: {
user_id: e.user_id,
time: e.time,
seq: e.seq,
rand: e.rand,
message: e.message, message: e.message,
user_name: e.sender.card || e.sender.nickname sender: e.sender,
} group: {
} isGroup: e.isGroup || e.group_id != undefined,
if (clients) { group_id: e.group_id,
for (const index in clients) { group_name: e.group_name || e.bot.gl?.get(e.group_id)?.group_name || e.group_id
const user = GetUser(index) },
if (user.autho == 'admin' || user.user == e.user_id) { quotable: {
clients[index].send(JSON.stringify(messageData)) user_id: e.user_id,
time: e.time,
seq: e.seq,
rand: e.rand,
message: e.message,
user_name: e.sender.card || e.sender.nickname
} }
} }
if (clients) {
for (const index in clients) {
const user = GetUser(index)
if (user.autho == 'admin' || user.user == e.user_id) {
clients[index].send(JSON.stringify(messageData))
}
}
}
} catch (error) {
logger.debug(error)
} }
}) })
server.get('/ws', { server.get('/ws', {