Code Monkey home page Code Monkey logo

bulbbot's People

Contributors

54d avatar brythzz avatar commanderroot avatar crowdin-bot avatar dependabot-preview[bot] avatar dependabot[bot] avatar klukcz avatar koumes2 avatar ondreascz avatar sim3745 avatar vvito7 avatar wakfi avatar xirpy avatar y3ll0wlife 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  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

bulbbot's Issues

[BUG] guildMemberUpdate does not check whether the audit log entry is recent

Describe the bug
guildMemberUpdate can report incorrect executors, such as a bot giving someone the server booster role even though that's gained only by boosting.

To Reproduce
Steps to reproduce the behavior:

  1. Have role logs enabled when someone boosts a server that they weren't already boosting

Expected behavior
Bulbbot should not attribute actions to any user unless it has a very recent audit log entry to use for info

[BUG] !lockdown crashes the Bot or resets !uptime

Describe the bug
It crashes the Bot (!uptime resets every time to 0) 10 seconds after !lockdown you cant use the Bot

To Reproduce
Steps to reproduce the behavior:

  1. Do !uptime that you can see the Current Uptime
  2. use !lockdown (Channel) true or false
  3. Do !uptime
  4. Now you can see that the Uptime Resets

Expected behavior
The Bot Shouldnt Crash

Screenshots
image

[Feature Request] Emoji commands

Emoji add, remove, lock and unlock

!emoji <action> <emoji> [role]

action:

  • add / upload / create
  • delete / remove
  • info
  • lock
  • unlock

Suggested by: Rydix#0001 (755792681313108018)

[Bug/goal] Don't crash anymore when bad stuff happens

My suggestion to accomplish this goal: try/catchs can handle unexpected problems and get them logged without crashing. We can then investigate the problems and implement graceful handling to return early rather than catch an error

[BETA -> To Full Launch] Bulbbot Roadmap

So before launching our 1.0.0 build we need a couple of things done. Here is the current roadmap of the thing we want to get done before launching it.

Documentation

https://docs.bulbbot.mrphilip.xyz/getting-started

  • FaQ
  • Bulbbot Privacy Policy
  • Setup Logging
  • Automod
  • Basic Commands
  • Infractions
  • About Bulbbot Premium
  • Code Changes
  • Adding a new language to Bulbbot (i18n)
  • Getting the User ID

A steady uptime

This mostly has to do with the code, and some stuff on the backend. Mostly a note for me and @KlukCZ

  • Check for channel-specific perms (if the bot is missing X perm tell the user)
  • Migrate to TypeScript

Bot Features

  • Per Guild Time Zone (logging)
  • Automod ignore channels
  • Add more information regarding automod
  • Fix the purge message count
  • Ignoring 25+ clearance users and mods when the AutoMod.Master() method fires
  • Making a SubCommands class that all subcommands can inherit from similar to the Command class

[BUG] No command usage logging on slash commands

Describe the bug
Slash command invocations are not logged.

To Reproduce
Steps to reproduce the behavior:

  1. Enable "other" logging to a channel
  2. Use a slash command

Expected behavior
The command usage is logged in the channel.

[BUG] When using a language that is not English the logging is missing emotes

Describe the bug
hen using a language that is not English the logging is missing emotes

