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
|
return _friends
|
||||||
}
|
}
|
||||||
|
|
||||||
async handleFriendRequest(flag: string, accept: boolean) {
|
async handleFriendRequest(friendUid: string, reqTime: string, accept: boolean) {
|
||||||
const data = flag.split('|')
|
|
||||||
if (data.length < 2) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
const friendUid = data[0]
|
|
||||||
const reqTime = data[1]
|
|
||||||
const session = getSession()
|
const session = getSession()
|
||||||
if (session) {
|
if (session) {
|
||||||
return session.getBuddyService().approvalFriendRequest({
|
return session.getBuddyService().approvalFriendRequest({
|
||||||
@ -194,4 +188,10 @@ export class NTQQFriendApi extends Service {
|
|||||||
const ret = await invoke('nodeIKernelBuddyService/getBuddyRecommendContactArkJson', [{ uin }, null])
|
const ret = await invoke('nodeIKernelBuddyService/getBuddyRecommendContactArkJson', [{ uin }, null])
|
||||||
return ret.arkMsg
|
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> {
|
protected async _handle(payload: Payload): Promise<null> {
|
||||||
const approve = payload.approve?.toString() !== 'false'
|
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
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -112,8 +112,16 @@ async function handleMsg(ctx: Context, msg: OB11Message, quickAction: QuickOpera
|
|||||||
|
|
||||||
async function handleFriendRequest(ctx: Context, request: OB11FriendRequestEvent, quickAction: QuickOperationFriendRequest) {
|
async function handleFriendRequest(ctx: Context, request: OB11FriendRequestEvent, quickAction: QuickOperationFriendRequest) {
|
||||||
if (!isNullable(quickAction.approve)) {
|
if (!isNullable(quickAction.approve)) {
|
||||||
// todo: set remark
|
const data = request.flag.split('|')
|
||||||
ctx.ntFriendApi.handleFriendRequest(request.flag, quickAction.approve).catch(e => ctx.logger.error(e))
|
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