Giter Site home page Giter Site logo

wemakedevs / classroom-monitor-bot Goto Github PK

View Code? Open in Web Editor NEW
62.0 62.0 54.0 1.37 MB

Home Page: https://kaiwalyakoparkar.github.io/classroom-monitor-bot/

License: MIT License

Shell 0.49% JavaScript 99.42% Procfile 0.10%
bot discord-js hacktoberfest

classroom-monitor-bot's Introduction

We Make Devs - Empowering developers to achieve their potential.

GitHub issues GitHub forks GitHub stars GitHub license

About Us

Our community provides a variety of FREE hands-on computer science training and workshops designed to help individuals develop practical skills through hands-on learning experiences. We are committed to fostering an inclusive and supportive environment where everyone can learn and grow. Our "Learn by doing" approach means that you will have the opportunity to actively engage with the material and put your newly acquired skills into practice.

What is WeMakeDevs?

We believe that every individual, regardless of their educational background and technical knowledge, possesses the potential to achieve great heights. Our initiative is founded on this very belief.

WeMakeDevs provides hands-on training courses and mentorship for free, along with a wealth of resources to help you start your journey, including roadmaps, podcasts, blogs, and events.

What do we provide?

๐Ÿ‘จโ€๐Ÿ’ป We Make Devs

Visit our website.

What stack is WeMakeDevs built on?

React JavaScript Docker Kubernetes HTML5 CSS3

Connect with us

Contribute

We welcome contributions in our community.
Before making a contribution, check the Contribution guide.

Code of Conduct

Check out the Code of Conduct to know an inclusive environment that respects all contributions.

License

This Community is Licensed under MIT license.

๐Ÿš€ Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

๐Ÿงพ Prerequisites

Before starting, you need to install the following on your computer.

NodeJS

Git

NPM

๐Ÿ› ๏ธ Installation

  1. Fork the repo
  2. Clone the repository git clone https://github.com/WeMakeDevs/wemakedevs.git
  3. Run cd wemakedevs to change the working directory
  4. Run npm ci Or npm clean-install to install all dependencies
  5. Run npm start to start the application
  6. Visit http://localhost:3000 to view the application

Thanks to all the contributors โค๏ธ

classroom-monitor-bot's People

Contributors

akash190104 avatar amrutha1101 avatar bobychaudhary avatar ciggzy1312 avatar ctnkaan avatar dhansal avatar fi-krish avatar genzyy avatar guptasajal411 avatar iamv1n avatar induviduality avatar itsmeishan avatar jayesh-srivastava avatar juuz0 avatar kaiwalyakoparkar avatar kkhitesh avatar panquesito7 avatar shuklaritvik06 avatar sidd-oo avatar siddhant-khisty avatar tan-shadow avatar unnikrishnan2002 avatar varunsathreya avatar venusaim23 avatar vishalda avatar vovw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

classroom-monitor-bot's Issues

[Bug] edTech word list too small

We are against scammy edTech startups. We want to avoid people talking about it in the community. The warning system is implemented but the library is very small. The task is to add more words to list so it becomes more flexible.

[Bug]: Typo in `restrictedWords.js`

Describe the bug

Classroom monitor is written as Classroon monitor

To Reproduce

  1. Go to Commands/restrictedWords.js
  2. Check line no. 7

Expected Behavior

It should be Classroom monitor

Screenshot/ Video

image

Desktop (please complete the following information)

No response

Additional context

I am opening a pull request for this soon

[FEATURE] Add the Gitpod ready-to-code system

Is your feature request related to a problem? Please describe.

Adding the Gitpod ready-to-code system will make the process of compiling much easier in just a single click.

This is very useful when you want Gitpod to run npm commands quickly for you and run the whole project quickly. It's much better than cloning the repository, reading the readme, installing the necessary tools, etc....

Describe the solution you'd like

Setup the Gitpod ready-to-code system. I already know how to set it up. It is just by creating a PR, configuring it, and giving Gitpod access to this organization. ๐Ÿ™‚

Describe alternatives you've considered

The user can do it locally, but by using Gitpod it will skip many steps and it helps to make everything quicker.

Additional context

I would like to work on this. It's very easy to set it up. ๐Ÿ˜„

[Bug] Broken Image link

Describe the bug

A clear and concise description of what the bug is :
In the Readme.md file, the image link for 8th step for Setting Up the bot in local Environment is broken.

