Исходники - Бот - прикольный простенький бот для расчета точного возраста | node js | End Way - форум программирования и сливов различных скриптов
  • Присоединяйтесь к нам в телеграм канал! EndWay канал | EndSoft канал | EWStudio канал
  • Хочешь поставить скрипт, но не умеешь?
    А может ты хочешь свой уникальный скрипт?

    Тогда добро пожаловать в нашу студию разработки!

    Телеграм бот: EWStudioBot
    Телеграм канал: EWStudio

Исходники Бот прикольный простенький бот для расчета точного возраста | node js

arturr

Джун
Автор темы
28 Июн 2024
3
1
3
работает через инлайн мод э, надо будет в botfather включить
т е пишите @юзербота 22.12.2003


const TelegramBot = require('node-telegram-bot-api');





const API_KEY_BOT = 'токен';

















const bot = new TelegramBot(API_KEY_BOT, {


polling: true


});


bot.on('text', async msg => {





try {


if(msg.text == '/start'){


await bot.sendMessage(msg.chat.id, '<i>*runned*</i>\n', { parse_mode: 'HTML' })


}





}


catch (error){


console.log(error)


}


})





bot.on('inline_query', query => {


try {


// Получаем текст запроса пользователя


const queryString = query.query;





// Разбиваем строку на массив по точке


const parts = queryString.split('.');





// Если количество частей не равно 3, значит, формат ввода неверен


if (parts.length !== 3) {


throw new Error('Неверный формат ввода даты. Используйте формат dd.mm.yyyy');


}





// Парсим дату из частей


const day = parseInt(parts[0], 10);


const month = parseInt(parts[1], 10) - 1; // Месяцы в JavaScript начинаются с 0


const year = parseInt(parts[2], 10);





// Создаем объект Date


const birthDate = new Date(year, month, day);





// Получаем текущую дату


const currentDate = new Date();





// Вычисляем возраст с точностью до долей


const ageMilliseconds = currentDate - birthDate;


const ageYears = ageMilliseconds / (1000 * 60 * 60 * 24 * 365.25); // Учитываем високосные года


const roundedAge = Math.round(ageYears * 100000) / 100000; // Округляем до пяти знаков после запятой





// Создаем текст для отправки пользователю


const messageText = <i>u've lived:</i> ${roundedAge};





// Формируем результат для ответа на inline запрос


const results = [{


type: 'article',


id: '1',


title: 'time is endless, until it isn\'t',


description: 'how much do you lost?',


input_message_content: {


message_text: messageText, parse_mode: 'HTML'


}


}];





// Отправляем результат пользователю


bot.answerInlineQuery(query.id, results, {


cache_time: 0


});


} catch (error) {


console.error('Error processing inline query:', error.message);





// Формируем сообщение об ошибке


const errorMessage = 'Произошла ошибка при обработке вашего запроса. Пожалуйста, попробуйте еще раз позже.';





// Формируем результат для ответа на inline запрос с сообщением об ошибке


const errorResult = [{


type: 'article',


id: '1',


title: 'format: dd.mm.yyyy',


input_message_content: {


message_text: errorMessage


}


}];





// Отправляем результат с сообщением об ошибке пользователю


bot.answerInlineQuery(query.id, errorResult, {


cache_time: 0


});


}});
 
Активность:
Пока что здесь никого нет