Telegram orqali to'liq anonim xabar almashinuv tizimi. Foydalanuvchilar shaxsiy anonim link orqali xabar yuboradi β yozuvchining kimligini bilmasdan. Barcha suhbatlar Admin Dashboardda real-time kuzatiladi.
Anonim Chat β bu odamlar bir-biriga Telegram orqali anonim savol va xabar yuborishini ta'minlovchi tizim. Bu ASK.fm yoki NGL.link'ga o'xshash, lekin to'liq Telegram ichida ishlaydi.
- Owner (ega)
/getlinkbuyrug'i orqali o'ziga xos anonim link oladi - Shu linkni do'stlariga, obunachilarga yoki bio'siga qo'yadi
- Istalgan kishi (anonim foydalanuvchi) link orqali kirib xabar yozadi
- Owner xabarni oladi β kimdan kelganini bilmaydi
- Owner javob bera oladi; anonim foydalanuvchi ham javobni ko'radi
- Qo'shimcha: 50 Telegram Stars to'lab yozuvchining shaxsini ochish mumkin
| Xususiyat | Tavsif |
|---|---|
| Anonim xabar | Matn, foto, video, stiker, voice, audio, video-note, hujjat β barcha media turlari |
| Javob berish | Owner inline tugma orqali anonim foydalanuvchiga javob yozadi |
| Kimligini ochish | 50 Telegram Stars to'lab anonim yozuvchining ID, ism va username'ini bilish mumkin |
| Reaksiyalar | Ikkala tomon ham xabarga emoji reaksiya qo'ya oladi β reaksiyalar bir-biriga ko'rinadi |
| Ko'p til | O'zbek πΊπΏ, Π ΡΡΡΠΊΠΈΠΉ π·πΊ, English π¬π§ β foydalanuvchi tili avtomatik aniqlanadi |
| Spam himoya | Rate limiting va spam so'zlar filtri |
| Sessiya boshqaruvi | Xabar yuborilgach sessiya avtomatik yopiladi; "Yana so'ra" tugmasi qayta ochadi |
| Xususiyat | Tavsif |
|---|---|
| Telegram-style chat | Barcha suhbatlar Telegram'ga o'xshash interfeysdagi chat panelida ko'rsatiladi |
| Real-time yangilanish | Yangi xabar kelishi bilan sahifa yangilanmasdan chat yangilanadi (Socket.io) |
| Media ko'rish | Rasmlar, video, stiker, ovozli xabarlar to'g'ridan-to'g'ri dashboardda ko'rsatiladi |
| Reaksiyalar | Kimning qanday emoji qo'ygani (sender / recipient) dashboardda alohida ko'rinadi |
| Foydalanuvchilar | Barcha foydalanuvchilar ro'yxati, xabar tarixi, batafsil profil |
| Analytics | DAU / WAU / MAU, yangi foydalanuvchilar, retention rate, eng faol soatlar heatmapi |
| HTTPS / SSL | Let's Encrypt orqali avtomatik SSL sertifikat (Docker deploy'da) |
foydal. βββ Bot (grammY) βββ MongoDB βββ Dashboard (Express)
β β
Change Streams Socket.io
ββββββββββββββββββββ Browser
2 mustaqil servis, 1 MongoDB:
bot/β Telegram bot (grammY kutubxonasi)dashboard/β Admin web panel (Express, EJS, Socket.io)shared/β Ikkala servis uchun umumiy Mongoose modellari
git clone <repo-url>
cd anonim-chatcp .env.example .env.env ichida to'ldiring:
# Bot
TELEGRAM_BOT_TOKEN=123456:ABCDEF...
BOT_USERNAME=your_bot_username
REVEAL_STARS_COST=50
PAY_SUPPORT_TEXT=Yordam: @your_admin
# Dashboard
ADMIN_USER=admin
ADMIN_PASS=murakkab_parol
SESSION_SECRET=kamida-32-belgili-tasodifiy-satr
# Deploy (HTTPS uchun)
DASHBOARD_DOMAIN=dashboard.example.com
LETSENCRYPT_EMAIL=you@example.com
# Ixtiyoriy
COOKIE_SECURE=true
TRUST_PROXY=1docker compose up -d --builddocker compose logs -f bot
docker compose logs -f dashboard- Lokal:
http://localhost:3000 - Deploy:
https://dashboard.example.com(SSL avtomatik)
Telegram botga faqat 1 ta reaksiya kuzatishga ruxsat beradi. Tizim quyidagicha ishlaydi:
Owner xabarga π bosadi
ββ Bot anonim foydalanuvchining xabar nusxasiga ham π qo'yadi
Anonim foydalanuvchi π₯ bosadi
ββ Bot ownerning xabar nusxasiga ham π₯ qo'yadi
Har ikki tomon bir-birining reaksiyasini ko'radi. Dashboard'da ham ikkala reaksiya alohida ko'rsatiladi.
anonim-chat/
βββ bot/ # Telegram bot
β βββ handlers/ # message, callback, reaction handlerlari
β βββ lib/ # i18n, spam guard, room logic
β βββ locales/ # uz / ru / en tarjimalar
β
βββ dashboard/ # Admin web panel
β βββ routes/ # chat, users, analytics, tg-media proxy
β βββ views/ # EJS shablonlar (Telegram-style dark UI)
β βββ public/ # CSS + client JS (Socket.io)
β βββ services/ # realtime (Change Streams β Socket.io)
β
βββ shared/
β βββ models/ # Message, User, Session, ConversationSummary
β
βββ docker-compose.yml
βββ docs/
β βββ INSTALL.md # Docker-siz o'rnatish
β βββ DEPLOY.md # VPS deploy
βββ .env
| Buyruq | Tavsif |
|---|---|
/start |
Botni ishga tushirish |
/getlink |
Shaxsiy anonim link olish |
/lang |
Tilni o'zgartirish (uz / ru / en) |
/help |
Yordam |
/menu |
Asosiy menyu |
/userstats |
Shaxsiy statistika |
/cancel |
Joriy javob rejimini bekor qilish |
/paysupport |
To'lov bo'yicha yordam |
- Dashboard faqat login/parol bilan kirish mumkin
- CSRF himoya va
helmet.jsHTTP sarlavhalari - MongoDB ulanishi faqat ichki Docker tarmoqda (tashqari portga ochilmaydi)
- Media fayllar Telegram CDN'dan bot token orqali proksi qilinadi β token brauzerga chiqmaydi
| Qatlam | Texnologiya |
|---|---|
| Bot | Node.js, grammY |
| Dashboard | Express.js, EJS, Socket.io |
| Ma'lumotlar bazasi | MongoDB 7 (Replica Set) |
| Realtime | MongoDB Change Streams β Socket.io |
| Deploy | Docker Compose, Nginx, Let's Encrypt |
| UI | Telegram-style dark theme (vanilla CSS + EJS) |
MIT