classroom-monitor-bot icon indicating copy to clipboard operation
classroom-monitor-bot copied to clipboard

[Feature] Add channel specific message filter

Open kaiwalyakoparkar opened this issue 3 years ago • 6 comments

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.

kaiwalyakoparkar avatar Jul 25 '21 03:07 kaiwalyakoparkar

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.

github-actions[bot] avatar Jul 25 '21 03:07 github-actions[bot]

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

Cahllagerfeld avatar Jul 25 '21 08:07 Cahllagerfeld

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?

kaiwalyakoparkar avatar Jul 25 '21 09:07 kaiwalyakoparkar

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.

Cahllagerfeld avatar Jul 25 '21 09:07 Cahllagerfeld

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.

kaiwalyakoparkar avatar Jul 25 '21 09:07 kaiwalyakoparkar

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

kaiwalyakoparkar avatar Jul 26 '21 07:07 kaiwalyakoparkar