Spoiler posts in spoiler tags
This commit is contained in:
@@ -3,6 +3,8 @@ import { LoggedMessage } from '../types';
|
||||
|
||||
export const ARRAY_SEPARATOR = '$';
|
||||
|
||||
const spoilerRegex = new RegExp('\\|\\|((?:[\\S]| )+?)\\|\\|', 'gi');
|
||||
|
||||
export function serializeMessage(message: Message): string[] {
|
||||
const attachments = message.attachments.map(a => `${a.name}:${a.id}`);
|
||||
const stickers = message.stickers.map(s => `${s.name}:${s.id}`);
|
||||
@@ -40,4 +42,19 @@ export function isEdited(loggedMessage: LoggedMessage, newMessage: Message) {
|
||||
const { addedStickers, removedStickers } = getModifiedStickers(loggedMessage, newMessage);
|
||||
|
||||
return addedStickers.length > 0 || removedStickers.length > 0;
|
||||
}
|
||||
|
||||
export function isInSpoilerTags(content: string, index: number): boolean {
|
||||
if (!content.includes('||')) return false;
|
||||
|
||||
let match: RegExpExecArray | null;
|
||||
while ((match = spoilerRegex.exec(content)) != null) {
|
||||
if (index >= match.index && index <= spoilerRegex.lastIndex) {
|
||||
spoilerRegex.lastIndex = 0;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
spoilerRegex.lastIndex = 0;
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user