stilnie-detki

node v14.20.1
version: 5.0.0
endpointsharetweet
const Telegraf = require('telegraf') const Koa = require('koa') const koaBody = require('koa-body') const bot = new Telegraf(process.env.BOT_TOKENSTILED) var Airtable = require('airtable'); var base = new Airtable({apiKey: process.env.AIRTABLE_stile_KEY}).base(process.env.stile_BASE); var code='45' const { Router, Markup } = Telegraf bot.command('start', ({ reply }) => reply('«Стильные детки» - первая детская парикмахерская в Минске, куда приходят с удовольствием, а уходят с улыбкой!💝', Markup .keyboard([['🎈 О Нас'],['✅Записать ','✅✅Личный кабинет'],['🔔​ Время на сегодня ','🎁Акции']]) .oneTime(true) .resize(true) .extra() ) ) bot.hears('back⬅️', ({ reply }) => reply('«Стильные детки» - первая детская парикмахерская в Минске, куда приходят с удовольствием, а уходят с улыбкой!💝', Markup .keyboard([['🎈 О Нас'],['✅Записаться ','✅✅Личный кабинет'],['🔔​ Время на сегодня ','🎁Акции']]) .oneTime(true) .resize(true) .extra()) ) bot.hears('🎈 О Нас', ctx => {ctx.replyWithMarkdown('*м.Уручье* \n `пр. Независимости,185 , пом. 314 (вход со двора)` \n📞[+375 44 743 03 02](+375 44 743 03 02) \n *м.Грушевка*\n`пр. Дзержинского, 9, пом. 1038 ( вход со двора)` \n📞[+375 44 759 09 09](+375 44 759 09 09 )\n*м.ПАРТИЗАНСКАЯ*\n`пр. Партизанский, 93, пом. 1 ` \n📞[ +375 44 759 10 10]( +375 44 759 10 10)',Markup.inlineKeyboard([[Markup.callbackButton('🧞‍♀️Мастера','master')],[Markup.callbackButton('🗺Карта и 🕖время работы','map')],[Markup.callbackButton('💳Цены','price')]]).extra())}) bot.action('master', (ctx) =>{ctx.editMessageText('Выберите мастера',Markup.inlineKeyboard([[Markup.switchToCurrentChatButton('Мастера','')]]).extra()) }) bot.action('price', (ctx) =>{ base('Price').select({ maxRecords: 5, view: "Grid view" }).firstPage(function(err, records) { if (err) { console.error(err); return; } const messagesRecords = []; records.forEach(function(record) { messagesRecords.push(`${record.get('Наименование')}: ${record.get('Цена')}`) }); const eol = '\n'; let message = `*Детский зал*${eol}`; message += messagesRecords.join(eol); console.log(message); ctx.replyWithMarkdown(message,Markup.keyboard([Markup.contactRequestButton( '✈️ Отправить свой номер телефона'),' back⬅️']) .oneTime(true) .resize(true) .extra()) }) }) /* bot.action('price', (ctx) =>{ctx.replyWithMarkdown(`Наши цены вас приятно удивят\nПервая… насадка\nСтрижка под машинку-наголо`,Markup.keyboard([Markup.contactRequestButton( '✈️ Отправить свой номер телефона'),' back⬅️']) .oneTime(true) .resize(true) .extra()) })*/ bot.action('map', (ctx) =>{ctx.editMessageText(`🕖 ${ctx.callbackQuery.data}Время работы Пн-Вс 10-20`,Markup.inlineKeyboard([[Markup.callbackButton('🚇м.Уручье','ur')],[Markup.callbackButton('🚇м.Грушевка','gr')],[Markup.callbackButton('🚇м.ПАРТИЗАНСКАЯ','pa')]]).extra()) }) bot.action('ur', (ctx) =>ctx.telegram.sendVenue(ctx.chat.id,53.9475022,27.6900315,'🚇м.Уручье','пр. Независимости,185 , пом. 314')) bot.action('gr', (ctx) =>ctx.telegram.sendVenue(ctx.chat.id,53.8897994,27.5218976,'🚇м.Грушевка','пр. Дзержинского, 9, пом. 1038')) bot.action('pa', (ctx) =>ctx.telegram.sendVenue(ctx.chat.id,53.8740097,27.6334664,'🚇м.ПАРТИЗАНСКАЯ','пр. Партизанский, 93, пом. 1')) bot.hears('✅Записаться', ctx =>{ ctx.replyWithMarkdown(`Здравстуйте ${ctx.message.from.first_name} , оставьте свой номер телефона.Наш диспетчер согласует с вами время ` ,Markup.keyboard([Markup.contactRequestButton( '✈️ Отправить свой номер телефона'),' back⬅️']).oneTime(true).resize(true).extra())}) bot.on('contact',(ctx) =>{ctx.telegram.sendMessage(ctx.from.id, `Спасибо , 5 минут 🕑 и мы вам перезвоним ${ctx.message.contact.phone_number} `) var phone=ctx.message.contact.phone_number; var id=ctx.message.chat.id; var name=ctx.message.from.first_name; base('Client').create([ { "fields": { "ID Telegram":''+id+'', "Name":name, "Phone": ''+phone+'' }} ], function(err, records) { if (err) { console.error(err); return; } records.forEach(function (record) { console.log(record.getId()); }); }); }) bot.hears('🔔​ Время на сегодня', ctx =>{ ctx.replyWithMarkdown(`Свободное время на сегодня ` ,Markup.inlineKeyboard([[Markup.callbackButton('12-30','1230'),Markup.callbackButton('Записаться','order')]]).extra())}) bot.on('callback_query', (ctx)=>{ const action = ctx.callbackQuery.data; const msg = ctx.callbackQuery.message; if (action === 'order') {console.log(`${ctx.callbackQuery.data}`); ctx.answerCbQuery(`Спасибо , 5 минут 🕑 и мы вам перезвоним `)} else if (action === 'orders') {ctx.answerCbQuery(`Спасибо, 5 минут 🕑 и мы вам перезвоним `)} }); bot.hears('🎁Акции', ctx =>{ ctx.replyWithMarkdown(`Проголосуй 👍 за наши парикмахерские и мы вернем *2р* от [чека](https://images.unsplash.com/photo-1509909756405-be0199881695?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=60)` ,Markup.inlineKeyboard([[Markup.callbackButton('Подписаться на акции','acc')]]).extra())}) bot.hears('✅✅Личный кабинет', ctx =>{ ctx.replyWithMarkdown(`Здравстуйте ${ctx.message.from.first_name} , укажите ваш код`)}) bot.on('text', (ctx, next) => { if (ctx.message.text==code) { return ctx.reply(`Ваша скидка 10%`)} ctx.replyWithMarkdown(`Вы не зарегистрированы. Пройдите регистрацию. Спасибо,оставьте свой номер телефона ` ,Markup.keyboard([Markup.contactRequestButton( '✈️ Отправить свой номер телефона'),' back⬅️']).oneTime(true) .resize(true).extra()) }) bot.on('inline_query', (ctx) => {const result =[] result.push({ type:'photo', id:'0', photo_url:'http://stilnie-detki.by/wp-content/uploads/2019/01/TC9A2441-%D0%BA%D0%BE%D0%BF%D0%B8%D1%8F-200x300.jpg', thumb_url:'http://stilnie-detki.by/wp-content/uploads/2019/01/TC9A2441-%D0%BA%D0%BE%D0%BF%D0%B8%D1%8F-200x300.jpg', parse_mode:'Markdown', caption:'*АЛЕКСАНДРА ВОЛКОВА*' }, { type:'photo', id:'1', photo_url:'http://stilnie-detki.by/wp-content/uploads/2019/01/image-01-02-19-11-13-300x300.jpeg', thumb_url:'http://stilnie-detki.by/wp-content/uploads/2019/01/image-01-02-19-11-13-300x300.jpeg', parse_mode:'Markdown', caption:'*ЕКАТЕРИНА КУЦАЕВА*' }, { type:'photo', id:'2', photo_url:'http://stilnie-detki.by/wp-content/uploads/2019/01/image-01-02-19-11-47-300x300.jpeg', thumb_url:'http://stilnie-detki.by/wp-content/uploads/2019/01/image-01-02-19-11-47-300x300.jpeg', parse_mode:'Markdown', caption:'*ЕЛЕНА ЯСИНСКАЯ*' }) ctx.answerInlineQuery(result,{switch_pm_text:'Стильные детки🤰➡️перейти в чат-бот💭', switch_pm_parameter:'hello' }) }) /*bot.launch()*/ bot.telegram.setWebhook('https://stilniedetki2-c0mcmvuvzxcp.runkit.sh/a125') const app = new Koa() app.use(koaBody()) app.use(async (ctx, next) => { if (ctx.method !== 'POST' || ctx.url !== '/a125') { return next() } await bot.handleUpdate(ctx.request.body, ctx.response) ctx.status = 200 }) app.use(async (ctx) => { ctx.body = 'Hello World' }) app.listen(3000)
Loading…

no comments

    sign in to comment