{"id":18418068,"url":"https://github.com/secretlounge/secretlounge-ng","last_synced_at":"2025-04-07T13:31:05.172Z","repository":{"id":39969214,"uuid":"138909173","full_name":"secretlounge/secretlounge-ng","owner":"secretlounge","description":"A bot to make an anonymous group chat on Telegram","archived":false,"fork":false,"pushed_at":"2025-03-29T12:05:37.000Z","size":122,"stargazers_count":120,"open_issues_count":8,"forks_count":59,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-29T13:22:03.583Z","etag":null,"topics":["telegram","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/secretlounge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-27T16:53:45.000Z","updated_at":"2025-03-29T12:05:40.000Z","dependencies_parsed_at":"2024-08-09T13:02:08.214Z","dependency_job_id":"b1b23f9f-2d1b-491b-bf6e-ab9f35b17051","html_url":"https://github.com/secretlounge/secretlounge-ng","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secretlounge%2Fsecretlounge-ng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secretlounge%2Fsecretlounge-ng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secretlounge%2Fsecretlounge-ng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secretlounge%2Fsecretlounge-ng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secretlounge","download_url":"https://codeload.github.com/secretlounge/secretlounge-ng/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247661582,"owners_count":20975078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["telegram","telegram-bot"],"created_at":"2024-11-06T04:12:31.377Z","updated_at":"2025-04-07T13:31:05.166Z","avatar_url":"https://github.com/secretlounge.png","language":"Python","funding_links":[],"categories":["OpenSource"],"sub_categories":["OpenSource Bots"],"readme":"secretlounge-ng\n---------------\n\nA rewrite of [secretlounge](https://web.archive.org/web/20200920053736/https://github.com/6697/secretlounge), a bot to make an anonymous group chat on Telegram.\n\nThe bot accepts messages, pictures, videos, etc. from any user and relays it to all other active users without revealing the author.\n\n## Setup\n\nYou will need a Linux server or computer with Python 3 installed and access to the command line.\n\n```bash\npip3 install -e .\ncp config.yaml.example config.yaml\n# Edit config.yaml with your favorite text editor\n./secretlounge-ng\n```\n\nTo run the bot in the background use a systemd service (preferred) or screen/tmux.\n\nNote that you can also install it as a normal Python module and run it from anywhere\nlike `python3 -m secretlounge_ng`, which I won't explain here.\n\n## @BotFather Setup\n\nMessage [@BotFather](https://t.me/BotFather) and configure your bot as follows:\n\n* `/setprivacy`: enabled\n* `/setjoingroups`: disabled\n* `/setcommands`: paste the command list below\n\n### Command list\n\n```\nstart - Join the chat (start receiving messages)\nstop - Leave the chat (stop receiving messages)\nusers - Find out how many users are in the chat\ninfo - Get info about your account\nsign - Sign a message with your username\ns - Alias of sign\ntsign - Sign a message with your tripcode\nt - Alias of tsign\nmotd - Show the welcome message\nprivacy - Show privacy policy\nversion - Get version \u0026 source code of this bot\nmodhelp - Show commands available to moderators\nadminhelp - Show commands available to admins\ntoggledebug - Toggle debug mode (sends back all messages to you)\ntogglekarma - Toggle karma notifications\ntripcode - Show or set the tripcode for your messages\n```\n\n## FAQ\n\n1. **How do I unban a blacklisted user from my bot?**\n\nTo unban someone you need their Telegram User ID (preferred) or username/profile name.\nIf you have a name you can use `./util/blacklist.py find` to search your bot's database for the user record.\n\nYou can then run `./util/blacklist.py unban 12345678` to remove the ban.\n\n2. **How do I demote someone I promoted to mod/admin at some point?**\n\nIf you already have an User ID in mind, proceed below.\nOtherwise you can either use the find utility like explained above or run\n`./util/perms.py list` to list all users with elevated rank.\n\nSimply run `./util/perms.py set 12345678 user` to remove the users' privileges.\n\nThis can also be used to grant an user higher privileges by exchanging the last argument with \"*mod*\" or \"*admin*\".\n\n3. **What is the suggested setup to run multiple bots?**\n\nThe `blacklist.py` and `perms.py` script, including advanced functions like blacklist syncing\n(`./util/blacklist.py sync`), support a structure as follows where each bot\nhas its own subdirectory:\n\n```\nroot folder\n\\-- bot1\n  \\-- db.sqlite\n  \\-- config.yaml\n\\-- bot2\n  \\-- db.sqlite\n  \\-- ...\n\\-- ...\n\\-- README.md\n\\-- secretlounge-ng\n```\n\n4. **Is this bot really anonymous?**\n\nWhen using the source in this repository*¹*, unless you reveal yourself,\nordinary users in the bot have zero possibilities of discovering your Telegram user.\n\nMods and admins in the bot can not see your Telegram user, instead they can tell authors\nof recent messages apart through a pseudo-random ID returned by the `/info` command.\nThis ID changes every 24 hours, messages also expire from the cache after 24 hours *²*\n(or if secretlounge-ng is restarted) meaning that they become unable to be deleted\nor their authors determined.\n\nPeople with access to the server the bot runs on have no direct, but a variety of\nindirect ways to determine who wrote a particular message.\n\n*¹*: It is impossible to ascertain this from afar. You have to trust the bot owner either way.\n\n*²*: If you say something identifiable every 24 hours, you can reasonably be tracked for longer periods.\nThis quickly becomes infeasible to perform by hand with larger message volumes and user populations.\n\nAll of these assessments presume a sufficient user population in the bot so that anyone could blend in.\n\n5. **Why don't polls work?**\n\nTelegram bots are able to create new polls and forward messages (including authorship),\nbut they can't forward the poll itself as with other message types.\nWorking around this is possible with some disadvantages, but has not been implemented yet.\n\n6. **Is this code maintained?**\n\nThis codebase is in active use [over here](https://t.me/s/secretloungeproject).\nUpdates are made either if there's something broken or when the author feels like it.\n\n## Notable forks\n\n* [CatLounge](https://github.com/CatLounge/catlounge-ng-meow) - has numerous new features including specifying cooldown time\n* [Furry fork](https://github.com/dogmike/secretlounge-ng) - not sure, but there's a bunch of things\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecretlounge%2Fsecretlounge-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecretlounge%2Fsecretlounge-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecretlounge%2Fsecretlounge-ng/lists"}