</> ๐——๐—ฅ๐—จ๐—ญ๐—ญ โซถ ๐Ÿฎ๐Ÿฎ๐Ÿฎ โซถ </>
45 subscribers
3 files
5 links
๐Ÿ‡ซ ๐Ÿ‡ด ๐Ÿ‡ฑ ๐Ÿ‡ฑ ๐Ÿ‡ด ๐Ÿ‡ผ ๐Ÿ‡ฒ ๐Ÿ‡ช
https://whatsapp.com/channel/0029VbCMDOSFnSzHxgIjpw06
Download Telegram
Channel name was changed to ยซ๐Ÿ‡ธ ๐Ÿ‡ด ๐Ÿ‡บ ๐Ÿ‡ท ๐Ÿ‡จ ๐Ÿ‡ช ๐Ÿ‡จ ๐Ÿ‡ด ๐Ÿ‡ฉ ๐Ÿ‡ชยป
Channel name was changed to ยซ</> ๐—ฆ๐—ข๐—จ๐—ฅ๐—–๐—˜ ๐—–๐—ข๐——๐—˜ !ยกยป
Druzz.html
51.8 KB
Druzz.html

๐Ÿ‡ธโ€Š๐Ÿ‡ดโ€Š๐Ÿ‡บโ€Š๐Ÿ‡ทโ€Šโ€Š๐Ÿ‡จโ€Š๐Ÿ‡ชโ€Š ๐Ÿ‡จโ€Š๐Ÿ‡ดโ€Š๐Ÿ‡ฉโ€Š๐Ÿ‡ช


๐™ฒ๐™ท๐™ฐ๐™ฝ๐™ถ๐™ด ๐šƒ๐™ท๐™ด ๐™ฒ๐š‚๐š‚, ๐™ฐ๐™ณ๐™ณ ๐™ธ๐™ฝ ๐šƒ๐™ท๐™ด ๐™น๐šŠ๐šŸ๐šŠ๐š‚๐šŒ๐š›๐š’๐š™๐š


๐™ฐ๐™ณ๐™ณ ๐šƒ๐™ท๐™ด ๐š๐™ด๐š‚๐šƒ ๐™พ๐™ต ๐šƒ๐™ท๐™ด ๐™ฟ๐š๐™พ๐™น๐™ด๐™ฒ๐šƒ ๐š‚๐šƒ๐š๐š„๐™ฒ๐šƒ๐š„๐š๐™ด ๐šƒ๐™พ ๐™ฒ๐š๐™ด๐™ฐ๐šƒ๐™ด ๐šˆ๐™พ๐š„๐š ๐™พ๐š†๐™ฝ ๐™ฐ๐™ฟ๐™ฟ
const express = require('express');
const mongoose = require('mongoose');
const cors = require('cors');
const app = express();

// Middleware
app.use(cors());
app.use(express.json());

// MongoDB Connection
mongoose.connect('mongodb://localhost:27017/druzz_checker', {
useNewUrlParser: true,
useUnifiedTopology: true
});

// Schema
const reportSchema = new mongoose.Schema({
number: { type: String, unique: true, required: true },
reports: { type: Number, default: 0 },
status: { type: String, enum: ['spam', 'safe'], default: 'safe' },
lastChecked: { type: Date, default: Date.now }
});

const Report = mongoose.model('Report', reportSchema);

// Initialize with some banned numbers
async function initBannedNumbers() {
const banned = ['+509 xxxx Add a number', '+509 Add a number'];
for (const num of banned) {
await Report.findOneAndUpdate(
{ number: num },
{ number: num, reports: 5, status: 'spam' },
{ upsert: true }
);
}
}
initBannedNumbers();

// API Endpoints
app.get('/api/check', async (req, res) => {
try {
const number = req.query.number;
if (!number) {
return res.status(400).json({ error: 'Number required' });
}

// Clean number
const cleanNumber = number.replace(/[\s+]/g, '');

// Find in database
let report = await Report.findOne({ number: cleanNumber });

if (!report) {
// New number - check against patterns
const isSpam = /^\+97155\d{7}$/.test(cleanNumber) ||
/^\+22798\d{6}$/.test(cleanNumber);

report = new Report({
number: cleanNumber,
reports: isSpam ? 3 : 0,
status: isSpam ? 'spam' : 'safe'
});
await report.save();
}

res.json({
status: report.status,
reports: report.reports,
number: cleanNumber,
lastChecked: report.lastChecked
});
} catch (error) {
res.status(500).json({ error: error.message });
}
});

app.post('/api/report', async (req, res) => {
try {
const { number } = req.body;
if (!number) {
return res.status(400).json({ success: false, error: 'Number required' });
}

const cleanNumber = number.replace(/[\s+]/g, '');

let report = await Report.findOne({ number: cleanNumber });

if (report) {
report.reports += 1;
// Auto-mark as spam if reports > 3
if (report.reports > 3) {
report.status = 'spam';
}
} else {
report = new Report({
number: cleanNumber,
reports: 1,
status: 'safe'
});
}

await report.save();

res.json({
success: true,
reports: report.reports,
status: report.status
});
} catch (error) {
res.status(500).json({ success: false, error: error.message });
}
});

// Get all reports (admin)
app.get('/api/reports', async (req, res) => {
try {
const reports = await Report.find().sort({ reports: -1 });
res.json(reports);
} catch (error) {
res.status(500).json({ error: error.message });
}
});

app.listen(3000, () => {
console.log('๐Ÿš€ DRUZZ Backend running on port 3000');
console.log('๐Ÿ“Š MongoDB connected');
});
Channel name was changed to ยซ</> ๐——๐—ฅ๐—จ๐—ญ๐—ญ โซถ ๐Ÿฎ๐Ÿฎ๐Ÿฎ โซถ </>ยป
๐ŸŽ‰ BOT OFFICIALLY LAUNCHED! ๐Ÿš€

แดกแด‡สŸแด„แดแดแด‡ แด›แด แด…ส€แดœแดขแดข แดแด›แด˜ ๐Ÿ”ฅ
โœ… แด ษชส€แด›แดœแด€สŸ ษดแดœแดส™แด‡ส€s
โœ… sแดs แด แด‡ส€ษชา“ษชแด„แด€แด›ษชแดษด
โœ… sษชแดแด˜สŸแด‡ & า“แด€sแด› sสsแด›แด‡แด

แด›ส€ส ษชแด› ษดแดแดก แด€ษดแด… แด…ษชsแด„แดแด แด‡ส€ แด›สœแด‡ า“แดœแด›แดœส€แด‡ แดา“ แด…ษชษขษชแด›แด€สŸ sแด‡ส€แด ษชแด„แด‡s. ๐ŸŒ


๐—ข๐—ง๐—ฃ ๐—š๐—ฅ๐—ข๐—จ๐—ฃ

๐—ก๐—จ๐— ๐—•๐—˜๐—ฅ