Skip to content

Sobhan-SRZA/Anonymous-Chat-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Anonymous Chat Bot πŸ€–

This project is a Telegram bot that enables users to chat anonymously. It features a referral system where each user can generate a unique referral link (without revealing their Telegram ID), profile creation (e.g., setting gender), and random anonymous chat options with filtering.

Note: The bot supports various message types (text, stickers, photos, files, voice messages, videos, etc.) by copying messages so that the sender’s identity remains hidden.


Features ✨

  • Anonymous Chat: Chat with random users without revealing your personal details.
  • Referral System: Generate a unique referral code and share your referral link without exposing your Telegram user ID.
  • Profile Management: Set up your profile (e.g., gender) for filtered random chats.
  • Multi-type Messaging: All message types (text, photo, sticker, video, etc.) are forwarded/copyed anonymously.
  • Database Integration: Uses quick.db with JsonDriver for storing non-sensitive data like profiles and referral codes.

Prerequisites βš™οΈ

  • Node.js (v14 or higher recommended)
  • Telegram Bot Token: Create a bot via BotFather and obtain your bot token.

Setup Instructions πŸš€

1. Clone the Repository

git clone https://github.com/yourusername/anonymous-chat-bot.git
cd anonymous-chat-bot

2. Install Dependencies

npm install

3. Configure the .env File

Create a .env file in the root directory. Make sure to provide values for at least token and database_type.
Below is an example configuration:

# Bot token (required)
token="YOUR_TELEGRAM_BOT_TOKEN"

# Database type (required): options are "mysql" | "sql" | "mongodb" | "json"
database_type="json"

# (Optional) If using MongoDB:
database_mongoURL="your-mongo-url"

# (Optional) If using MySQL:
database_msql_host="your-mysql-host"
database_msql_user="your-mysql-user"
database_msql_password="your-mysql-password"
database_msql_database="your-mysql-database"

# Source owners (optional, comma-separated list of owner IDs)
owners='["123456789", "987654321"]'

# Anti crash controller (optional)
anti_crash="true"

4. Running the Bot

You can run the bot in development mode using ts-node:

npm start

Or compile the TypeScript code to JavaScript and run it:

npm run build
node dist/index.js

Available Commands πŸ“œ

Command Description Emoji
/help Preview all bot avalible commands with description. βš’
/link Send or create a referral link of your anonymous chat invite. πŸ”—
/settings Your settings in bot. (With using buttons you can customize your bot profile.) βš™
/start Starts the bot. Without parameters, it shows usage instructions. With a referral parameter (<referralCode>), it connects you with a partner. πŸš€
/stop Stops the current chat session and removes you from any waiting queues. βœ‹

Packages & Versions πŸ“¦

Package Version Description Emoji
telegraf ^4.16.3 Telegram bot framework for interacting with the Telegram Bot API. πŸ€–
dotenv ^16.4.7 Loads environment variables from a .env file. 🌱
quick.db ^9.1.7 A simple SQLite-based database using JsonDriver for storing bot data. πŸ—„οΈ
colors ^1.4.0 Adds color support to console messages, making debugging output more visually appealing. 🎨
write-file-atomic ^6.0.0 Provides atomic writing to a file to ensure data integrity during writes. πŸ’Ύ
@types/node ^22.5.0 TypeScript definitions for Node.js, providing type checking and IntelliSense for Node.js APIs. πŸ“š
typescript ^5.5.4 A superset of JavaScript that compiles to plain JavaScript and provides static type checking. πŸ’»

License

This project is licensed under the BSD 3-Clause License.


Final Steps

  1. Ensure your .env file is properly configured with at least the token and database_type values.
  2. Run npm install to install all dependencies.
  3. Start your bot using npm start (or build and run the compiled JavaScript => npm run start:build).

Enjoy using the Anonymous Chat Bot and feel free to extend its functionality as needed!


Contact