Spaces:
Paused
Paused
| import { BotContext } from "../types/botTypes"; | |
| import { formatPrice } from "./priceUtils"; | |
| import { messageManager } from "./messageManager"; | |
| export const getWelcomeMessage = (name: string = "عزيزي المستخدم") => { | |
| return messageManager.getMessage('welcome').replace('{name}', name); | |
| }; | |
| export const getLoginMessage = () => { | |
| return messageManager.getMessage('login'); | |
| }; | |
| export const getTermsMessage = () => { | |
| return messageManager.getMessage('terms'); | |
| }; | |
| export const getNewMembersMessage = () => { | |
| return messageManager.getMessage('new_members'); | |
| }; | |
| export const getStatsMessage = () => { | |
| return messageManager.getMessage('stats') | |
| .replace('{current_datetime}', new Date().toLocaleString('ar-SA')); | |
| }; | |
| export const getHelpMessage = () => { | |
| return messageManager.getMessage('help'); | |
| }; | |
| export const getAboutMessage = () => { | |
| return messageManager.getMessage('about'); | |
| }; | |
| export const getContactMessage = () => { | |
| return messageManager.getMessage('contact'); | |
| }; | |
| export const getAuthRequiredMessage = () => { | |
| return messageManager.getMessage('auth_required'); | |
| }; | |
| // export const getCountriesListMessage = (service: string, page: number = 0) => { | |
| // return messageManager.getMessage('countries_list') | |
| // .replace('{service}', service) | |
| // .replace('{page > 0 ? `📑 الصفحة: {page + 1}\n` : \'\'}', | |
| // page > 0 ? `📑 الصفحة: ${page + 1}\n` : ''); | |
| // }; | |
| export const getCountriesListMessage = (service: string, page: number = 0) => { | |
| return ` | |
| 🌍 *الدول المتاحة لخدمة ${service}* | |
| ${page > 0 ? `📑 الصفحة: ${page + 1}\n` : ''}✨ اختر الدولة التي تريدها من القائمة التالية: | |
| `; | |
| }; | |
| export const getServiceErrorMessage = (service: string) => { | |
| return messageManager.getMessage('service_error') | |
| .replace('{service}', service); | |
| }; | |
| export const getLoadingPricesMessage = (service: string, countryId: string) => { | |
| return messageManager.getMessage('loading_prices') | |
| .replace('{service}', service) | |
| .replace('{countryId}', countryId); | |
| }; | |
| export const getNoPricesMessage = (service: string, countryId: string) => { | |
| return messageManager.getMessage('no_prices') | |
| .replace('{service}', service) | |
| .replace('{countryId}', countryId); | |
| }; | |
| export const getPricesListMessage = ( | |
| service: string, | |
| countryId: string, | |
| prices: any, | |
| ctx: BotContext | |
| ) => { | |
| const countryName = countryId; // Consider using a real mapping function like getCountryName(countryId) | |
| let message = messageManager.getMessage('prices_list') | |
| .replace('{service}', service) | |
| .replace('{countryName}', countryName); | |
| // If you want to include prices in the future: | |
| // Object.entries(prices).forEach(([operator, priceInfo]: [string, any]) => { | |
| // const formattedPrice = formatPrice(ctx, priceInfo.cost); | |
| // const availability = priceInfo.count > 0 ? ` (${priceInfo.count} متاح)` : ' (غير متوفر)'; | |
| // message += `${operator}: ${formattedPrice}${availability}\n`; | |
| // }); | |
| return message; | |
| }; | |
| export const getPricesErrorMessage = (service: string, countryId: string) => { | |
| return messageManager.getMessage('prices_error') | |
| .replace('{service}', service) | |
| .replace('{countryId}', countryId); | |
| }; | |
| export const getProcessingPurchaseMessage = (service: string, countryId: string) => { | |
| return messageManager.getMessage('processing_purchase') | |
| .replace('{service}', service) | |
| .replace('{countryId}', countryId); | |
| }; | |
| export const getServiceUnavailableMessage = ( | |
| service: string, | |
| operator: string, | |
| countryId: string | |
| ) => { | |
| return messageManager.getMessage('service_unavailable') | |
| .replace('{service}', service) | |
| .replace('{operator}', operator) | |
| .replace('{countryId}', countryId); | |
| }; | |
| export const getInsufficientBalanceMessage = (cost: number, balance: number) => { | |
| return messageManager.getMessage('insufficient_balance') | |
| .replace('{cost}', cost.toString()) | |
| .replace('{balance}', balance.toString()); | |
| }; | |
| export const getPurchaseSuccessMessage = ( | |
| purchaseResult: any, | |
| service: string, | |
| countryId: string, | |
| operator: string, | |
| cost: number | |
| ) => { | |
| return messageManager.getMessage('purchase_success') | |
| .replace('{phone}', purchaseResult.phone) | |
| .replace('{countryId}', countryId) | |
| .replace('{operator}', operator) | |
| .replace('{cost}', cost.toString()) | |
| .replace('{expires}', purchaseResult.expires.toString()); | |
| }; | |
| export const getPurchaseFailedMessage = () => { | |
| return messageManager.getMessage('purchase_failed'); | |
| }; | |
| export const getPurchaseErrorMessage = (errorMessage: string) => { | |
| return messageManager.getMessage('purchase_error') | |
| .replace('{error_message}', errorMessage || 'سبب غير معروف'); | |
| }; | |
| export const getPaginationErrorMessage = () => { | |
| return messageManager.getMessage('pagination_error'); | |
| }; | |
| export const getVerificationCodeMessage = (phone: string, code: string) => { | |
| return messageManager.getMessage('verification_code') | |
| .replace('{phone}', phone) | |
| .replace('{code}', code) | |
| .replace('{current_time}', new Date().toLocaleTimeString('ar-SA')); | |
| }; | |
| export const getVerificationTimeoutMessage = () => { | |
| return messageManager.getMessage('verification_timeout'); | |
| }; | |
| export const getSearchProductPromptMessage = () => { | |
| return messageManager.getMessage('search_product_prompt'); | |
| }; | |
| export const getNoSearchResultsMessage = () => { | |
| return messageManager.getMessage('no_search_results'); | |
| }; | |
| export const getInvalidSearchInputMessage = () => { | |
| return messageManager.getMessage('invalid_search_input'); | |
| }; | |
| export const getSearchCountryPromptMessage = () => { | |
| return messageManager.getMessage('search_country_prompt'); | |
| }; | |
| export const getNoCountrySearchResultsMessage = () => { | |
| return messageManager.getMessage('no_country_search_results'); | |
| }; | |
| export const getAffordableProductsMessage = (balance: number, ctx: BotContext) => { | |
| return messageManager.getMessage('affordable_products_list') | |
| .replace('{balance}', formatPrice(ctx, balance)); | |
| }; | |
| export const getNoAffordableProductsMessage = (balance: number, ctx: BotContext) => { | |
| return messageManager.getMessage('no_affordable_products') | |
| .replace('{balance}', formatPrice(ctx, balance)); | |
| }; | |
| export const getJoinGroupRequiredMessage = (group: string) => { | |
| return { | |
| ar: `⚠️ يجب عليك الانضمام إلى المجموعة أولاً لاستخدام البوت\n\n📢 انضم إلى المجموعة: @${group}`, | |
| en: `⚠️ You must join the group first to use the bot\n\n📢 Join the group: @${group}` | |
| }; | |
| }; |