Releases: Charibdys/Private-Parlor
v1.1
ROBOT 9000 Implementation
The following changes were made in this update:
- Added ROBOT 9000 Auto Moderator (ensures each message is unique)
- Toggle for checking text for uniqueness
- Toggle for checking media for uniqueness
- Toggle for checking forwards for uniqueness
- Check text against a set of configured codepoints
- Cooldowns/mutes for unoriginal input
- Added link preview to regularly forwarded text messages
- Reworked spam checks for albums and regularly forwarded albums; the spam score handler now checks each album instead of each item in the album for spam.
- HTML formatting from incoming messages are now ignored (used client-side formatting instead)
- Message sending routine now sends 30 messages per second instead of 2 per second; should noticeably improve bot response time
The config.yaml file and the locale files have been updated as a result of this release. Please review the config.yaml.copy file and locale YAML files and make changes accordingly.
v1.0
CLI Tools and Refinements
The following changes were made in this branch:
- Added user management CLI tool
- Media permissions for ranks
- Configurable default rank
- Handle locked database exception
- Added a couple of locales
- Removed restriction on message lifetime (messages can persist indefinitely)
The config.yaml file and the locale files have been updated as a result of this release. Please review the config.yaml.copy file and locale YAML files and make changes accordingly.
v0.9
Karma Levels and more niceties.
The following changes were made in this branch:
- Added a reply for when a user is kicked for inactivity
- Implemented configurable karma levels
- Added ability to sign as current karma level
- Implemented pin and unpin message commands
- User's can privately reveal their usernames to other users, if enabled
- Log messages can be output to a Telegram channel
- Added pseudonymous mode; if enabled, every message is sent with the user's tripcode
- Users can be invited using a whitelist when registration is closed
The config.yaml file and the locale files have been updated as a result of this release. Please review the config.yaml.copy file and locale YAML files and make changes accordingly.
v0.8.5
Code refactoring.
The following features and improvementes were made for the v0.8.5 release:
- Refactored codebase
- Moved independent classes to their own files
- Moved queue and mutex handling to a separate class
- Turned Replies' message formatting into a module
- Reorganized locale files to make serialization possible
- SpamScoreHandler can be serialized from config file
- Fixed strip_format so it can handle both HTML formatting and message entities
- HTML formatting or message entities can be used in the bot's MOTD
The config.yaml file and the locale files have been updated as a result of this release. Please review the config.yaml.copy file and locale YAML files and make changes accordingly.
v0.8
Minor additions and other niceties.
The following features and improvements were made for the v0.8 release:
- Concurrency model was updated. CPU Utilization was dropped by about 99%
- Added "message not in cache" reply to applicable commands
- Messages with media (photos, videos, animations, etc) can be given a spoiler after being relayed. This only works for messages sent by the bot
- Inactive users can be kicked from the bot to reduce the number of messages sent in bursts. The limit for how long a user can be idle before being labelled inactive can be configured.
- Users can link to other bots using a 4chan style board redirect (e.g., >>>/bot/). The bots available with this feature can be configured.
- If toggled, forwarded messages can be relayed as a regular message. Messages sent this way will have their text or caption prepended with a header showing a link to the origin of that message.
- Parse Mode was changed to HTML. This is temporary and it will be changed to MarkdownV2 in the future.
A few new replies were added to the locales, which the program expects to exist in order to function properly. Please update the locale files accordingly.
The "spoiler" permission was added. You can add this permission to any rank to allow that rank to add a spoiler to a media file sent by the bot.
Additionally, some new keys were added to the config file. Please review the config.yaml.copy file and make changes to your config file accordingly.
v0.7
Configurable ranks and command permissions.
The following features and improvements were made for the v0.7 release:
- Added ability to configure new ranks with their own permissions
- The /help command was rewritten to generate help text based on the user's current rank permissions.
- Implemented graceful shutdown (Bot now responds to SIGINT and SIGTERM, and waits until all queued messages are sent before shutting down)
- Removed upper limit for message lifetime, so messages can be configured to persist indefinitely
- Added ability to hide media (images, animations, videos) with a spoiler
- Added contact link to blacklist replies
Breaking change: Multiple changes have been made to the config file and locales.
A few new replies were added to the locales, which the program expects to exist in order to function properly. Please update the locale files accordingly.
The config file requires a "ranks" key and a list of ranks with names, values, and permissions. See the config.yaml.copy file for an example; you can copy this over to your config file and the program will behave similar to how it did before v0.7.
The "full_usercount" key was removed from the config and the program. You can add the "users" key to any rank to regain this functionality.
v0.6.6
Important bugfix.
The following fixes and improvements were made for the v0.6.6 release:
- Delete command was fixed so that the original message is preserved.
- Fixed a bug that would cause a message to be dropped and only relayed to some users if it was a reply to another message.
v0.6.5
General cleanup and bug fixes.
The following improvements were made for the v0.6.5 release:
- Added more configuration (enable/disable commands and edit karma/spam score constants via config)
- Fixed bug in Cache and DatabaseHistory that would also delete the original message when debug mode was disabled and a delete command was used on it
- Updated replies and fixed typos
- Removed globals.cr and moved all constants to respective files
- Fixed error with link previews not being relayed (now they're forced by default)
Breaking change: The config file has received many updates. Using Private Parlor v0.6.5 with an old config may not produce the same behavior as using v0.6.0 or earlier, or may not work at all. Please review the changes in config.yaml.copy and update your config file as necessary.
Some major changes to config.yaml include:
- api-token has been renamed to api_token
- log-level and log-file have been renamed to log_level and log_file
- full-usercount has been renamed to full_usercount
- database-history has been renamed to database_history
- strip-format has been renamed to strip_format
- tripcode-salt has been renamed to tripcode_salt
- allow_signing and allow_tripcodes have been renamed to enable_sign and enable_tripcode
- And many new keys were added to modify the values of warning, karma, and spam constants, as well as enabling commands, relaying media types, and registering commands with BotFather
v0.6.0
Configurable Cache Contents and Cache Types
The following features and improvements were made for the v0.6.0 release:
- Configurable cache type (messages can have warnings or no warnings, neither, either or both upvotes/downvotes, or all three)
- Downvoting
- Karma cooldown
- Message persistence (messages can be stored on disk instead of in memory)
- Procedural command/message handlers
- Command descriptions in locale
- Media limit period for new users (new users can be prevented from sending media for a length of time)
- Open/Close user registration (registration can be closed so that new users cannot join)
- Fixed message replies; can reply to messages again.
Private Parlor Nightly
Nightly builds for Private Parlor, updated on every commit. Current build based on 5fd08c3
Note, these are not optimized builds; see prior releases for more stable production builds.