rosalogia / rucs24-bot Goto Github PK
View Code? Open in Web Editor NEWA discord bot for the Rutgers Class of 2024 Computer Science server
License: MIT License
A discord bot for the Rutgers Class of 2024 Computer Science server
License: MIT License
Categorize the help command by cogs, new embed for each since we're approaching the embed limit
Just check the cog of each command and add it to the right embed
Add a command to search for books from libgen
Command to translate some text to a specified language, English by default
This Google Translate Python Library is probably more than enough to implement this feature
We should be able to save user quotes and retrieve them later
I got this one too, I'll proly just use json to save user quotes
Describe the bug
When the Rextester Code Execution Cog runs code whose output is multiple lines, the first line is always cut off.
To Reproduce
Steps to reproduce the behavior:
!exec
with some input that produces a multiline output such asfor i in range(10):
print(i)
Expected behavior
All lines of output should be displayed properly
This command should scrape the first page of results for a given search query and return the top result by default, or the top 10 if specified. This may be doable with some web scraping.
You never fixed it, the prompt still says "deisgned" lmfao
I got this one, I can just pull the commands from json and list them in an embed
A command that forwards input to the Wolfram Alpha computational engine and outputs computation results
The Wolfram Alpha API can be used to implement this feature.
Harder than tictactoe because it's not fully solvable and requires a heuristic
A feature wherein Bot Commanders can tell the bot about an upcoming event, and the bot will post a message in the announcements channel that says something along the lines of "React to this message if you plan to attend and receive reminders about it!"
Discord Timers can be used to make this relatively easy.
Describe the bug
The !joke command short-circuits (i.e. it cancels itself and must be re-invoked) if the immediate response to the set-up sent by the bot is not "?", even if the person responding is not the person who invoked the command.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The bot should respond with the punchline only if the user who invoked the command responds with "?" rather than expecting a response from anyone in the server.
Potential Solution
The wait_for
Discord.py function has a parameter called check, which is a function that takes the [in this case[ message object as input and returns a boolean as output. If a check function is provided, the wait_for function will only return if the check function, given the message object as input, returns True. Thus, a check that looks at the message.author.id
property and makes sure it is equal to ctx.author.id
would be sufficient.
This feature should allow us to store and categorise resources for developers and then display them in a channel. Users should be able to suggest additions to the resource store with a command.
EDIT: Some further context and guidance for handling this issue
This feature should implement the following commands:
!setresourcechannel <channel id>
should designate a given channel as the channel in which resources will be sent!setreviewchannel <channel id>
should designate a given channel as the channel in which suggested resources will be reviewed
Bot Commander
reacts with ✔️, the resource should be considered approved and be sent to the resource channel. If a Bot Commander
reacts with ❎, consider it rejected and discard it from the list of pending approvals.!suggestresource <resource name> <resource link> <resource description> <tags>
should take some basic information about a resource and send it to a review channel to be approved or rejected by Bot Commander
s.A simple discord.py bot hello world implementation will do
This command should take a block of code as input, parse the language, and pass it to the Rextester API accordingly. The bot should throw an error if the language specified does not exist.
Command to get some basic profile information about a user, such as their profile picture, their join-date, their roles, etc.
The music player functionality should primarily allow the user to play music from YouTube, as well as create playlists and keep track of which songs a user chooses to listen to most frequently. It should have a mode in which, once a song finishes playing, it autoplays the next song suggested by YouTube.
Music can be downloaded with youtube-dl. Searching and autoplaying might require some webscraping but should not be too difficult.
A set of features that allows users to create and store and view personal to-do lists and calendar events in Discord and gives them optional reminders or check-ins to make sure they don't forget about them.
Simple response of "course is open" or "course is closed" given a course index number, pulling from webreg API
Describe the bug
There are a few issues in the project structure related to the API cog, or more accurately the RU course sniper cog. It is not very self contained, although it can and should be. Furthermore, it should be named something more reflective of its functionality. I am leaving this to @Likey00 since it is his cog and he knows the design best.
This is a simple command, so it could be implemented by someone starting out with python or learning to make their first commit :)
Right now custom command creation is restricted to Bot Commanders, and commands that are created are done so without any reference to who made them. Why don't we modify this functionality such that there are commands in the global namespace, as well as a user-specific namespace for user-defined commands. For example we might implement the following interface:
!selfcommand <command_name> <command_content>
to create a command that is listed under your name::<self_command_name>
to use a command that you created<user_mention>::<command_name
to use a command created under someone else's nameObviously make sure self commands don't include any pings to roles or @everyone/@here. If you're lazy, you might as well disable pings in commands altogether.
Describe the bug
JSON files used for persistent storage are pushed as empty files to the repository since cogs that use them don't automatically generate them
Expected behavior
JSON files should never be committed to the repository, and should be auto-generated by the cogs that use them if they don't exist already.
Make a command to add/remove custom commands, all custom commands should be stored in config.json or another json file and accessed every time a message is sent to check for triggers
Describe the bug
The LogCog is currently unable to produce logs when files such as images are deleted. This is not ideal. The deletion of files, especially images, should be logged.
To Reproduce
Steps to reproduce the behavior:
!setlogchannel <channel id>
if you have not done so already)Expected behavior
Messages that contain files including images should be logged with the file when deleted or edited
Screenshots
Sending a message with an image:
Desktop (please complete the following information):
Describe the bug
The LogCog as it currently exists is logging messages for which embeds appear as edits once the embed does in fact appear.
To Reproduce
Steps to reproduce the behavior:
!setlogchannel <channel id>
if not already set)Expected behavior
Sending embeds should not be logged as a message edit, or at all
Screenshots
Log:
Desktop (please complete the following information):
Additional context
It should be noted that when an edit event is logged for the appearance of an embed, the original and edited messages that are logged are identical. We might be able to simply handle this issue by checking whether the initial and current message have the same content.
Command to navigate to a course from subject, then giving data on available sections and whether they're open or closed
This will search for a certain word or set of words in a message, and if it exists it'll respond with a message (as opposed to commands where you have to type just the command)
I got this one nobody do it
Describe the bug
Sometimes upon GitHub events, users who are registered with the GitHubCog get Level Up messages from the ExpCog in the project-updates channel even if they have not gained enough experience to level up. When the user has gained enough experience to level up, the message is not shown. It is unclear why this is
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Level Up messages should be sent when the user gains enough experience to level up.
The command should have the bot output the setup for a joke. If the caller responds with "?" the bot should reply with the punchline.
The bot can access randomly generated jokes through the "Official Joke API"
A command that takes in a source and target currency as well as a numerical value to convert from the source to the target. E.g.
!cconvert USD EUR 50
to which the response might be an embed looking something like this
This can be implemented using the Exchange Rates API
Someone types !affirmation, and a positive affirmation is outputted
Simple api call to the url affirmations.dev can return one :)
Command to play a tictactoe game with the computer (perfect AI maybe hehe) through discord
A command that reports the weather in a queryable location, or a configurable default location.
This Weather API might work.
This bot functionality should award EXP to users for making contributions to any RUCS24 GitHub projects. This may include:
This should be possible through the GitHub API as well as asking each user to register their GitHub account with the bot. In the future, this may warrant an RUCS24 GitHub org's creation.
The bot should be able to assign roles via reactions to particular messages. Only specified roles should be addable via reaction.
Standard expression evaluator, maybe more commands for quadratic solver, etc?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.