Red-star

Latest version: v3.0.2

Safety actively analyzes 621521 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

3.0.2

Bugfix release with more post-rewrite cleanup.

Changes:
- `ListCCs` will now list all CCs when called with no arguments, instead of requiring "*" to be used as the search term.

Fixes:
- Fixed Music Player ban functionality not working.
- Fixed MotD not actually working.
- Fixed MotD overwriting storage thanks to leftover default config.
- Fixed `GetConfig` and `SetConfig` global and default flags returning insufficient permission, even for bot maintainers.

3.0.1

This is a quick hotfix to patch the config conversion mechanism not working properly.

3.0.0

It's been a while, hasn't it? Red Star v3.0.0 brings an update to modern versions of discord.py, ensuring future functionality and allowing us access to all newer Discord features (thread support foremost among them). It also involved a major restructuring of the internals of the plugin system - the configuration files have been reorganized, a new data storage system was introduced, and plugins and be toggled on a per-server basis. Everything should be handled automatically, but keep an eye out for anomalies, and don't be afraid to report any bugs.
Without further ado...

Additions:
- New command permission override system. If you want to change the required permissions to use a command on your server, you can now do so with the commands included in the Command Permission Commands plugin. You can use as many or as few permissions as you like, require all permissions or only one of a set, and grant specific users or roles the ability to use a command without the requisite permissions.
- Optional command permission groups. This system can be used to give users with certain permissions additional functions - for example, it's used in Music Player's `SkipSong` to allow users with the appropriate permissions to skip the vote requirement.
- A new confirmation prompt function was added, using Discord's new message component toolkit. It is currently used to confirm destructive actions like `Purge` and `NukeXP`.
- New command: `PurgeServerConfig`. This command is for bot maintainer use, and removes the configuration of a server from the bot's files. It has an "all" option as well, which removes configuration data for any servers the bot is no longer a member of.
- New commands: `PasswordRole` and `ClaimRole`. `PasswordRole` allows server administrators to gate a role behind a password, and `ClaimRole` gives a user the role matching the password. This is intended for server gating, where reading the rules and finding the password is required to access the rest of the server.
- The `Help` command will now print out a basic usage guide for commands when invoked without arguments. To access the list of command categories, you must now type `Help categories` instead.

Changes:
- Updated to the latest version of discord.py (2.1.1) and the latest Discord API (v10). This means that, among other things, the bot supports threads, voice text channels, and forum channels. Note: earlier versions of the bot will probably not function for much longer - Discord API v6 is deprecated and has an unknown remaining lifespan.
- The plugin model has undergone extensive changes. Plugins now function on a per-server basis, and can be enabled on one server but not another.
- With the above change, all of the plugins that used to be separated into [their own repository](https://github.com/medeor413/Red_Star_Plugins) have been merged into the main repo. Loading plugins from outside the main distribution is still supported, but it made no sense to keep these plugins separated when they are first-party and can be disabled as (un)needed.
- Also with the above change, the main configuration file has been reorganized - servers are at the top level, rather than each plugin maintaining its own server dictionaries. Config Manager will convert old files to the new format automatically.
- Plugin data storage has been reworked - plugins now have a `storage` attribute that can be used as a normal dictionary and holds JSON values. Config Manager automatically handles assigning these per plugin and server, and will save them when the main config is saved. If a plugin developer wishes to save manually, they can do so by calling `self.storage_file.save()`.
- With the above changes, `GetConfig` and `SetConfig` have been altered. They are now available to server administrators, but restrict their scope to the current server's configuration. Bot maintainers can use the `--default` and `--global` flags to view the plugin default and global configurations.
- MotD now functions on the plugin storage system - no more managing file paths to motd files, or worrying about other servers' changes affecting your server's MotDs.
- Command prefixes are now case-insensitive - if your prefix is `abc!`, both `abc!help` and `ABC!help` will work.
- The bot now by default prevents `everyone` and `here` mentions in all messages - an `allowed_mentions` object must be explicitly passed to a message send call to ping these. It will also not ping users it replies to by default - this can be forced by setting `mention_author` in the reply function.
- Console logging configuration has been updated to use discord.py's standard - including color output on supported terminals.
- Default configurations for Announcer have been updated.

Fixes:
- Purge dry-run filtering now works correctly.
- Small fix to a regex used in RSLisp.
- Various documentation and help strings have been updated for improved clarity.
- Type annotations have been added and improved throughout the bot.

Removals:
- DM commands have been removed. These commands never worked particularly well, and with the new per-server plugin model, they will require a thorough redesign. These will return once the best way to implement them has been determined.
- Roleplay Economy, one of the former extra plugins, has been removed. It was implemented in an opaque and overly complex way, and the functions it provided were niche at best, so the decision was made to drop it rather than updating it for the new plugin system.
- The `RequestRole` command has been removed. Use `OfferRoles` for a more featureful and intuitive way of allowing users to pick their own roles, or the new `PasswordRole` and `ClaimRole` if you used this command to gate server access behind reading the rules.
- The update checking function has been removed, pending rewrite. Much the same as DM commands, this function doesn't belong in a plugin any more.

2.2.4

Bugfix release.
Changes:
\~ Music Player: Quotes are no longer required for basic search queries. Use quotes if you want to make multiple searches.
\* Music Player: Use `yt-dlp` fork instead of `youtube-dl`. `youtube-dl` appears to be abandoned (no commits in several months) and frequent updates are required to keep up with YouTube's changes.
\* Logger: Escape mentions in log events.

2.2.3

Bugfix release.
Changes:
\* Fix PlaySong search queries (and possibly others) failing

2.2.2

A bugfix release enabling intents for discord.py versions 1.5 or higher.
NOTICE: From this release forward, Red Star requires the Privileged Member Intents option to be enabled in its Discord application settings to function.
Changes:
\~ Privileged Member Intent is now required.
\* discord.py version 1.5.0 or greater is required.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.