Archived - See PrivateParlorXT for Updates
This repository has been archived, and is likely outdated. Development has moved to PrivateParlorXT
A rewrite of secretlounge-ng, a bot to make an anonymous group chat on Telegram. Written in Crystal with the aim of being a fast, memory efficient, and featureful alternative.
Using the Tourmaline Telegram bot library.
Compiling PrivateParlor requires having both crystal
and shards
installed.
git clone https://github.com/Charibdys/Private-Parlor.git
cd privateparlor
shards install
shards build --release
- Start a conversation with BotFather
- Make a new bot with
/newbot
and answer the prompts /setprivacy
: enabled/setjoingroups
: disabled/setcommands
: paste the following command list here
start - Join the chat (start receiving messages)
stop - Leave the chat (stop receiving messages)
leave - Alias of stop
info - Get info about your account
users - Show the number of users in the chat
version - Get the version and a link to the source code
togglekarma - Toggle karma notifications
toggledebug - Toggle debug mode (sends messages back to you)
tripcode - Set or view your tripcode
rules - Show the rules of this chat
sign - Sign a message with your username
tsign - Sign a message with your tripcode
s - Alias of sign
t - Alias of tsign
Commands can also be registered with BotFather in the config file. These commands will overwrite the command list above.
- Rename
config.yaml.copy
toconfig.yaml
- Edit config file, it should at least have the API token for your bot and a path to a SQLite database
- Run the binary found in
bin/
The following features are planned and being worked on:
- Relay message types
- Text
- Photos
- Albums
- Videos
- Files/Documents
- GIFs
- Stickers
- Polls
- Locations/Venues
- Contacts
- Forwards
- Admin commands
- Delete
- Delete all
- Remove
- Warn
- Uncooldown
- Setting rules/MOTD
- User info
- Blacklist
- Promotion
- Demotion
- Message history/cache
- Karma
- Upvotes
- Downvotes
- Message queue
- Spam prevention
- Configuration
- Configurable roles and command permissions
- Configurable cache contents/data
- Configurable cache life
- Configurable time and content limits for spam filter
- Inactivity timeout
- CLI tools and utility scripts
- ROBOT 9000 Auto Moderator
Open tasks and current planned features can be found in this repo's project, Private Parlor Development
If you would like to make a contribution, follow these steps:
- Fork it (https://github.com/Charibdys/Private-Parlor/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Ensure that your code is documented and follows the Crystal API coding style.
- Charybdis - creator and maintainer