To Reproduce

  • Change language to something other than English (for example French !cfg language fr-FR
  • Configure mod logs
  • Ban a user !ban <ID>
  • Check the log

Expected behavior
It should show the ban emoji

Found by Bryth#1086 (231714802261557249)

[BUG] Permission inconsistency between commands

Some commands like e.g ban will allow you to ban users with "BAN_MEMBERS" or Admin role but not with Mod role. Other commands like kick do the exact opposite. Needs some tweaking and fixing

[BUG] Manual bans not logged

Describe the bug
Manual bans (bans made by any user other than Bulbbot) are not being logged in the mod action logs

To Reproduce
Steps to reproduce the behavior:

  1. Enable mod action logs
  2. Ban someone using the Discord UI or another bot

Expected behavior
Bulbbot records a "manual ban" for the mod action in the mod action logs.

[BUG]

tokenim çalındı yardım et nasıl bir bot bu

[Feature Request] Add a command for reminders

Lets you more easily remember things

!remind <action> <time> <content>

action:

  • add / set
  • delete / remove

Then some sort of embed will show up where you can select where the reminder should ping you, in that channel or in dms

[BUG] Deafen does not work

Describe the bug
Deafen does not work

To Reproduce

  • Run the !deafen <id> command

Expected behavior
Should deafen the user, but instead says the user is not connected to a voice chat

Found by Bryth#1086 (231714802261557249)

[Feature Request] Add emojis for lockdown

"lockdown_locked": "{{emote_success}} Successfully locked down channel <{{channel}}>",
"lockdown_unlocked": "{{emote_success}} Successfully unlocked channel <#{{channel}}>",

  • line 313, 314
    perhaps add a 🔒 and 🔓 respectively? its super minor but it could look better i suppose

Feature request by Just a Regular Talking Box#8289 (565143645167288340)

[Feature Request] Ability to designate channels, users, roles to be ignored from logging

Is your feature request related to a problem? Please describe.
Sometimes there are channels that you don't want showing up in logs, or bots that can spam the logs. It would be good to be able to ignore certain things from logging, similar to AutoMod.

Describe the solution you'd like
Commands to control things that are ignored/omitted from logging.

[BUG] Manual kick action logging doesn't resolve the kick emoji correctly,

Describe the bug
The manual kick action doesn't resolve the kick emoji correctly, instead just saying "manually kicked"

To Reproduce
Steps to reproduce the behavior:

  1. Enable mod_logs to a channel
  2. Right click a user and kick them (or use a kick command on another bot)

Expected behavior
The log message should start with the bulbkick emoji and report the manual kick

Screenshots
image

[Feature Request] Banpools (crossbans)

Make it possible to create / use a banpool across multiple of your guilds to make it easier to keep bad people out of a guild

!banpool create <name> // creates the pool
!banpool join <pool name> // joins the pool
!banpool leave <pool name> // leaves the pool
!poolban/crossban (idk ban command name yet) <user id> [reason] // bans the user from the current guild + bans them in the other pools with some sort of log that says user X was banned from Y guild for Z reason

Maybe even make the banpools invite only so you can only invite another guild if you created the banpool, like X admin creates a pool and wants to invite Y admin, then you do something like !banpool invite and it dms the owner of that guild and asks if they would like to join the pool.

[Feature Request] Enhanced in-client command help

Ideally, this would add something for !help without arguments or !commands to show available commands without needing to leave Discord. Nested paginaters would probably be the most effective way to accomplish this, such as a top level category paginater resolving to category paginaters with their relevant commands.

[Feature Request] AutoMod punishment MUTE option

Is your feature request related to a problem? Please describe.
Sometimes you want something between a warning and a yeeting.

Describe the solution you'd like
Allow MUTE to be used as a punishment type for automod offenses.

Additional context
Needs to be added to some hardcoded values. May be good to refactor those.

Big bot rework

The bot in its current state has lots of errors and won't run. This will fix many of those errors and add some stuff. Most of these fixes will be implemented in PR #1

Adding stuff

  • Add eslint and eslint config
  • Add typing for packages
  • Add logging using winston
  • Add a check to check for missing env variables

Moving, formatting, and refactoring

  • Reorganizing

    • Move main source code into src/
    • Reorganize files and folders into a proper structure (if needed)
  • Formatting

    • Mongoose models
    • Command files
  • Refactoring

    • Rename variables to match JS conventions (See here)

Fixing bugs

  • Fix fs directory resolution
  • Fix commands being loaded multiple times
  • Fix missing variables and variable definitions

Misc. fixes

  • Fix mongoose models
    • Remove unneeded _id field (This is automatically generated by mongoose, so it's not nessecary to add it manually)
  • Fix all eslint errors and warnings

[Feature Request] Systems to automate mute role permissions management

Is your feature request related to a problem? Please describe.
Our current mute role design requires that users add permission overrides to channels & categories themselves. This can be tedious and is prone to errors. Additionally, as new channels are created, users must continue to remember to add the mute role permission override for it to function.

Describe the solution you'd like
Bulbbot should have a system in place to automatically apply the mute role override to all channels in a guild. If this is implemented, Bulbbot should also automatically apply the override to newly created channels. These systems should be independent. It may be good for this feature to be optional, to be enabled via server configuration, rather than an immutable component of the bot's presence, in case some users don't want the permission override present on all channels. As such, the system to apply the override to all channels in the guild should be manually triggerable for convenience of both end users and internal systems.

Describe alternatives you've considered
Alternatives would be doing any subset of the proposed solution or not implementing this feature at all.

[Feature Request] Auto-Time-Roles

i would like if you can add a !timerole command.
What does the Command do?:
When you do !timerole [time] [role] Users Automatticly get the Role set after the Time
So when you use !timerole 20d Active Member all users which the Server 20 days ago get this role.

[BUG] Re-instantiating tempmutes and tempbans sometimes fails

Describe the bug
And RestoreTempmute() method is failing to restore some tempmutes without erroring. Very likely caused by the empty catch statement

To Reproduce
Steps to reproduce the behavior:

  1. Reload the bot
  2. Observe

Expected behavior
All tempmutes and tempbans should be re-instantiated or deleted if already expired.

Screenshots
N/A

Additional context
This issue is very likely caused by the empty catch statement that's preventing any errors from being thrown.

[BUG] Changing logging channel doesn't remove old channel

Describe the bug
When logging is enabled already for a log type, if you run the command again and give a different channel, the logs for the type will be sent to both channels.

To Reproduce
Steps to reproduce the behavior:

  1. Run !cfg logging message_logs <some channel>
  2. Delete or edit a message and see it logged in the channel
  3. Run !cfg logging message_logs <some_other_channel>
  4. Delete or edit a message and see it logged in both channels

Expected behavior
Logs are no longer sent to the old channel, only the new one

Additional context
Is this actually a feature?

[BUG] Unable to get the inviteinfo from a group/hub

Describe the bug
You are unable to get the inviteinfo from a group/hub invite

To Reproduce

  • Use the inviteinfo command with a group or hub invite

Expected behavior

  • You should get information about the group or hub

[BUG] Jumbo does return an empty canvas

Describe the bug
Jumbo does return an empty canvas

To Reproduce

  1. Run !jumbo :heart: <:Bulbbot:800037459987529758>

Expected behavior
It should send back the jumbod version of the emotes

[Feature Request] Enchance the prune command

Add more sub categories to the command

  • purge all <count> - removes all messages
  • purge embeds <count> - removes all embeds
  • purge emojis <count> - removes all emojis
  • purge images <count> - removes all images
  • purge contains <text> <count> - removes all messages containg the text
  • purge between <snowflake1> <snowflake2> - removes all messages between those 2 snowflakes
  • purge bots <count> - removes all messages from bots
  • purge user <user> <count> - removes all messages from that user

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.