mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
feat: support setting remark when agreeing to a friend request
This commit is contained in:
parent
c2a723380a
commit
2c24422478
@ -42,13 +42,7 @@ export class NTQQFriendApi extends Service {
|
||||
return _friends
|
||||
}
|
||||
|
||||
async handleFriendRequest(flag: string, accept: boolean) {
|
||||
const data = flag.split('|')
|
||||
if (data.length < 2) {
|
||||
return
|
||||
}
|
||||
const friendUid = data[0]
|
||||
const reqTime = data[1]
|
||||
async handleFriendRequest(friendUid: string, reqTime: string, accept: boolean) {
|
||||
const session = getSession()
|
||||
if (session) {
|
||||
return session.getBuddyService().approvalFriendRequest({
|
||||
@ -194,4 +188,10 @@ export class NTQQFriendApi extends Service {
|
||||
const ret = await invoke('nodeIKernelBuddyService/getBuddyRecommendContactArkJson', [{ uin }, null])
|
||||
return ret.arkMsg
|
||||
}
|
||||
|
||||
async setBuddyRemark(uid: string, remark: string) {
|
||||
return await invoke('nodeIKernelBuddyService/setBuddyRemark', [{
|
||||
remarkParams: { uid, remark }
|
||||
}, null])
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,16 @@ export default class SetFriendAddRequest extends BaseAction<Payload, null> {
|
||||
|
||||
protected async _handle(payload: Payload): Promise<null> {
|
||||
const approve = payload.approve?.toString() !== 'false'
|
||||
await this.ctx.ntFriendApi.handleFriendRequest(payload.flag, approve)
|
||||
const data = payload.flag.split('|')
|
||||
if (data.length < 2) {
|
||||
throw new Error('无效的flag')
|
||||
}
|
||||
const uid = data[0]
|
||||
const reqTime = data[1]
|
||||
await this.ctx.ntFriendApi.handleFriendRequest(uid, reqTime, approve)
|
||||
if (payload.remark) {
|
||||
await this.ctx.ntFriendApi.setBuddyRemark(uid, payload.remark)
|
||||
}
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
@ -112,8 +112,16 @@ async function handleMsg(ctx: Context, msg: OB11Message, quickAction: QuickOpera
|
||||
|
||||
async function handleFriendRequest(ctx: Context, request: OB11FriendRequestEvent, quickAction: QuickOperationFriendRequest) {
|
||||
if (!isNullable(quickAction.approve)) {
|
||||
// todo: set remark
|
||||
ctx.ntFriendApi.handleFriendRequest(request.flag, quickAction.approve).catch(e => ctx.logger.error(e))
|
||||
const data = request.flag.split('|')
|
||||
if (data.length < 2) {
|
||||
return
|
||||
}
|
||||
const uid = data[0]
|
||||
const reqTime = data[1]
|
||||
await ctx.ntFriendApi.handleFriendRequest(uid, reqTime, quickAction.approve).catch(e => ctx.logger.error(e))
|
||||
if (!isNullable(quickAction.remark)) {
|
||||
ctx.ntFriendApi.setBuddyRemark(uid, quickAction.remark).catch(e => ctx.logger.error(e))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user