Giter Club home page Giter Club logo

boolean's Introduction

boolean's People

Contributors

benjammingkirby avatar conaticus avatar derpinou avatar devshaded avatar distantszn avatar dylhack avatar fartdev avatar firebreak-2 avatar hordlawk avatar infinitydevtech avatar jakob5358 avatar julixndev avatar kitsunekenshi avatar mattplays avatar max-programming avatar mohamedarish avatar noobif-y avatar notghex avatar parasharsangeet avatar phill030 avatar protogendelta avatar realjobogamer avatar revot334 avatar shocktr avatar shungjung avatar speckyyt avatar stungjung avatar xhayper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

boolean's Issues

Help command

Responds with the following:

When typing in /, you should see a menu of different commands for boolean. You will be able to see what each command does from there.

Timeout command

A command that can be used to timeout a specific user for a specified period of time.

  • This should be limited to users with the MANAGE_MESSAGES permission
  • The user should be DMed with a link to a moderator appeal form (DM when this is needed)
  • @ Moderators should be limited to use the command 10 times in a day to prevent mayhem - DM them when they have reached the limit.
  • This should be logged with the logger

Command for deleting suggestions

This command should be able to be executed inside a suggestions thread. Please ensure the command can ONLY be executed in a suggestions thread.

When running /delete in a suggestions thread (with no options) the suggestion message and thread will be deleted. Only members with the MANAGE_MESSAGES permission should be able to do this.

This will involve storing suggestions in a database, and retrieving that data when the command is executed. Refer to #46 for more info on that.

Fix message filtering

  • Use something better than similarity.js (deletes "discord")
  • Fix vuln where message edits are tolerated

make config.ts easier

Instead of hardcoding each id of channel in config.ts, we get the id of channel by name of channel

Improve setup process

To add to #65 it would be good to make the setup experience for boolean contributors a lot easier - it is a lot of hassle right now.

Some of these improvements include:

  • The bot should automatically detect if any channels/roles are missing in the guild, and provide the option to create the missing channels/roles
  • Channels and roles should be searched by name instead of ID (#65)
  • npm run dev should load from a preconfigured dev-config.ts instead of the main config.ts

Further suggestions would be appreciated.

Levels system

A levels system assigning new roles and permissions as the user levels up.

Logger rewrite

Need to make a rewrite of Logger.ts for ease of use (Ease of reading too) + colored console output and logging features

Improve delete suggestions command

  • Rename to /delsug
  • Print the deletion in logs (refer to #75)
  • Add reason for deleting suggestion
  • DM suggestion author when their suggestion is deleted in following format:
Reason: [reason]
By: <@userid>

Verbal warnings

Allow people with the permission MANAGE_MESSAGES to use a /verbal command to warn members in a warnings channel about rule violations.

Improve projects system

  • Every time a user sends a message in the channel a thread should be created for that project
  • There will be a 30 minute cooldown for this channel

Migrate from JSON to Database

In order to support more rich features, we really need to implement some form of database.

Considerations

  • What database library will be used?
  • Where will the database be used?
  • How will you interface with the database?

Use Discord Timestamps

Since the merge of #29, the guildMemberRemove event sends an embed to the logging channel.

The event's code creates a Date object, and uses that to determine the creation date of the user's account.

Discord added a timestamps feature that allows for easy creation of dynamic dates in messages, convert over to the user's local time zone for ease of use. See more here (Couldn't find any official documentation for it)

This would remove the need for any further clutter (Like the monthName array currently in the guildMemberRemove event code) and improve ease of use for everyone.

I'll open a PR later to address this, opening this issue for further discussion and awareness.

Sanction appeal with modals

Add a button to the warning/timeout dms which shows a modal where the user can write an appeal that is then sent directly to mod managers or admins

Music features

There have been many requests for music to be implemented into the bot. YouTube implementation is a priority, but spotify and soundcloud would be great.

Improve warnings

  • Change /verbal to /warn
  • Count warnings in a database
  • Display warnings in an embed (/warnings [user]) - returns count of warnings for a user
    • Make it hidden to only the command executor
    • MANAGE_MESSAGES only
    • Verbose option that displays all warnings in pages, including the dates, reasons, moderators etc - we might need a web dash for this in future
  • Remove specific warnings (ADMINISTRATOR)
  • Remove all warnings (ADMINISTRATOR)

Declining applications

Add deny application command that DMs a specific Discord user a templated message (DM me for messages).

  • The format should follow: /deny [user mention] [reasons menu]
  • Only members with the ADMINISTRATOR permission should be able to execute this command

The reasons menu should contain the following:

  • Too young
  • Not been in the server long enough
  • Other - this will still send a templated message

This is so people stop getting angry at me.

Remove crash command

It seems there are a lot of occurring issues with the math command in terms of crashes and security. Considering how little people will actually need it, I'm proposing we drop it. Thoughts?

Modmail system

  • Any user should be able to DM the bot with a message to open a ticket.
  • Make a confirmation message with discord buttons to confirm they want to create the ticket
  • Gets sent to a moderator channel (DM me for id)
  • Moderators reply with !r in that channel
  • !close command - sends message to user as well

Fix math command vulnerability

I have removed the math command on the live server for now, anyone can crash the bot with /math 1:99999999999. I hear there are in built library tools to prevent cases such as this.

JEST Tests

Add some command tests for the bot, to check everything is working before deployment.

Event Manager rewrite

I will be re-writing the event manager so it can be type safe and better

Screen Shot 2022-04-18 at 20 43 50

Example of the rewrite ^^^

Announcements Command Broken

It looks like we have a little repetitive interaction replying; this prevents announcements from posting at all.

Error [INTERACTION_ALREADY_REPLIED]: The reply to this interaction has already been sent or deferred.
    at CommandInteraction.reply (/opt/app/node_modules/discord.js/src/structures/interfaces/InteractionResponses.js:94:46)
    at Announce.execute (/opt/app/dist/commands/announce.js:67:27)
    at async run (/opt/app/dist/events/interactionCreate.js:30:17) {
  [Symbol(code)]: 'INTERACTION_ALREADY_REPLIED'
}

Bot prevention captcha

If an account is less than 30 days old, DM the user and request them to complete a captcha - the captcha should just be made with canvas for now.

Add accept command

Accept command (/accept [mention user]) DM me for the message to DM the user.

Latex for math, aswell as improved math

Lets say i have the following
\yikes_{\lvert\lvert x \rvert\rvert_2 = 1} \lvert\lvert Ax \rvert\rvert2 = \sqrt{\lambda{\max}(A^TA)}
your bot dies instantly ๐Ÿ˜‚
Still - This needs to be resolved, im pretty sure you know what latex means but it goes something along the lines of
image
If you guys needed help, i'd be glad to contribute

Members command

A /members command that sends the member count of the server. The response should be only visible to the person who initiated the command.

Commands bug

Basically, someone made the commands have default exports, but didn't change ready.ts to use await import().default instead of await import().command

I'm too lazy to fix it myself so someone else do it! XD

User profile command

Command that displays a user's profile.
Include:

  • Created at date
  • Joined at date
  • Embed timestamp
  • Profile picture
    anything else neccesary.

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.