feat(localization): add Pro subscription information and update command list
- Introduced new localization entry for Pro subscription information. - Updated command list to include 'pro' command for better user guidance. - Enhanced existing subscription messages for clarity and consistency.
This commit is contained in:
parent
297ab1df2b
commit
2b2b8ebdc4
@ -32,6 +32,8 @@ help =
|
|||||||
.description = Список команд и поддержка
|
.description = Список команд и поддержка
|
||||||
subscribe =
|
subscribe =
|
||||||
.description = Оформить подписку
|
.description = Оформить подписку
|
||||||
|
pro =
|
||||||
|
.description = Информация о Pro подписке
|
||||||
commands-list =
|
commands-list =
|
||||||
📋 Доступные команды:
|
📋 Доступные команды:
|
||||||
• /addcontact — добавить контакт клиента
|
• /addcontact — добавить контакт клиента
|
||||||
@ -98,4 +100,8 @@ msg-subscribe-success = ✅ Платеж успешно обработан!
|
|||||||
msg-subscribe-error = ❌ Произошла ошибка при обработке платежа
|
msg-subscribe-error = ❌ Произошла ошибка при обработке платежа
|
||||||
msg-subscription-active-until = 📅 Ваша подписка активна до { $date }
|
msg-subscription-active-until = 📅 Ваша подписка активна до { $date }
|
||||||
msg-subscription-active-days = 📅 Осталось еще { $days } дней вашей подписки
|
msg-subscription-active-days = 📅 Осталось еще { $days } дней вашей подписки
|
||||||
msg-subscribe-disabled = 🚫 Подписка отключена. Все ограничения сняты! Наслаждайтесь полным доступом! 🎉
|
msg-subscribe-disabled = 🚫 Подписка отключена. Все ограничения сняты! Наслаждайтесь полным доступом! 🎉
|
||||||
|
|
||||||
|
# Информация о лимитах
|
||||||
|
msg-remaining-orders-this-month = 🧾 Доступно заказов в этом месяце: { $count }
|
||||||
|
msg-subscription-active-days = 📅 Осталось еще { $days } дней вашей подписки
|
||||||
@ -1,5 +1,6 @@
|
|||||||
export * from './add-contact';
|
export * from './add-contact';
|
||||||
export * from './help';
|
export * from './help';
|
||||||
|
export * from './pro';
|
||||||
export * from './registration';
|
export * from './registration';
|
||||||
export * from './share-bot';
|
export * from './share-bot';
|
||||||
export * from './subscription';
|
export * from './subscription';
|
||||||
|
|||||||
28
apps/bot/src/bot/features/pro.ts
Normal file
28
apps/bot/src/bot/features/pro.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { type Context } from '@/bot/context';
|
||||||
|
import { logHandle } from '@/bot/helpers/logging';
|
||||||
|
import { SubscriptionsService } from '@repo/graphql/api/subscriptions';
|
||||||
|
import { Composer } from 'grammy';
|
||||||
|
|
||||||
|
const composer = new Composer<Context>();
|
||||||
|
const feature = composer.chatType('private');
|
||||||
|
|
||||||
|
feature.command('pro', logHandle('command-pro'), async (ctx) => {
|
||||||
|
const telegramId = ctx.from.id;
|
||||||
|
const subscriptionsService = new SubscriptionsService({ telegramId });
|
||||||
|
|
||||||
|
const { subscriptionSetting } = await subscriptionsService.getSubscriptionSettings();
|
||||||
|
const proEnabled = subscriptionSetting?.proEnabled;
|
||||||
|
|
||||||
|
if (!proEnabled) return ctx.reply(ctx.t('msg-subscribe-disabled'));
|
||||||
|
|
||||||
|
const { hasActiveSubscription, remainingDays, remainingOrdersCount } =
|
||||||
|
await subscriptionsService.getSubscription({ telegramId });
|
||||||
|
|
||||||
|
if (hasActiveSubscription && remainingDays > 0) {
|
||||||
|
return ctx.reply(ctx.t('msg-subscription-active-days', { days: remainingDays }));
|
||||||
|
}
|
||||||
|
|
||||||
|
return ctx.reply(ctx.t('msg-remaining-orders-this-month', { count: remainingOrdersCount }));
|
||||||
|
});
|
||||||
|
|
||||||
|
export { composer as pro };
|
||||||
@ -5,7 +5,7 @@ import { type LanguageCode } from '@grammyjs/types';
|
|||||||
import { type Api, type Bot, type RawApi } from 'grammy';
|
import { type Api, type Bot, type RawApi } from 'grammy';
|
||||||
|
|
||||||
export async function setCommands({ api }: Bot<Context, Api<RawApi>>) {
|
export async function setCommands({ api }: Bot<Context, Api<RawApi>>) {
|
||||||
const commands = createCommands(['start', 'addcontact', 'sharebot', 'help', 'subscribe']);
|
const commands = createCommands(['start', 'addcontact', 'sharebot', 'help', 'subscribe', 'pro']);
|
||||||
|
|
||||||
for (const command of commands) {
|
for (const command of commands) {
|
||||||
addLocalizations(command);
|
addLocalizations(command);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user