(message: Api.Message)
| 672 | } |
| 673 | |
| 674 | private isAdContent(message: Api.Message): boolean { |
| 675 | const text = (message.text || message.message || "").toLowerCase(); |
| 676 | const fileNameAttr = message.video?.attributes.find((attr: any): attr is Api.DocumentAttributeFilename => attr instanceof Api.DocumentAttributeFilename); |
| 677 | const fileName = (fileNameAttr?.fileName || "").toLowerCase(); |
| 678 | return this.config.adFilters.some(filter => text.includes(filter) || fileName.includes(filter)); |
| 679 | } |
| 680 | |
| 681 | private selectRandomVideo(videos: Api.Message[]): Api.Message { |
| 682 | return videos[Math.floor(Math.random() * videos.length)]; |
no outgoing calls
no test coverage detected