sheldan / abstracto Goto Github PK
View Code? Open in Web Editor NEWDiscord Bot Base
License: MIT License
Discord Bot Base
License: MIT License
There is a command to delete an assignable role from an assignable role place, but existing roles are not deleted from members within the guild and need to be done manually.
Have an assignable role place with roles available
A member selects a role
Remove the selected role with the command
Also remove the role from the member and the database
The member does not lose the role
Monetary conversion, units and similar.
General utilities for the user of the bot.
No response
Currently it counts experience once every minute, this should be configurable to be dynamic for any time interval.
Only supporting every minute is very limiting, and some servers might want to have it every two minutes or every 30 seconds. This should be adaptable.
No response
A command to show various information about the bot:
To know which version a bot is running from the outside
No response
Create a functionality to setup quick responses with direct configurable responses including embeds.
Quick commands for re-usable responses, which can be used by normal members
No response
Often times a certain amount of warnings triggers a special behavior.
This should bring the functionality, so that active warning thresholds are not forgotten and enforced.
Makes it easier for moderation
Should be generic enough for custom actions
No response
ShowEffects only shows the current effects, but its not clear which roles are immune against this effect. This should be added.
Being able to tell which roles are immune against which effects.
No response
When you delete a starboard post, the message is not re-created when another user adds a reaction, effectively making this starboard post ignored.
The amount and the post itself is still considered in the starStats command.
Have a starboard post
Delete the starboard post, so it will be marked as ignored
Not include the stars nor the post in the starStats command
The star amount is included in the starStats command and the post might be shown as the top most post
The reason for this is that Transactional only rollsback for checked exceptions. We need to add the AbstractoRunTimeException to this as well in all places.
Have a command fail in an unexpected way with a runtime exception.
Any result should not be persisted
Results in sub-transactional blocks are still persisted.
Should either be replaced to not load the members or defer the reply. Deferring would be faster, but we risk causing a lot of 404 otherwise.
The commands affected:
Infractions
Have a lot of warnings towards users not in the server anymore
Work just fine
The interaction times out and causes a lot of 404 to be created.
Currently all usernotes are returned for the command, this should be converted to a paginated list.
In case the user notes increase in size, this makes it easier to navigate them.
No response
If you have two features using the same root slash command and you enable the second one while the first one is still present, you remove the slash commands of the first.
Have two features which have the same root slash command
Enable the first feature
Check the commands of the feature they should be present
Enable the second feature
Check if the commands of the first feature are present
The commands should be present
The commands are not present
While bots cannot trigger a starboard creation, they are still considered in the overall star amount calculation.
Have starboard post with a star amount over the threshold
Add a bot reaction to it
Have another user react to it
Not consider the reaction of the bot in the over all star amount
The end result of the star count will include the reaction of the bot
Some features might have a small overhead if we consider all servers. We should ignore the ones which the bot is not party of anymore.
Reduced load times for certain functionalities
No response
Add a feature to create giveaways.
This should include:
General useful feature to have.
Give away post target
When the initial messages are done in a fast pace, multiple modmail threads are created. Only one thread should be created, and both messsages should be forwarded to that thread.
Have modmail enabled
Do not have a modmail thread open for a user
The user sends two messages in very short periods of one another
Open one modmail thread and forward the second message normally
Two modmail threads might be opened, due to a race condition.
There seems to be a race condition when multiple starboard posts are created in parallel.
The posts are duplicated on the starboard and also duplicated in the database, which incorrect behaviour when the start count changes.
A decent amount of people adding reactions at the same time, while all of them are over the threshold and creating starboard posts on their own.
Only create one starboard post in the database and channel, but still consider the updates correctly.
Multiple posts in the starboard channel and database records.
Have a channel which posts and keeps maintained the overview of currently active threads in the server.
With information about each thread and updating, when they are hidden etc.
Potentially with a custom description of each thread.
Threads are not very visible in the Discord UI, even more threads which are archived. That way those threads can get more visibility.
Each thread creation should be a unique message in a separate channel. Archiving and locking should also be a notification in this channel.
Currently the delete button is removed after a certain amount of time has passed for an embedded link.
This should be replaced to completely remove the message/edit the message to contain the message link again.
Two separate feature modes which are exclusive from one another and deletion overwrites link edit.
Can be applied to the general link embed feature and is not custom in anyway.
Two separate feature modes to control
Link replacement overwrites the button removal
Deletion overwrites the link replacement
Currently its not possible to exclude channels from logging, only by not giving the bot permission to the channel, but this should be configurable within the bot, Potentially via a channel group.
Being able to have the bot in a channel, but still not logging edited/deleted messages.
No response
For easier observability add a postgres observer, so we it can be seen in grafana.
Better maintainability to see whats going on in the database.
No response
A message containing a tenor gif only shows an image on the starboard, not the actual gif.
Have a message only containing a tenor gif
Add stars necessary for the message to hit the threshold
The gif should be shown as gif in starboard
Only a PNG, probably the first frame is shown.
When a level up happens, a notification should be created in the last channel the user posted in. The notification should contain the new level and the newly experience/experience role.
Notification in case the user does not realize they got a new level.
Should be able to disable on a user basis and via feature mode.
Also, feature modes to switch between modes:
Message commands have a functionality to ask the user for confirmation, before executing the command. This is not possible with slash commands right now.
Some destructive commands should have a security guard, before they are actually executed.
Not sure how the context of the original command can be preserved.
Currently you need to execute the showEmote command yourself using the emote to show the emote. This should change, that the parameter is optional, but you can reply to another message and the first emote in that message is then shown intead.
Usability, because people would need to bug other people to use the emote with the command, instead of being able to do it themselves.
No response
Template rendering is a very essential method on how abstracto works, there needs to be a metric to see how fast the templates are.
It should be possible to track the worst duration for templates.
Have an indication if templates are too complex or similar.
Should be visible in the Grafana dashboard.
For traceability add the author to a usernote and also printed when showing the usernote.
Better traceability of usernotes.
No response
You can provide all types of channels (for example categories) for the slowmode slash command, even tho its not a valid input.
The command should reject it.
Use slowmode slash command and use a category as the channel parameter
The command should reject the input with a human readable exception
A very detailed exception is thrown
The custom command feature is executed regardless of the actual feature flag state
Disable the custom command feature
Execute a custom command with the prefix
Not execute the custom command
It does execute the custom command
Add a way to purge until a certain message, this is easier then doing it by message counts.
Easier of use for moderation
For a message command, this can be a message you reply to.
Or a context menu on the message for an interaction.
It would be beneficial to completely anonymously report other members. This should be configured via a feature mode and be default not enabled.
Additionally it should use the new modal functionality with the right click report. The modal is optional and you do not need to use it.
Being able to report people anonymously removes the possible association of the user reporting to a message.
Additionally the modal has a better user experience than a DM.
It should be a separate context menu for reporting without message and with message.
These features include:
custom commands, economy,
Only the minimum in terms of configuration is necessary.
Feature completeness with existing Kaiser bot.
No response
Setup functionality does not show the currently in use values, but only the values. This is confusing for the user.
Setup a feature
Set values
Setup feature again
Show the currently valid values (and their defaults)
Only shows the default values
Messages are cached twice. Once for async and once for sync listeners. This should be replaced to only be cached once.
Have the bot running
Send the message
Check the caching dashboard
Only one message should be cached for one message
Message count of two is shown in the dashboard
Add a command so simulate the needsMoreJPG meme, basically JPG artifacts.
General entertainment
No response
Add logging entry for slowmode for easier traceability.
Better traceability for whom executed this command.
No response
Currently there is no way to automatically remove the slowmode after a certain amount of time, and this would need to be done manually.
It should be possible to schedule turning off the slowmode.
Changing the slowmode, re-scheduling a new time or turning it off, should cancel this timer.
Can be convenient, if the slowmode should only be present for a short period of time.
Only possible for the slash command, because of multiple optional parameters.
It is often nice to have the ability to mute modmail for certain users for a time period so they are unable to create a new modmail thread.
People re-opening a modmail thread to annoy moderation should be unable to do so, in order to cool down.
Should be a member level restriction with a command to create and lift the timeout.
Optional: notification that the timeout has been created/lifted.
When you use the postTarget and setupFeature command and select channels, it is not checked if the bot has actually permissions to send in the configured channel.
Deny permission for the bot in some channels
Use postTarget to set the target to the denied channels
Posttarget should reject the command which the bot does not have permissions to use properly
The channel is accepted by the command, but the bot will fail to send any message
Add a command which returns the URL towards "let me google that for you" (lmgtfy) with the given query.
Can be applied to all features
Be part of entertainment module and a separate command with slash command.
People do troll starboard and with this functionality it would be possible to prevent this trolling.
This should only exclude them from counting in the starboard or be starred. Not from executing the commands related to it.
To prevent trolling in starboard, exclude members from starboard
Member based exclusion with a command to create/lift the exclusion.
Optional with a notification.
Create the ability to define listener conditions within the code. For example for the listener to only trigger in certain channels/channel groups
Some listeners do not need to re-implement channel group or channel checking, but it can happen in a general way.
No response
Thread/modal support etc.
Move modules to slash commands. Only some commands will receive slash commands, because of limitations, or some will be replaced by other slash commands.
Also the general command handling infrastructure (like error handling, parameter handling) needs to be added.
The server cooldown configuration is not visible in the help command.
Help command can be executed anywhere, so maybe its also of worth to include the specific channel cooldowns as well.
Necessary information is not shown in the help command.
No response
Add a functionality to filter popular scam link sites.
Only delete the message, mute the user and notify moderation.
Scam links should be automatically deleted, because they are very common on Discord servers.
Potential list is:
https://github.com/nikolaischunk/discord-phishing-links
Separate post target for the notification.
Automatically mute users after unauthorized invite links have been sent
Although rare, it may happen that a compromised account (or a userbot) spam unauthorized invite links in all channels. Even though said links are deleted automatically, it would be great to automatically mute the account after three/four unauthorized invite links have been sent by it within a minute to prevent all channels from having unreads.
Bot should notify in mod log channel whenever automatic mute following spam of unauthorized invites occurs.
Embed should include username and user ID.
Support multiple configurations for experience roles, so you can have two separate systems based on the same experience value, but providing different roles, as currently the roles are exclusive.
A generic experience role system can have experience roles, but also provide separate roles at levels, which are added additionally.
No response
Discord emojis are often times very small, and there exist a possibility to map the PNG to an emoji.
There should be a command to enlarge the Emoji so its clearer (and can be downloaded in a PNG format)
Utility to get the Emoji in a larger format and for easier download.
No response
Message command are handling " incorrectly, in the sense, that they strip the " from command with String parameters.
Have a command with a string parameter
Execute the command with " in the string parameter
Check the internal value passed to the command
The parameter should contain the "
The parameter does not contain the "
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.