38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
const {
|
||
Telegraf,
|
||
Markup
|
||
} = require('telegraf')
|
||
const bot = new Telegraf(process.env.BOT_TOKEN)
|
||
const {
|
||
UserModel,
|
||
BusinessModel
|
||
} = global.config
|
||
|
||
module.exports = async (ctx) => {
|
||
ctx.args = ctx.update.message.text.split(' ')
|
||
if (!ctx.args[1]) return ctx.reply(`/invite [Nick]`)
|
||
let user = await UserModel.findByPk(ctx.from.id)
|
||
if (user.business.id == 0) return await ctx.reply(`🚫 У вас нет организации в которую можно пригласить игрока.`)
|
||
let business = await BusinessModel.findOne({
|
||
where: {
|
||
owner: ctx.from.id.toString()
|
||
}
|
||
})
|
||
if (business.users.length >= 5) return await ctx.reply(`📛 Достигнуто максимальное количество сотрудников в организации.`)
|
||
let invited = await UserModel.findOne({
|
||
where: {
|
||
username: ctx.args[1]
|
||
}
|
||
});
|
||
await bot.telegram.sendMessage(invited.telegram_id, '⤵️ Приглашение', Markup
|
||
.inlineKeyboard([
|
||
[{
|
||
text: `Принять`,
|
||
callback_data: `{"type": "business_invite_accept", "invitor": "${user.telegram_id}"}`
|
||
}, {
|
||
text: `Отклонить`,
|
||
callback_data: `{"type": "business_invite_refuse", "invitor": "${user.telegram_id}"}`
|
||
}]
|
||
]).oneTime())
|
||
return await ctx.reply(`Приглашение отправлено.`)
|
||
} |