Giter Site home page Giter Site logo

microsoftstudentchapter / hack-o-bot Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 12.0 3.1 MB

Hack-O-Bot is MLSC's own Open Source Repository for HacktoberFest based on Discord.py

License: MIT License

Shell 0.27% Python 99.04% Procfile 0.10% Dockerfile 0.59%
hacktoberfest discord python3 discord-bot discord-py contributions-welcome open-source hacktoberfest22

hack-o-bot's Introduction

Hack-O-Bot

Table of Contents

Introduction

A discord bot that allows you to run fun commands all over discord, developed by the community for the community. To start working on the bot, you can read the contributing guidelines and make sure you have the latest version of python installed. Make sure you have the latest version of pip installed as well as git.

For a basic introduction to the bot, you can read the documentation.

Features

Anything you would want in a discord bot, we want it too. From moderation to fun commands, we accept it all. Some basic commands are given in the Issues Section. If you want to add a command, you can make a pull request, and we will review it. Make sure to put admin role requirements in the code, so that only admins can use server centric commands such as ban or kick. Treat the role "Admin" as the admin role. Write descriptive help fields for the commands, so that the user knows what the command does.

Installation

Install all the dependencies using the following command:

pip install -r requirements.txt

Running the Bot Locally

Locally

First, you will need at least Python 3.8.

Clone the repo:

$ git clone https://github.com/MicrosoftStudentChapter/Hack-O-Bot
$ cd Hack-O-Bot

Install dependencies:

$ pip install -r requirements.txt

Rename the .env.example to .env and fill out the fields. If .env.example is nonexistent (hidden), create a text file named .env and copy the contents of .env.example then modify the values.

Finally, start the bot.

$ python discord_main.py

Commands

Here is a list of all the commands that the bot has:

Fun commands

Command Description
.8ball Use the magic 8 ball to get a random answer
.roll Roll a n sided die
.horoscope Get your horoscope for today based on your discord birthday
.emoji Emoji-fy your text
.github Get information about a random Github Repository
.dog Send an adorable dog image, optionally with a specified breed
.cat Send a cute cat image, optionally with some text!
.duck Send a random duck image!
.richest Get information about the richest person according to the Forbes list

Moderation commands

Command Description
.ban Ban a user from the server
.kick Kick a user from the server
.unban Unban a user from the server
.timeout Restricts a User from sending messages for some time
.addrole Gives specified roles to the provided members
.server_info Basics information about the server

Image manipulation commands

Command Description
.wanted Make yourself the most wanted person in all of the wild west

Utility commands

Command Description
.ping Get the bot's latency
.help Get help with the bot
.invite Get the bot's invite link
.enable Enables Different Categories Access: Administrator
.disable Disables Different Categories Access: Administrator
.about Get the info about Hacktoberfest and MLSC's contribution to it
.contributors Get the info about the contributors

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Pull requests will be on a first come first serve basis. Please make sure to update tests as appropriate.

License

MIT

hack-o-bot's People

Contributors

90r1ll4 avatar aadi-1024 avatar adityapathakk avatar aryan-401 avatar ave-eren avatar ayushi8989 avatar kidesleo avatar ojashkush avatar sagamantus avatar satyamrs00 avatar yashxa avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

hack-o-bot's Issues

Add .horoscope command

.horoscope

Public API Resource

https://aztro.readthedocs.io/en/latest/

Description

The API retrieves daily horoscopes for yesterday, today, and tomorrow. It requires name of sign like aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius and pisces.

Make different types of jokes

Create at least 2 new commands which use APIs to make jokes. The categories of the jokes should be different. For example knock knock jokes and puns

Moderation COG

Create a moderation.py COG and enable the admins to Ban/Unban/Kick/Mute members. Keep as many kargs as permissible with default values.

Fun COG

Write a COG for Fun commands and create one that will make everyone laugh! Use your creativity to have fun

Enable the use of COGs for the Discord-Bot

Right Now, the bot only uses a single file to store commands. Let's expand that for a more versatile codebase that is organized. Integrate COG access into the bot and create a new file, fun.py with an 8ball command.

Error Handling

In the discord_main.py file, create a catch-all error using the on_command_error to alert the user whenever they input the arguments with proper fixes

Introduce the Project with a Command

Create a command explaining the project's purpose and how open source is the future :)
Make sure it captures the emotion behind Hacktoberfest

Create a Ping Command

Create a Ping command for the bot to return the about of latency in milliseconds. Display it in an Embed

Display About Server Command

In cogs/moderation.py, create a command which shows basic details about the server the command is run in. This should include, but is not limited to:

Name of server
When It was created
How many members
How many roles have been used (out of 250)
How many channels have been used up (Both Voice and Text)

Add commands list in readme

I think we should add a table of available commands in readme so that anyone suggesting a new command doesnt suggest a duplicate

also it will be good to keep track of the commands

Add a single Role to multiple People

Create a command in moderation.py that allows an admin to give multiple roles (separated by spaces) to a single User. Make sure the permissions allow only admins and users with manage roles permission to access it

Improve the Fun Cog

Add commands to see pictures of dogs, cats, and ducks using publicly available free APIs.

Send the prefix of the bot whenever it is Tagged

allow the bot to send its prefix in an embed when it is tagged.
Note: It will only send its prefix when the only content of the message is the Tag. If any other text follows, the bot will not return anything.

Add a contributors command

Create a command in discord_main.py to display everyone who has contributed to the discord bot. Also, link their Github Profiles

Custom Help Command

The default Help command is so boring, let's bring life to a new one using embeds and the CustomHelpCommand class. Create help commands for commands and cogs

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.