mirror of
https://github.com/abocn/TelegramBot.git
synced 2025-03-10 21:00:03 +00:00
Implemented blocklist + some code changes
This commit is contained in:
parent
945182329e
commit
4b0e188467
@ -4,7 +4,7 @@
|
|||||||
"description": "A simple Telegram bot made in Node.js",
|
"description": "A simple Telegram bot made in Node.js",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"WARN: no test specified\" && exit 1",
|
||||||
"start": "node --env-file=config.env src/main.js"
|
"start": "node --env-file=config.env src/main.js"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
28
src/blocklist.js
Normal file
28
src/blocklist.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
const blocklistPath = path.join(__dirname, '../blocklist.txt');
|
||||||
|
|
||||||
|
let blocklist = [];
|
||||||
|
|
||||||
|
const readBlocklist = () => {
|
||||||
|
try {
|
||||||
|
const data = fs.readFileSync(blocklistPath, 'utf8');
|
||||||
|
blocklist = data.split('\n').map(id => id.trim()).filter(id => id !== '');
|
||||||
|
} catch (error) {
|
||||||
|
if (error.code === 'ENOENT') {
|
||||||
|
console.log('WARN: Blocklist file not found. Creating a new one.');
|
||||||
|
fs.writeFileSync(blocklistPath, ''); // Create an empty blocklist file
|
||||||
|
} else {
|
||||||
|
console.error('WARN: Error reading blocklist:', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const isBlocked = (userId) => {
|
||||||
|
return blocklist.includes(String(userId));
|
||||||
|
};
|
||||||
|
|
||||||
|
readBlocklist();
|
||||||
|
|
||||||
|
module.exports = { isBlocked };
|
@ -31,6 +31,6 @@ module.exports = function(bot, msg) {
|
|||||||
const message = chatNameOutput;
|
const message = chatNameOutput;
|
||||||
|
|
||||||
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /chatinfo executed by ${userName}, ${userId}`);
|
console.log(`INFO: /chatinfo executed by ${userName}, ${userId}`);
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,6 @@ module.exports = function(bot, msg) {
|
|||||||
const message = "Select your pronouns:";
|
const message = "Select your pronouns:";
|
||||||
|
|
||||||
bot.sendMessage(chatId, message, opts,{ parse_mode: 'Markdown' })
|
bot.sendMessage(chatId, message, opts,{ parse_mode: 'Markdown' })
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /customize executed by ${userName}, ${userId}`);
|
console.log(`INFO: /customize executed by ${userName}, ${userId}`);
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,6 @@ module.exports = function(bot, msg) {
|
|||||||
const message = `${isFurry}`;
|
const message = `${isFurry}`;
|
||||||
|
|
||||||
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /furry executed by ${userName}, ${userId}`);
|
console.log(`INFO: /furry executed by ${userName}, ${userId}`);
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,6 @@ module.exports = function(bot, msg) {
|
|||||||
const message = `${isGay}`;
|
const message = `${isGay}`;
|
||||||
|
|
||||||
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /gay executed by ${userName}, ${userId}`);
|
console.log(`INFO: /gay executed by ${userName}, ${userId}`);
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,6 @@ module.exports = function(bot, msg) {
|
|||||||
`Thanks to all users, testers, contributors, and others. Without you, perhaps this bot wouldn't be possible ❤️`;
|
`Thanks to all users, testers, contributors, and others. Without you, perhaps this bot wouldn't be possible ❤️`;
|
||||||
|
|
||||||
bot.sendPhoto(chatId, lynxFullPhoto, { caption: message, parse_mode: 'Markdown' })
|
bot.sendPhoto(chatId, lynxFullPhoto, { caption: message, parse_mode: 'Markdown' })
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /help executed by ${userName}, ${userId}`);
|
console.log(`INFO: /help executed by ${userName}, ${userId}`);
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ module.exports = function(bot, msg) {
|
|||||||
const message = `*Generated value:* ${randomValue}`;
|
const message = `*Generated value:* ${randomValue}`;
|
||||||
|
|
||||||
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /random executed by ${userName}, ${userId}`);
|
console.log(`INFO: /random executed by ${userName}, ${userId}`);
|
||||||
}
|
}
|
||||||
|
|
@ -7,6 +7,6 @@ module.exports = function(bot, msg) {
|
|||||||
const message = `*Hello! I am Lynx!*\nI was made with love by Lucas Gabriel (lucmsilva)!\n\nSee /help for the bot commands!`;
|
const message = `*Hello! I am Lynx!*\nI was made with love by Lucas Gabriel (lucmsilva)!\n\nSee /help for the bot commands!`;
|
||||||
|
|
||||||
bot.sendPhoto(chatId, lynxProfilePhoto, { caption: message, parse_mode: 'Markdown' } )
|
bot.sendPhoto(chatId, lynxProfilePhoto, { caption: message, parse_mode: 'Markdown' } )
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /start executed by ${userName}, ${userId}`);
|
console.log(`INFO: /start executed by ${userName}, ${userId}`);
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,6 @@ module.exports = function (bot, msg) {
|
|||||||
const message = getSystemInfo();
|
const message = getSystemInfo();
|
||||||
|
|
||||||
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /stats executed by ${userName}, ${userId}`);
|
console.log(`INFO: /stats executed by ${userName}, ${userId}`);
|
||||||
};
|
};
|
||||||
|
@ -24,6 +24,6 @@ module.exports = function(bot, msg) {
|
|||||||
const message = `*Your name is:* ${userName}\n${haveUsername}\n*Your ID is:* ${userId}\n*You are a bot:* ${isBot}\n*Your language:* ${userLang}\n\n${userPremiumOutput}`;
|
const message = `*Your name is:* ${userName}\n${haveUsername}\n*Your ID is:* ${userId}\n*You are a bot:* ${isBot}\n*Your language:* ${userLang}\n\n${userPremiumOutput}`;
|
||||||
|
|
||||||
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
bot.sendMessage(chatId, message, { parse_mode: 'Markdown' })
|
||||||
.catch(error => console.error('ERROR: Message cannot be sent:', error));
|
.catch(error => console.error('WARN: Message cannot be sent:', error));
|
||||||
console.log(`INFO: /whois executed by ${userName}, ${userId}`);
|
console.log(`INFO: /whois executed by ${userName}, ${userId}`);
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ const logMessage = async (message) => {
|
|||||||
|
|
||||||
console.log = (message) => {
|
console.log = (message) => {
|
||||||
logMessage(message).catch(err => {
|
logMessage(message).catch(err => {
|
||||||
process.stderr.write(`Error writing to log: ${err}\n`);
|
process.stderr.write(`WARN: Error writing to log: ${err}\n`);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
10
src/main.js
10
src/main.js
@ -2,6 +2,7 @@ const TelegramBot = require('node-telegram-bot-api');
|
|||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const logMessage = require('./logger');
|
const logMessage = require('./logger');
|
||||||
|
const { isBlocked } = require('./blocklist'); // Importa a função de blocklist
|
||||||
const token = process.env.TGBOT_TOKEN;
|
const token = process.env.TGBOT_TOKEN;
|
||||||
const bot = new TelegramBot(token, { polling: true });
|
const bot = new TelegramBot(token, { polling: true });
|
||||||
|
|
||||||
@ -15,6 +16,13 @@ fs.readdirSync(commandsPath).forEach(file => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
bot.on('message', (msg) => {
|
bot.on('message', (msg) => {
|
||||||
|
const userId = msg.from.id;
|
||||||
|
|
||||||
|
if (isBlocked(userId)) {
|
||||||
|
console.log(`WARN: Blocked user ${userId} tried to access the bot.`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const messageText = msg.text;
|
const messageText = msg.text;
|
||||||
if (commandHandlers[messageText]) {
|
if (commandHandlers[messageText]) {
|
||||||
commandHandlers[messageText](bot, msg);
|
commandHandlers[messageText](bot, msg);
|
||||||
@ -22,7 +30,7 @@ bot.on('message', (msg) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
bot.on('polling_error', (error) => {
|
bot.on('polling_error', (error) => {
|
||||||
console.error('Polling error:', error);
|
console.error('WARN: Polling error:', error);
|
||||||
});
|
});
|
||||||
|
|
||||||
const date = new Date().toString();
|
const date = new Date().toString();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user