classroom-monitor-bot
classroom-monitor-bot copied to clipboard
[Feature] Add channel specific message filter
Say suppose if a channel was created for sharing job opportunities. People tend to send irrelevant or spammy messages there (by mistake also) So the task is to build a system that will check specific keywords in a message like in this case [internship, job, intern], etc. If the message contains the keywords then only it will be sent to the channel else will be deleted. This will confirm the purpose of the channel.
Hello 👋, Thank you very much for raising an issue 🙌. The maintainers will get back to you soon for discussion over the issue!
If you would like to continue contributing to open source and would like to do it with an awesome inclusive community, you should join our Discord Server- we help and encourage each other to contribute to open source little and often 🤓 . Any questions let us know.
I'd say you should first be sure how you want to get the black/whitelist with words.
- These Wordlists need to stored in a database together with the channelID
- Then you need the
onMessage
Event and check for the channel which the message got sent in - If there is a entry for the channelID in the database you have to get your wordlist
- validate your message against the wordlist from the database
The keything here I believe is how you want to create your wordlist for allowed/disallowed words and how you want to get them into your db
I guess we are not adding DB as of now. (We can always try but). The idea is like we will add a allow list and if the user message has any of the words from the allowlist we will do nothing but if there isn't any word matching we will delete that message. Also, this bot is dedicated to only 2 servers. Should we still go for DB?
It depends. When not using a database you cant add channels dynamically. You would probably have to hardcode your channelIds which I definitely wouldnt do, or store it in-memory. Storing it in-memory would mean that after a reboot all data is lost. I htink thats a thing you have to decide.
Umm. You are correct. :thinking: I will get back to you on your dm's or here when I figure out what approach could be followed.
Hey @Cahllagerfeld your idea of DB was great. We will use DB for that. Let me know when you are free in my DM's then we can pair on it. As it's bit difficult for me alone