-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGenderStarsApp.ts
29 lines (26 loc) · 1.15 KB
/
GenderStarsApp.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { IAppAccessors, ILogger, IConfigurationExtend } from '@rocket.chat/apps-engine/definition/accessors';
import { App } from '@rocket.chat/apps-engine/definition/App';
import { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata';
import { IPreMessageSentModify } from '@rocket.chat/apps-engine/definition/messages';
import { IMessage } from '@rocket.chat/apps-engine/definition/messages';
import { IMessageBuilder, IModify, IRead, IHttp, IPersistence } from '@rocket.chat/apps-engine/definition/accessors';
export class GenderStarsApp extends App implements IPreMessageSentModify {
constructor(info: IAppInfo, logger: ILogger, accessors: IAppAccessors) {
super(info, logger, accessors);
}
async executePreMessageSentModify(
message: IMessage,
builder: IMessageBuilder,
read: IRead,
http: IHttp,
persistence: IPersistence
):Promise<IMessage>
{
const pattern = /(\w)\*(in|In)/g;
const replacement = '$1\\*$2';
if (message.text && pattern.test(message.text)) {
message.text = message.text.replace(pattern, replacement);
}
return message;
}
}