Update Russian localization and enhance contact addition flow
- Changed terminology from "клиент" to "пользователь" for consistency in user interactions. - Updated messages to clarify user instructions for adding contacts and handling phone numbers. - Added validation to prevent users from adding their own phone number as a contact. - Improved conversation prompts for better user experience during contact addition.
This commit is contained in:
parent
ec3c2869c1
commit
31adf7e7b3
@ -25,7 +25,7 @@ description =
|
||||
start =
|
||||
.description = Запуск бота
|
||||
addcontact =
|
||||
.description = Добавить контакт клиента
|
||||
.description = Добавить контакт пользователя
|
||||
sharebot =
|
||||
.description = Поделиться ботом
|
||||
subscribe =
|
||||
@ -36,7 +36,7 @@ help =
|
||||
.description = Список команд и поддержка
|
||||
commands-list =
|
||||
📋 Доступные команды:
|
||||
• /addcontact — добавить контакт клиента
|
||||
• /addcontact — добавить контакт пользователя
|
||||
• /sharebot — поделиться ботом
|
||||
• /subscribe — приобрести Pro доступ
|
||||
• /pro — информация о вашем Pro доступе
|
||||
@ -72,15 +72,18 @@ msg-already-registered =
|
||||
✅ Вы уже зарегистрированы в системе
|
||||
|
||||
Для смены номера телефона обратитесь в поддержку (Контакты в профиле бота)
|
||||
msg-invalid-phone = ❌ Некорректный номер телефона
|
||||
msg-invalid-phone = ❌ Некорректный номер телефона. Пример корректного номера: +79999999999
|
||||
|
||||
# Сообщения о контактах
|
||||
msg-send-client-contact = 👤 Отправьте контакт клиента, которого вы хотите добавить.
|
||||
msg-send-contact = Пожалуйста, отправьте контакт клиента через кнопку Telegram
|
||||
msg-send-client-contact = 👤 Отправьте контакт пользователя, которого вы хотите добавить.
|
||||
msg-send-client-contact-or-phone = 👤 Отправьте контакт пользователя или введите его номер телефона в сообщении
|
||||
msg-send-contact = Пожалуйста, отправьте контакт пользователя через кнопку Telegram
|
||||
msg-send-client-name = ✍️ Введите имя пользователя одним сообщением
|
||||
msg-invalid-name = ❌ Некорректное имя. Попробуйте еще раз
|
||||
msg-contact-added =
|
||||
✅ Добавили { $name } в список ваших клиентов
|
||||
✅ Добавили { $name } в список ваших контактов
|
||||
|
||||
Пригласите клиента в приложение, чтобы вы могли добавлять с ним записи
|
||||
Пригласите пользователя в приложение, чтобы вы могли добавлять с ним записи
|
||||
msg-contact-forward = Перешлите пользователю следующее сообщение, чтобы он мог начать пользоваться ботом ⬇️
|
||||
|
||||
# Сообщения для шаринга
|
||||
@ -101,6 +104,7 @@ err-with-details = ❌ Произошла ошибка
|
||||
{ $error }
|
||||
err-limit-exceeded = 🚫 Слишком много запросов! Подождите немного
|
||||
err-missing-telegram-id = ❌ Telegram ID не найден
|
||||
err-cannot-add-self = ❌ Нельзя добавить свой номер телефона как контакт
|
||||
|
||||
|
||||
# Сообщения о доступе
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
/* eslint-disable sonarjs/cognitive-complexity */
|
||||
/* eslint-disable id-length */
|
||||
import { type Context } from '@/bot/context';
|
||||
import { KEYBOARD_SHARE_BOT, KEYBOARD_SHARE_PHONE } from '@/config/keyboards';
|
||||
@ -24,25 +25,49 @@ export async function addContact(conversation: Conversation<Context, Context>, c
|
||||
);
|
||||
}
|
||||
|
||||
// Просим отправить контакт клиента
|
||||
// Просим отправить контакт или номер телефона
|
||||
await ctx.reply(
|
||||
await conversation.external(({ t }) =>
|
||||
combine(t('msg-send-client-contact'), t('msg-cancel-operation')),
|
||||
combine(t('msg-send-client-contact-or-phone'), t('msg-cancel-operation')),
|
||||
),
|
||||
);
|
||||
|
||||
// Ждем любое сообщение от пользователя
|
||||
const waitCtx = await conversation.wait();
|
||||
// Ждём первое сообщение: контакт или текст с номером
|
||||
const firstCtx = await conversation.wait();
|
||||
|
||||
// Проверяем, что отправлен контакт
|
||||
if (!waitCtx.message?.contact) {
|
||||
return ctx.reply(await conversation.external(({ t }) => t('msg-send-contact')));
|
||||
let name = '';
|
||||
let phone = '';
|
||||
|
||||
if (firstCtx.message?.contact) {
|
||||
const { contact } = firstCtx.message;
|
||||
name = `${contact.first_name || ''} ${contact.last_name || ''}`.trim();
|
||||
phone = normalizePhoneNumber(contact.phone_number);
|
||||
} else if (firstCtx.message?.text) {
|
||||
const typedPhone = normalizePhoneNumber(firstCtx.message.text);
|
||||
if (!isValidPhoneNumber(typedPhone)) {
|
||||
return ctx.reply(await conversation.external(({ t }) => t('msg-invalid-phone')));
|
||||
}
|
||||
|
||||
// Нельзя добавлять свой собственный номер телефона
|
||||
if (customer.phone && normalizePhoneNumber(customer.phone) === typedPhone) {
|
||||
return ctx.reply(await conversation.external(({ t }) => t('err-cannot-add-self')));
|
||||
}
|
||||
|
||||
phone = typedPhone;
|
||||
|
||||
// Просим ввести имя клиента
|
||||
await ctx.reply(await conversation.external(({ t }) => t('msg-send-client-name')));
|
||||
const nameCtx = await conversation.wait();
|
||||
const typedName = nameCtx.message?.text?.trim() || '';
|
||||
if (!typedName) {
|
||||
return ctx.reply(await conversation.external(({ t }) => t('msg-invalid-name')));
|
||||
}
|
||||
|
||||
name = typedName;
|
||||
} else {
|
||||
return ctx.reply(await conversation.external(({ t }) => t('msg-send-client-contact-or-phone')));
|
||||
}
|
||||
|
||||
const { contact } = waitCtx.message;
|
||||
const name = `${contact.first_name || ''} ${contact.last_name || ''}`.trim();
|
||||
const phone = normalizePhoneNumber(contact.phone_number);
|
||||
|
||||
// Проверяем валидность номера телефона
|
||||
if (!isValidPhoneNumber(phone)) {
|
||||
return ctx.reply(await conversation.external(({ t }) => t('msg-invalid-phone')));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user