Screenshots

Screenshot_20210726-090739_Chrome

[Feature]: Importing commands to index.js needs to be changed

Is your feature request related to a problem? Please describe.

So if a command is added we'll have to use const command = require( 'commands/command' )
This is will be bad once the code starts growing

Describe the solution you'd like

there is a better way to add commands, like this we'll have to add every single command with const ... = require(...)
instead what we can do is

const commandFiles = fs
    .readdirSync('./commands/')
    .filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
    const command = require(`./commands/${file}`);

    client.commands.set(command.name, command);
}

then use

client.on( 'message',  msg => {
    if (
        !message.content.startsWith(prefix) ||
        message.author.bot ||
        message.channel.type == 'dm' // this solves one of the issue that i have raised
    )
        return; 

  const args = message.content.slice(prefix.length)
  const command = args.shift().toLowerCase();  
  
  else if ( command == "/command/" ) client.get(/command/).execute(msg, args, Discord)
  // same for other commands
})

Describe alternatives you've considered

No response

Additional context

No response

[Feature]: Add warnings for when non inclusive words are used.

Is your feature request related to a problem? Please describe.

No response

Describe the solution you'd like

Currently we are using just carl bot to ask people only to refrain from using the word 'guys'. The classroom monitor can be configured to display a message saying something like "This word is not promoting inclusivity. Please use a inclusive word"
Possible words to warn for are as follows:
'guyz',
'guys',
'guyzz',
'bruh',
'duude',
'women',
'sir',
'sirr',
'man',
'fellas',
'madam',
'maam',
"ma'am",
'yessir',
'chad',
'simp',
'mate',

Describe alternatives you've considered

No response

Additional context

No response

[Feature] Detect when someone tags supreme mentor for no reason and issue a warning

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
A lot of people just tag kunal for asking the simplest of doubts, this can be really disturbing.

Describe the solution you'd like

A clear and concise description of what you want to happen.
Just detect his name and issue a warning if someone does this. After multiple warnings something could be done.

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.
We could have a centralized naughty list where we keep count of all infractions and could ban people if it increases a certain amount. But this should probably be a new issue in itself.

[Bug]: Small typo in README file

Describe the bug

Small typo in the README file

To Reproduce

No response

Expected Behavior

It should be Local

Screenshot/ Video

imageedit_1_9030410858

Desktop (please complete the following information)

No response

Additional context

No response

[Feature] English restriction to be added

People sometimes start talking in their native language which is not understood by all and hence suppresses the aim of inclusiveness. The bot should have some feature to restrict use of external words.

[Bug]: Profane error for word 'Just'

Describe the bug

When the word Just is said, monitor gives a profane language warning

To Reproduce

Type Just with bot in your server

Expected Behavior

No error should be thrown for 'Just'

Screenshot/ Video

No response

Desktop (please complete the following information)

No response

Additional context

No response

[Bug]: `cm!dsa` command not working

Describe the bug

The bot does not respond with an embed with typed cm!dsa

To Reproduce

  • Go to community classroom server
  • Go to #bot-spam
  • type cm!dsa

Expected Behavior

It should return the embed present in Commands/DSA.js file

Screenshot/ Video

No response

Desktop (please complete the following information)

No response

Additional context

No response

[Feature] Warning for profane language

As a community being inclusive is important and language plays a big role in keeping a community inclusive. Feature request to warn people for not using English or using profane or slangs in the chat.

[Feature] Word restriction

Implementing a block list with words related to other edTech startups/firms. If a message sender sends any word among this bot will raise and warning until the message is updated

