Giter VIP home page Giter VIP logo

bics-bot's Introduction

๐Ÿ’ซ About Me:

๐Ÿ’ฌ Recent Computer Science graduate with a passion for building autonomous robots ๐Ÿค–. Enthusiastic about technology and innovation. Incoming Master's student in Information and Computer Science at the University of Luxembourg. Skilled in FPV drone flying and open-source software development. Eager to contribute expertise to cutting-edge projects.
๐Ÿ”ญ Iโ€™m currently working on the Perceptron Bot
๐ŸŒฑ Iโ€™m currently learning Rust
โšก Love playing with robots and electronics

๐ŸŒ Socials:

LinkedIn Twitter Portfolio

๐Ÿ’ป Tech Stack:

C C++ Lua Markdown Python Rust Java HTML5 JavaScript Shell Script Notion LINUX Arduino Docker

๐Ÿ“Š GitHub Stats:



โœ๏ธ Dev Quote


bics-bot's People

Contributors

jjayxi avatar joao8bit avatar pedros235 avatar umutucak avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

maartman

bics-bot's Issues

New command for Courses selection

Currently, the bot as no command to give the users the ability to allow them to choose specif courses. Instead, they can see every channel of their current year.

The idea is to make use of the Select view to list the available courses and let users choose the course channel they want to see. The bot's job is to then assignt to the user the permission to view the desired courses channels

/intro command issue

When an Incoming student chooses the option incoming, it is being assigned to erasmus.

File System Path Relativity

All the file structure paths in the code are relative to the directory the user who is calling bot.py is in. We would like it to be relative to the directory the file is in.

You can get the file's directory with this code: dirname = path.dirname(__file__)

Task:

  • Update all parts of the code where we use paths to use this new format.

Add a program argument to decide which bot token to pick

Currently, in case you want to test with different bots, the main or the clone, you need to manually change the variable name, or give the token directly to the bot in the main.py. The idea here is to pass an argument when executing main.py such as python main.py -clone so the program knows that the token to be used is the token from the bot clone. This can be easily achieved by using the argparse python library.

Developer start-up guide

To allow for more contribution there should be a start-up guide for interested developers. Something along the lines of this: https://www.pythondiscord.com/pages/guides/pydis-guides/contributing/bot/.

The main steps/tasks are the following:

  • Create a test server template (a link to create a minimal mirror of the BiCS server that developers can use to test. It must include channels, roles, and any other element that is used by the bot)
  • Create a default config file containing IDs that can be copied and overridden by developers with their own IDs for guilds, channels, etc.
  • Create a README containing the steps needed to setup the dev environment. This includes starting the test server, creating and inviting a bot, altering the config, creating a .env file, and the git workflow (forking, pull requests, etc.).

More Detailed README File for Presentation

We can improve the README file for a better description of what the bot is and what the bot does.

Things to mention:

  • How to use the bot. (in regards to the Discord server. for example; in which chat should the bot be used)
  • What the commands do.

Create a python package

Currently the files are not very well organized. So the idea is to create a python package so that we are able to import all files from anywhere for example. This can be done using python setuptools.

Selective (Un)enrollment Menu

We want to show to the student only the courses they can enroll to/unenroll from. For example:

  • If the student is enrolled in bsp-1 and they use /enroll, they should not be able to enroll to bsp-1 again.
  • If the student is enrolled in bsp-1 and they use /unenroll, they should only be able to unenroll from bsp-1.

Update the year roles of the users.

Currently, the only way of getting the year role is by using the /intro command. Nevertheless, this command only works one time, and it's only when a new user arrives at the server. Thus, the idea will be to implement a new command from which we can upgrade the year, such as /update_year. This can be done similar to the command /intro for instance.

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.