feat: add sender nickname in wxpusher

pull/90/head
moonrailgun 2 years ago
parent 298550c862
commit 5b238bf860

@ -9,8 +9,12 @@ import {
} from '@typegoose/typegoose';
import { Base, TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
import type { Types } from 'mongoose';
import type { InboxStruct } from 'tailchat-server-sdk';
import { User } from '../user/user';
/**
* @deprecated use InboxStruct directly
*/
interface InboxMessage {
/**
* Id
@ -24,6 +28,11 @@ interface InboxMessage {
messageId: string;
/**
*
*/
messageAuthor: string;
/**
* /
*/
@ -70,7 +79,7 @@ export class Inbox extends TimeStamps implements Base {
*
*/
@prop()
payload?: InboxMessage | object;
payload?: InboxStruct['payload'];
/**
*

@ -79,6 +79,7 @@ export interface MessageInboxItem extends BasicInboxItem {
groupId?: string;
converseId: string;
messageId: string;
messageAuthor: string;
messageSnippet: string;
messagePlainContent?: string;
};

@ -49,11 +49,20 @@ class WxpusherService extends TcService {
const message = inboxItem.payload;
let title = 'new';
const senderInfo = await call(ctx).getUserInfo(message.messageAuthor);
if (message.groupId) {
const groupInfo = await call(ctx).getGroupInfo(message.groupId);
title = `来自群组: ${groupInfo.name}`; // 因为wxpusher插件仅适用于中国大陆因此仅需要中文即可
const [groupInfo] = await Promise.all([
call(ctx).getGroupInfo(message.groupId),
]);
title = `[群组] ${groupInfo.name}${senderInfo.nickname}`; // 因为wxpusher插件仅适用于中国大陆因此仅需要中文即可
} else {
title = `[私信] ${senderInfo.nickname}`; // 因为wxpusher插件仅适用于中国大陆因此仅需要中文即可
}
const content = message.messagePlainContent ?? message.messageSnippet; // 优先使用去节点的内容
const content = `${senderInfo.nickname}: ${
message.messagePlainContent ?? message.messageSnippet
}`; // 优先使用去节点的内容
try {
await this.sendMessage(userId, [title, content].join('\n'));

Loading…
Cancel
Save