File size: 6,591 Bytes
80d4bc1 c46400f a90edf4 65d6a69 52048a9 80d4bc1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
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}`
};
}; |