Skip to content
This repository has been archived by the owner on Jan 1, 2024. It is now read-only.
/ Private-Parlor Public archive

A rewrite of secretlounge-ng, a Telegram bot for making anonymous group chats. Archived, new updates available in Private-Parlor-XT

Notifications You must be signed in to change notification settings

Charibdys/Private-Parlor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

privateparlor

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.

Updates posted on Telegram

Installation

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

BotFather Setup

  1. Start a conversation with BotFather
  2. Make a new bot with /newbot and answer the prompts
  3. /setprivacy: enabled
  4. /setjoingroups: disabled
  5. /setcommands: paste the following command list here

Command list

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.

Usage

  1. Rename config.yaml.copy to config.yaml
  2. Edit config file, it should at least have the API token for your bot and a path to a SQLite database
  3. Run the binary found in bin/

Development

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

Contributing

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:

  1. Fork it (https://github.com/Charibdys/Private-Parlor/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Ensure that your code is documented and follows the Crystal API coding style.

Contributors

About

A rewrite of secretlounge-ng, a Telegram bot for making anonymous group chats. Archived, new updates available in Private-Parlor-XT

Topics

Resources

Stars

Watchers

Forks