|
|
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 ` |
|
|
🌍 *الدول المتاحة لخدمة ${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; |
|
|
let message = messageManager.getMessage('prices_list') |
|
|
.replace('{service}', service) |
|
|
.replace('{countryName}', countryName); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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}` |
|
|
}; |
|
|
}; |