Git Product home page Git Product logo

paimonbot's People

Contributors

ybmirz avatar

Stargazers

 avatar  avatar  avatar

paimonbot's Issues

Reminder, Choose and Report commands

Reminders

  • A standard within discord bots to have built-in timers/reminders users can use to remind them by pinging them at a specific timing. Users will only have a maximum of 5 reminders, and could be listed. Current set of commands in mind:
    • p~remind [string:"dhms"] [string:reason] : Creates a reminder for the user, time string example:4d 5h returns 4 days and 5 hours from the usage of the command
    • p~remind list : Lists the reminders that user has set, if empty, tells user No reminders has been set
    • p~remind delete [string:reminderGuid] : Deletes the reminder using its Guid given back when creating a reminder
    • p~remind clear : Clears the current list of reminders a user has set.

Choose

  • Simple enough, lets Paimon choose between options that a user sets, usage as below:
    • p~choose [string: options[]] : Options are separated by spaces
    • Example of this usage on a different bot I've made:
      image

Report

  • Quite a complex command, simply uses this command with a 1 (STC) cooldown for users to be able to directly report me through Paimon on issues that they have, if they wouldn't like to open one on Github.
    • p~report [string: issue] : Will send me an Embed of the Issue, Reporter's User ID, Channel ID, Guild ID, Time of Report. similar to Iamages Discord Bot report command

Change Dailies command to use custom Pagination

  • Needs to change the dailies command's working for it to be able to send the image as an attachment and not imgur lol,, this can be done by creating a custom IPaginationRequest and using an InteractivityExtension.WaitForCustomPaginationAsync().
  • Changes to Embed's ImageURLs as well

Command Usage Example in Help Embeds

  • Self-explanatory, would like to be able for users to know how to use the Bot right off the bat from just looking up the help embeds. This can be done like Categories for the help embed, as an extra command attribute in command methods, and in the help embeds, simply just shows the example usage.

Gadget Remind Error handling not as intended

Quite an unlucky error where when the user is told when doing the command, an error was given that the user already has gadget remind enabled even though the gadget account does not show to be reminded, condition line for that here. Proof:
image

Quick Diagnose: from the condition line above on the embed, and this condition for the error here, check the whole logic when reminding user, this could have been a problem with the reminder not setting the user's remind bool value, cos the embed is checked with the bool value, whilst the condition is either that or being on the list (list being more priority, so could edit embed to check list).

Resin Reminder was deleted after setting new resin amount

Doing resin set [amount] after setting a resin remind would delete that said resin remind. This is probably due to resin setting creating a new resin timer at every occurrence and so from that it would mean that the resin remind is disabled.

Gadget Info Embed needs to show whether Remind is enabled or not

  • Currently, Paimon does not show in p~gadget information on whether Paimon will remind the user on when they can next use their Parametric Transformer Gadget or not. Needs to be added for clarification.
  • Using p~gadget remind also does not show you have gadget reminding enabled. Needs more fixing on GadgetCommands.cs
  • gadget remind, when user already has a remind active, does not show timestamp properly

Current Events Command

  • Simple one function command, uses data from Paimon.moe's Timeline, saved into PaimonBot's Database and PaimonBot will simply access the data and checks with the current datetime and sends back a paginated embed with information of currently running events. must credit Paimon.moe for the information.
  • Should use local images whilst using IPaginationRequest to create the Pagination of the Embeds

`ExceptionEventHandler.cs` Line 159 throws back Key already exists

  • It seems the logic in the code is flawed somehow, because I've expected this to happen, PaimonBot registering DMs into the dictionary if we've got some users in more than one server with PaimonBot, and so this line was implemented. However it does not seem to function as intended (or not considered at all for some reason)
  • My initial guess is that it's due to something related with the try..catch block or my implementation with await to avoid deadlock here

resin remind bugs

  • When users set their resin using resin set [amount], whilst they've already started a resin remind before setting this new resin amount, their resin remind was disabled.

More Issue as well: (could be due to D#+)

  • Using resin remind throws back Object reference not set to an instance of an object Error at line 143, ResinCommands.cs
  • Using gadget remind does the same as well
  • Could also be thrown when PaimonBot turns on and GetDMs() is called to get their respective DMs
  • For some god fucking reason, the errors were thrown at/referring to a } after throw e;

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.