Giter Site home page Giter Site logo

rucs24-bot's People

Contributors

abhishekmushti avatar cakoshakib avatar gabrielweinbrenner avatar jessicakara avatar likey00 avatar pandacontron avatar poppamunz avatar rosalogia avatar rzmk avatar siris2314 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

rucs24-bot's Issues

Categorized Help Command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

Categorize the help command by cogs, new embed for each since we're approaching the embed limit

[Optionally] Describe a potential solution

Just check the cog of each command and add it to the right embed

[FEATURE] Google Translate Command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

Command to translate some text to a specified language, English by default

[Optionally] Describe a potential solution

This Google Translate Python Library is probably more than enough to implement this feature

Add user quotes

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

We should be able to save user quotes and retrieve them later

[Optionally] Describe a potential solution

I got this one too, I'll proly just use json to save user quotes

[BUG] First line gets cut off in multiline output with CodeExecCog

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:

  1. Use command !exec with some input that produces a multiline output such as
for i in range(10):
    print(i)
  1. First line of output will be skipped

Expected behavior
All lines of output should be displayed properly

Screenshots
image

Google search command

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.

List of custom commands

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

You never fixed it, the prompt still says "deisgned" lmfao

[Optionally] Describe a potential solution

I got this one, I can just pull the commands from json and list them in an embed

[FEATURE] Wolfram Alpha Command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

A command that forwards input to the Wolfram Alpha computational engine and outputs computation results

[Optionally] Describe a potential solution

The Wolfram Alpha API can be used to implement this feature.

Connect 4 Command

Harder than tictactoe because it's not fully solvable and requires a heuristic

[FEATURE] Event Reminders

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

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!"

[Optionally] Describe a potential solution

Discord Timers can be used to make this relatively easy.

[BUG] Joke command short circuits if the response to a set-up is not "?"

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:

  1. Use command '!joke'
  2. Have someone else respond with anything but ?
  3. Send a message containing ?

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.

[FEATURE] Resource tracking and storage

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

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
    • Sub-functionality: suggestions sent in the review channel should automatically be reacted to with ✔️ and ❎. When a 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 Commanders.

Create base bot

A simple discord.py bot hello world implementation will do

Code execution command

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.

[FEATURE] Whois Command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

Command to get some basic profile information about a user, such as their profile picture, their join-date, their roles, etc.

[FEATURE] Music Player

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

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.

[Optionally] Describe a potential solution

Music can be downloaded with youtube-dl. Searching and autoplaying might require some webscraping but should not be too difficult.

[FEATURE] To Do List and Calendar

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

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.

[BUG] Undesirable project file structure noise due to API Cog

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.

Randomize Capitalization command

This is a simple command, so it could be implemented by someone starting out with python or learning to make their first commit :)

[FEATURE] Allow anyone to create a custom command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

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 name

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

Command to add commands

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

[BUG] Message Deletion/Edit Logger cannot log deletion of files including images

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:

  1. Send a message containing an image
  2. Delete it and check the designated log channel (!setlogchannel <channel id> if you have not done so already)
  3. Notice that the image is not included in the logged output

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:
image

How it's logged when deleted:
image

Desktop (please complete the following information):

  • OS: Arch Linux

[BUG] Message Deletion/Edit Logger logs embed creation as edit

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:

  1. Send a message to a link for which an embed will appear, such as a YouTube video or Imgur link
  2. Check the log channel (!setlogchannel <channel id> if not already set)
  3. Notice that once the embed appears, a message edit is logged even though the content is the same.

Expected behavior
Sending embeds should not be logged as a message edit, or at all

Screenshots

Message sent:
image

Log:

image

Desktop (please complete the following information):

  • OS: Arch Linux

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.

See course info

Command to navigate to a course from subject, then giving data on available sections and whether they're open or closed

Responses in command cog

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

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)

[Optionally] Describe a potential solution

I got this one nobody do it

[BUG] ExpCog sends Level Up message when user hasn't levelled up

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:

  1. Register user's GitHub with !register
  2. Have user gain a certain amount of experience from repository contributions
  3. Wait for Level Up message to eventually be sent

Expected behavior
Level Up messages should be sent when the user gains enough experience to level up.

Screenshots
image

[FEATURE] Joke command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

The command should have the bot output the setup for a joke. If the caller responds with "?" the bot should reply with the punchline.

[Optionally] Describe a potential solution

The bot can access randomly generated jokes through the "Official Joke API"

[FEATURE] Currency Conversion Command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

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

image

[Optionally] Describe a potential solution

This can be implemented using the Exchange Rates API

Positive Affirmation Command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

Someone types !affirmation, and a positive affirmation is outputted

[Optionally] Describe a potential solution

Simple api call to the url affirmations.dev can return one :)

TicTacToe Command

Command to play a tictactoe game with the computer (perfect AI maybe hehe) through discord

[FEATURE] Weather Reporting Command

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

A command that reports the weather in a queryable location, or a configurable default location.

[Optionally] Describe a potential solution

This Weather API might work.

[FEATURE] Award EXP for contributions and keep track of levels

Specify what type of functionality your request pertains to

  • Command
  • Other

Describe how it should work

This bot functionality should award EXP to users for making contributions to any RUCS24 GitHub projects. This may include:

  • Pull Requests
  • Commits
  • Issue comments
  • Creating issues
  • Forking

[Optionally] Describe a potential solution

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.

Role assignment functionality

The bot should be able to assign roles via reactions to particular messages. Only specified roles should be addable via reaction.

Calculator Command

Standard expression evaluator, maybe more commands for quadratic solver, etc?

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.