[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.

[Bug] Label action not working on dev branch

The recent label action which was added does not support the dev branch. Either dev branch should be added to the array of allowed branches or should be made available for all branches

[Bug] Readme

Describe the bug

This bot is reserved for functionalities offered for community classroom community.

In the readme, there's community doubled in one sentence.

If its intentional feel free to close the issue

[Feature]: Adding a command which provides you with the GitHub repository link

Is your feature request related to a problem? Please describe.

No response

Describe the solution you'd like

Making a simple cog like cm!code or cm!source which gives the GitHub repository link for the classroom-monitor-bot would be pretty useful in long term .

Describe alternatives you've considered

No response

Additional context

No response

[Doc] Update Readme with commit example

Add conventional commit guidelines

The project uses conventional commits specifications, but that isn't very known among beginners.
Adding an example commit message would help greatly.

Check List (Check all the boxes which are applicable)

  • Information addition regarding the newest change through a PR
  • Typo error.
  • New category addition.
  • Refractoring sentences that make more sense.
  • Fixing broken links.
  • Refractors / reformating of the document.

[Feature]: Migration to slash commands

Is your feature request related to a problem? Please describe.

No response

Describe the solution you'd like

No response

Describe alternatives you've considered

No response

Additional context

No response

[BUG] Add `remain` to the whitelist

Describe the bug

remain is something we should add to the whitelist, this is not a problem. ๐Ÿ™‚

If you already forked this repository, skip to step 3

  1. Fork the repository here
  2. Go to the config.json file (make sure you're in your fork!).
  3. Change the line 47 to the following content:
            "special",
            "remain"
  1. Time to make your PR! Once you make it, the maintainers will review it and merge it if all is good. ๐Ÿš€
    Do let us know if you need any help! Feel free to make a comment here or ask via our Discord community. ๐Ÿ™‚

[Feature] Add a centralized penalty tracking list ๐ŸŽ…

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
We already have certain rules in place and will have more in the future. Issuing warnings is useless if we don't take any action against the repeat offenders.

Describe the solution you'd like

A clear and concise description of what you want to happen.
I actually don't know how discord bots work (will have to learn ๐Ÿ˜ƒ) but I guess if we could have like a central file or maybe even a DB where we update a users infraction score whenever he commits one we could frustrate them.

[Feature] Add description/status to the bot

Many bots have a Listening to !help kind of status which helps user to navigate and get familer with bot. Currently it is not present in Classroom monitor. Task is to set up status for bot.

[Bug] Typo in the pull request template

Describe the bug

A clear and concise description of what the bug is:

There is a typo in the pull request template.
In the 5th checklist under the Check List (Check all the boxes which are applicable) part. It must be plagiarized instead of plagarised.

To Reproduce

Steps to reproduce the behavior:

  1. Go to here.
  2. Check the 5th checklist.
  3. See the typo

Screenshots/ Video

If applicable, add screenshots to help explain your problem.

Capture

[Bug] Deleting user's messages

Current Scenario

When a person talks about an edTech startup then the bot warns him in public and private.

Required Scenario

When a person talks about an edTech startup then both warn him in public and private and also delete's him/her/their message.

[Doc] Add Docasaurus or Docsify

Need to add the following features

  • Community information page
  • Command listing page (separating in categories when commands grow)
  • Community and contributing guidelines.

[Bug]: Bot message for profane words is unclear

Describe the bug

Whenever a person uses a profane word the bot replies with Please do not use profane language ๐Ÿšซ. If you think I did a mistake dont worry I am still under development, tag Community Manager and report this ๐Ÿท๏ธ. message which brings confusion among the new members in the community.

To Reproduce

  1. Go to any channel is Community Classroom Discord Server.
  2. Type guys, god and it will generate similar message for both

Expected Behavior

It should tell the user which word was not appropriate to use and give them alternative suggestions for that word

Screenshot/ Video

Bug image

Desktop (please complete the following information)

No response

Additional context

No response

[Feature] To add an automated response for frequently asked questions.

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
A lot of people ask the same question 346346557 times a day. Eg: What should I do if I learned C++ instead of java.
Create an automated response functionality will be easier for all.

[Bug] The bot isn't recognizing edTech names due to different letter case.

Describe the bug

The list for edTech startups in restrictedWords.js is small and the bot isn't picking up some words in conversation due to the letter case. The bot recognizes "code for cause" as an edTech name but doesn't recognize "Code for cause" due to different letter case.

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'restrictedWords.js'
  2. Add more edTech names to the words array and some modifications for pre-existing edTech names.

Expected behavior

The bot will be able to recognize more edTech names irrespective of different letter case

[Feature]: Hindi and English translation

Is your feature request related to a problem? Please describe.

I'm thinking of adding a Hindi to English and English to Hindi translation feature if this feature is not already implemented.
I thought about this feature because the community is mainly made out of Indian students and even though everyone speaks English 95% of the time it might help non Hindi speakers 5% of the time.

It might also help Indian students for translating English to Hindi for specific times.

Describe the solution you'd like

I'm thinking of using a third party library called translate
https://www.npmjs.com/package/translate

Describe alternatives you've considered

No response

Additional context

No response

[Doc] Enhance Readme documentation

Add the following to the readme

  • Logo of community
  • Greeting
  • Contributor guideline
  • commands available
  • purpose
  • socials
  • contributors list

[Bug]: Profane Warning on wrong words

Describe the bug

The bot is throwing profane warnings for words which are not profane.
In order to solve this error:

  1. Monitor the discord chat and make a list of words which are non profane but a warning is being thrown.
  2. Add the words which you have found to the allow list in Config.json

Words that have been found up till now:
simple
simply
fellowship
guys
ball
Obviously
white
black
crashes
crash
Host

[Doc] Update README file with the contributors list.

We need to add a 'Contributors List' section in the README file where the names of all the current contributors should be displayed. The names should be a link that will direct any user to the contributor's GitHub profile.

[Bug] Wrong command on README.md

Describe the bug

Wrong command to create new git branch on README.md

Output:
error: unknown switch `b'

To Reproduce

Steps to reproduce the behavior:
Change 'git branch -b (your-branch-name)' to 'git checkout -b (your-branch-name)'

Expected behavior

Create a new branch and move into it

Screenshots/ Video

CommandError

[Feature]: Add Cucumber tests

Is your feature request related to a problem? Please describe.

There are no tests to check the authenticity and integration of the pull requests

Describe the solution you'd like

Writing cucumber tests to ensure the ci and cd

Describe alternatives you've considered

No response

Additional context

No response

[Bug]: Bot not capturing edtech startups

Describe the bug

No response

To Reproduce

No response

Expected Behavior

No response

Screenshot/ Video

No response

Desktop (please complete the following information)

No response

Additional context

No response

[Feature]: Reddit Programmer Memes

Is your feature request related to a problem? Please describe.

We have a memes channel in the Discord server. I think it would be fun to have a command so the bot can send memes from r/programmerhumor. Specially r/programmerhumor because some memes from other subreddits have a chance to be offensive.

Describe the solution you'd like

I already have a working demo of a Discord Reddit Bot using meme.js

https://www.npmjs.com/package/memejs

Describe alternatives you've considered

I did not think of any alternatives since I already have a demo.

Additional context

Here is the Demo

image

[Feature]: A command that pulls up instructions for asking code related help.

Is your feature request related to a problem? Please describe.

A lot of people while asking for code-related questions use images of their code that are barely visible or they simply copy-paste their code in the channel chat which becomes very hard to debug due to weird formating.

Describe the solution you'd like

A command that pulls up all the instructions to follow while asking code-related questions. A command that tells how to use code-snippet feature from discord or use code-sharing services like repl.it, JSfiddle, codepen, etc

Describe alternatives you've considered

No response

Additional context

No response

[Bug]: Add Chinese, Japanese and American to the allowed list

Describe the bug

Add Chinese, Japanese and American to the allowed list

To Reproduce

No response

Expected Behavior

No response

Screenshot/ Video

No response

Desktop (please complete the following information)

No response

Additional context

No response

[Bug] Change prefix to " cm! "

The current prefix to call bot is cc! which does not match with the initials of the bot. Task is to change the prefix to cm! so that it matches the initials of the bot.

[Bug] Commands reply have old `cc` form

Recently bot initial was changed from cc to cm (Ref. ). But the bot replies still have cc written in them. The task is to go through bot commands and change wherever cc is written with cm.
Eg:
Just cc!help away to
Just cm!help away

[Feature]: Add Scam Detection

Is your feature request related to a problem? Please describe.

Scam malwares are increasing in Discord. These scam malwares basically transform users to bots. These infected users are then made to send infectious links to multiply them selves to all channels with @everyone tag.

Describe the solution you'd like

These scam links are always the same. I have been gathering some data about their patters. A simple if code to detect if the link has been sent can detect and remove the messege.

Describe alternatives you've considered

Did not think of any other alternative solutions.

Additional context

No response

[Bug]: Profane warning for 'Class'

Describe the bug

The bot sends a profance word warrning for the word 'Class'.

To Reproduce

Type 'Class' with Community Monitor in your server.

Expected Behavior

No response

Screenshot/ Video

No response

Desktop (please complete the following information)

No response

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.