Skip to content

Commit 174dcf8

Browse files
authored
chore: updated contact handle logic (#119)
1 parent bab8d7e commit 174dcf8

1 file changed

Lines changed: 26 additions & 13 deletions

File tree

apps/web-app/server/services/telegram/order-bot.ts

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,12 @@ async function handleStart(ctx: Context) {
6060
if (!telegramUser) {
6161
// Get phone number
6262
await ctx.reply(
63-
`Всего один шаг — подтвердите номер телефона 📱👇\n\n*Продолжая, вы подтверждаете своё согласие на [сбор и обработку персональных данных](https://sushi-love.ru), а также принимаете условия [Пользовательского соглашения](https://sushi-love.ru)*`,
63+
`Всего один шаг — подтвердите номер телефона 📱👇\n\n_Продолжая, вы подтверждаете своё согласие на [сбор и обработку персональных данных](https://sushi-love.ru), а также принимаете условия [Пользовательского соглашения](https://sushi-love.ru)_`,
6464
{
6565
parse_mode: 'MarkdownV2',
66+
link_preview_options: {
67+
is_disabled: true,
68+
},
6669
reply_markup: {
6770
keyboard: [[{ text: 'Подтвердить номер', request_contact: true }]],
6871
one_time_keyboard: true,
@@ -98,20 +101,30 @@ async function handleContact(ctx: Context) {
98101
surname: ctx.message.from.last_name,
99102
})
100103

101-
const telegramUser = await repository.telegram.createUser({
102-
telegramUserType: ctx.message.chat.type,
103-
telegramId: ctx.message.from.id.toString(),
104-
firstName: ctx.message.from.first_name,
105-
lastName: ctx.message.from.last_name,
106-
username: ctx.message.from.username,
107-
botId: telegram.orderBotId,
108-
accessKey: createId(),
109-
clientId: client.id,
110-
})
104+
const telegramUser = await repository.telegram.findClientByTelegramIdAndBotId(ctx.message.from.id.toString(), telegram.orderBotId)
105+
if (!telegramUser?.id) {
106+
const telegramUser = await repository.telegram.createUser({
107+
telegramUserType: ctx.message.chat.type,
108+
telegramId: ctx.message.from.id.toString(),
109+
firstName: ctx.message.from.first_name,
110+
lastName: ctx.message.from.last_name,
111+
username: ctx.message.from.username,
112+
botId: telegram.orderBotId,
113+
accessKey: createId(),
114+
clientId: client.id,
115+
})
116+
117+
logger.log('new user', telegramUser)
111118

112-
logger.log('new user', telegramUser)
119+
await ctx.reply('Успех! Теперь вы можете совершать заказы.', {
120+
reply_markup: {
121+
keyboard: [],
122+
},
123+
})
124+
return
125+
}
113126

114-
await ctx.reply('Успех! Теперь вы можете совершать заказы.')
127+
await ctx.reply('Номер уже подтвержден.')
115128
}
116129

117130
async function handleMessage(ctx: Context) {

0 commit comments

Comments
 (0)