mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 15:34:13 +00:00 
			
		
		
		
	revert refactor and cleanup
This commit is contained in:
		
							parent
							
								
									26f8919432
								
							
						
					
					
						commit
						cf317da244
					
				
					 1 changed files with 26 additions and 25 deletions
				
			
		| 
						 | 
					@ -5,20 +5,16 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import type { Note, MeDetailed } from "misskey-js/entities.js";
 | 
					import type { Note, MeDetailed } from "misskey-js/entities.js";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// TODO: this implementation is horribly inefficient.
 | 
					 | 
				
			||||||
// Each regex is validated (using a regex, ironically), transformed, and then parsed - for each note being checked.
 | 
					 | 
				
			||||||
// These regex objects should be cached somewhere.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export function checkWordMute(note: Note, me: MeDetailed | null | undefined, mutedWords: Array<string | string[]>): boolean {
 | 
					export function checkWordMute(note: Note, me: MeDetailed | null | undefined, mutedWords: Array<string | string[]>): boolean {
 | 
				
			||||||
	// 自分自身
 | 
						// 自分自身
 | 
				
			||||||
	if (me && (note.userId === me.id)) return false;
 | 
						if (me && (note.userId === me.id)) return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (mutedWords.length < 1) return false;
 | 
						if (mutedWords.length > 0) {
 | 
				
			||||||
 | 
					 | 
				
			||||||
		const text = getNoteText(note);
 | 
							const text = getNoteText(note);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (text === '') return false;
 | 
							if (text === '') return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return mutedWords.some(filter => {
 | 
							const matched = mutedWords.some(filter => {
 | 
				
			||||||
			if (Array.isArray(filter)) {
 | 
								if (Array.isArray(filter)) {
 | 
				
			||||||
				// Clean up
 | 
									// Clean up
 | 
				
			||||||
				const filteredFilter = filter.filter(keyword => keyword !== '');
 | 
									const filteredFilter = filter.filter(keyword => keyword !== '');
 | 
				
			||||||
| 
						 | 
					@ -40,6 +36,11 @@ export function checkWordMute(note: Note, me: MeDetailed | null | undefined, mut
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (matched) return true;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function getNoteText(note: Note): string {
 | 
					function getNoteText(note: Note): string {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue