Untitled
unknown
plain_text
2 years ago
2.1 kB
9
Indexable
const { MongoClient, ObjectId } = require('mongodb');
const { Telegraf, Markup } = require('telegraf');
const mongoUrl = 'mongodb://localhost:27017';
async function connectToMongoDB(database) {
const client = new MongoClient(mongoUrl, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
try {
await client.connect();
console.log('Connected to MongoDB');
const dbName = `${database}`;
return client.db(dbName);
} catch (err) {
console.error('Error connecting to MongoDB:', err);
throw err;
}
}
const botToken = '6603105438:AAGerPBDETAyKehhbqwmqyawpv1iu32gKAA';
const bot = new Telegraf(botToken);
bot.command('start', (ctx) => {
const userId = ctx.from.id;
ctx.reply('Choose a database:', Markup.inlineKeyboard([
Markup.button.callback('Server 1', 'choose_db_server_1'),
Markup.button.callback('Server 2', 'choose_db_server_2'),
]));
});
bot.action('choose_db_server_2', async (ctx) => {
const database = 'server_1';
ctx.db = ctx.db || {};
ctx.db.database = database;
ctx.reply('Enter the user ID to search:');
});
bot.action('choose_db_server_1', async (ctx) => {
const database = 'server_2';
ctx.db = ctx.db || {};
ctx.db.database = database;
ctx.reply('Enter the user ID to search:');
});
bot.on('text', async (ctx) => {
const database = (ctx.db && ctx.db.database) || 'lainnya';
const db = await connectToMongoDB(database);
const targetUserId = parseInt(ctx.message.text.trim(), 10);
const userData = await db.collection('users').findOne({ _id: targetUserId });
console.log(database);
if (userData) {
ctx.reply(`User data:\nDatabase: ${database}\nTarget User ID: ${userData._id}\nUsername: ${userData.username}\n Status Premium: ${userData.user_premium}\n`);
} else {
ctx.reply('User data not found.');
}
});
bot.launch().then(() => {
console.log('Bot is running');
}).catch((err) => {
console.error('Error starting the bot:', err);
});
Editor is loading...
Leave a Comment