Mohammed Foud
commited on
Commit
ยท
ce25012
1
Parent(s):
039ba14
all
Browse files- src/bots/handlers/purchaseHandlers.ts +5 -8
- src/bots/utils/country.ts +161 -160
- src/bots/utils/keyboardUtils.ts +3 -2
src/bots/handlers/purchaseHandlers.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { AuthService } from '../services/auth';
|
|
| 3 |
import { VirtualNumberService } from '../services/VirtualNumberService';
|
| 4 |
import { PurchaseTrackingService, PurchaseState } from '../services/PurchaseTrackingService';
|
| 5 |
import { createLogger } from '../../utils/logger';
|
| 6 |
-
import { serviceMapping } from './serviceHandlers';
|
| 7 |
import {
|
| 8 |
getAuthRequiredMessage,
|
| 9 |
getServiceUnavailableMessage,
|
|
@@ -38,7 +37,7 @@ export const setupPurchaseHandlers = (bot: any) => {
|
|
| 38 |
|
| 39 |
// Then execute the actual purchase logic
|
| 40 |
try {
|
| 41 |
-
await executePurchase(ctx, service, countryId, operator,
|
| 42 |
} catch (error: any) {
|
| 43 |
logger.error(`Error in purchase execution: ${error.message}`);
|
| 44 |
await ctx.deleteMessage(loadingMsg.message_id);
|
|
@@ -52,7 +51,6 @@ export const executePurchase = async (
|
|
| 52 |
service: string,
|
| 53 |
countryId: string,
|
| 54 |
operator: string,
|
| 55 |
-
serviceMapping: {[key: string]: string},
|
| 56 |
loadingMsgId: number
|
| 57 |
) => {
|
| 58 |
// ๐ Authentication check
|
|
@@ -65,11 +63,10 @@ export const executePurchase = async (
|
|
| 65 |
|
| 66 |
let costWithProfit = 0;
|
| 67 |
try {
|
| 68 |
-
const
|
| 69 |
-
const prices = await virtualNumberService.getPrices(fiveSimService, countryId);
|
| 70 |
|
| 71 |
// Add validation to check if the price exists for this operator
|
| 72 |
-
if (!prices || !prices[countryId] || !prices[countryId][
|
| 73 |
await ctx.deleteMessage(loadingMsgId);
|
| 74 |
await ctx.reply(
|
| 75 |
getServiceUnavailableMessage(service, operator, countryId),
|
|
@@ -78,7 +75,7 @@ export const executePurchase = async (
|
|
| 78 |
return;
|
| 79 |
}
|
| 80 |
|
| 81 |
-
const cost = prices[countryId][
|
| 82 |
|
| 83 |
// Apply profit to the cost
|
| 84 |
costWithProfit = calculatePriceWithProfit(ctx, cost, 'RUB');
|
|
@@ -95,7 +92,7 @@ export const executePurchase = async (
|
|
| 95 |
}
|
| 96 |
|
| 97 |
// ๐ Purchase number
|
| 98 |
-
const purchaseResult = await virtualNumberService.purchaseNumber(
|
| 99 |
await ctx.deleteMessage(loadingMsgId);
|
| 100 |
|
| 101 |
if (purchaseResult && purchaseResult.phone) {
|
|
|
|
| 3 |
import { VirtualNumberService } from '../services/VirtualNumberService';
|
| 4 |
import { PurchaseTrackingService, PurchaseState } from '../services/PurchaseTrackingService';
|
| 5 |
import { createLogger } from '../../utils/logger';
|
|
|
|
| 6 |
import {
|
| 7 |
getAuthRequiredMessage,
|
| 8 |
getServiceUnavailableMessage,
|
|
|
|
| 37 |
|
| 38 |
// Then execute the actual purchase logic
|
| 39 |
try {
|
| 40 |
+
await executePurchase(ctx, service, countryId, operator, loadingMsg.message_id);
|
| 41 |
} catch (error: any) {
|
| 42 |
logger.error(`Error in purchase execution: ${error.message}`);
|
| 43 |
await ctx.deleteMessage(loadingMsg.message_id);
|
|
|
|
| 51 |
service: string,
|
| 52 |
countryId: string,
|
| 53 |
operator: string,
|
|
|
|
| 54 |
loadingMsgId: number
|
| 55 |
) => {
|
| 56 |
// ๐ Authentication check
|
|
|
|
| 63 |
|
| 64 |
let costWithProfit = 0;
|
| 65 |
try {
|
| 66 |
+
const prices = await virtualNumberService.getPrices(service, countryId);
|
|
|
|
| 67 |
|
| 68 |
// Add validation to check if the price exists for this operator
|
| 69 |
+
if (!prices || !prices[countryId] || !prices[countryId][service] || !prices[countryId][service][operator]) {
|
| 70 |
await ctx.deleteMessage(loadingMsgId);
|
| 71 |
await ctx.reply(
|
| 72 |
getServiceUnavailableMessage(service, operator, countryId),
|
|
|
|
| 75 |
return;
|
| 76 |
}
|
| 77 |
|
| 78 |
+
const cost = prices[countryId][service][operator].cost;
|
| 79 |
|
| 80 |
// Apply profit to the cost
|
| 81 |
costWithProfit = calculatePriceWithProfit(ctx, cost, 'RUB');
|
|
|
|
| 92 |
}
|
| 93 |
|
| 94 |
// ๐ Purchase number
|
| 95 |
+
const purchaseResult = await virtualNumberService.purchaseNumber(service, countryId, operator);
|
| 96 |
await ctx.deleteMessage(loadingMsgId);
|
| 97 |
|
| 98 |
if (purchaseResult && purchaseResult.phone) {
|
src/bots/utils/country.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
interface CountryInfo {
|
| 2 |
label: string;
|
| 3 |
flag: string;
|
|
|
|
| 4 |
}
|
| 5 |
|
| 6 |
interface CountryData {
|
|
@@ -8,164 +9,164 @@ interface CountryData {
|
|
| 8 |
}
|
| 9 |
|
| 10 |
export const countryData: CountryData = {
|
| 11 |
-
afghanistan: { label: "Afghanistan", flag: "๐ฆ๐ซ" },
|
| 12 |
-
albania: { label: "Albania", flag: "๐ฆ๐ฑ" },
|
| 13 |
-
algeria: { label: "Algeria", flag: "๐ฉ๐ฟ" },
|
| 14 |
-
angola: { label: "Angola", flag: "๐ฆ๐ด" },
|
| 15 |
-
antiguaandbarbuda: { label: "Antigua and Barbuda", flag: "๐ฆ๐ฌ" },
|
| 16 |
-
argentina: { label: "Argentina", flag: "๐ฆ๐ท" },
|
| 17 |
-
armenia: { label: "Armenia", flag: "๐ฆ๐ฒ" },
|
| 18 |
-
aruba: { label: "Aruba", flag: "๐ฆ๐ผ" },
|
| 19 |
-
australia: { label: "Australia", flag: "๐ฆ๐บ" },
|
| 20 |
-
austria: { label: "Austria", flag: "๐ฆ๐น" },
|
| 21 |
-
azerbaijan: { label: "Azerbaijan", flag: "๐ฆ๐ฟ" },
|
| 22 |
-
bahamas: { label: "Bahamas", flag: "๐ง๐ธ" },
|
| 23 |
-
bahrain: { label: "Bahrain", flag: "๐ง๐ญ" },
|
| 24 |
-
bangladesh: { label: "Bangladesh", flag: "๐ง๐ฉ" },
|
| 25 |
-
barbados: { label: "Barbados", flag: "๐ง๐ง" },
|
| 26 |
-
belarus: { label: "Belarus", flag: "๐ง๐พ" },
|
| 27 |
-
belgium: { label: "Belgium", flag: "๐ง๐ช" },
|
| 28 |
-
belize: { label: "Belize", flag: "๐ง๐ฟ" },
|
| 29 |
-
benin: { label: "Benin", flag: "๐ง๐ฏ" },
|
| 30 |
-
bhutane: { label: "Bhutan", flag: "๐ง๐น" },
|
| 31 |
-
bih: { label: "Bosnia and Herzegovina", flag: "๐ง๐ฆ" },
|
| 32 |
-
bolivia: { label: "Bolivia", flag: "๐ง๐ด" },
|
| 33 |
-
botswana: { label: "Botswana", flag: "๐ง๐ผ" },
|
| 34 |
-
brazil: { label: "Brazil", flag: "๐ง๐ท" },
|
| 35 |
-
bulgaria: { label: "Bulgaria", flag: "๐ง๐ฌ" },
|
| 36 |
-
burkinafaso: { label: "Burkina Faso", flag: "๐ง๐ซ" },
|
| 37 |
-
burundi: { label: "Burundi", flag: "๐ง๐ฎ" },
|
| 38 |
-
cambodia: { label: "Cambodia", flag: "๐ฐ๐ญ" },
|
| 39 |
-
cameroon: { label: "Cameroon", flag: "๐จ๐ฒ" },
|
| 40 |
-
canada: { label: "Canada", flag: "๐จ๐ฆ" },
|
| 41 |
-
capeverde: { label: "Cape Verde", flag: "๐จ๐ป" },
|
| 42 |
-
chad: { label: "Chad", flag: "๐น๐ฉ" },
|
| 43 |
-
chile: { label: "Chile", flag: "๐จ๐ฑ" },
|
| 44 |
-
colombia: { label: "Colombia", flag: "๐จ๐ด" },
|
| 45 |
-
comoros: { label: "Comoros", flag: "๐ฐ๐ฒ" },
|
| 46 |
-
congo: { label: "Congo", flag: "๐จ๐ฌ" },
|
| 47 |
-
costarica: { label: "Costa Rica", flag: "๐จ๐ท" },
|
| 48 |
-
croatia: { label: "Croatia", flag: "๐ญ๐ท" },
|
| 49 |
-
cyprus: { label: "Cyprus", flag: "๐จ๐พ" },
|
| 50 |
-
czech: { label: "Czech Republic", flag: "๐จ๐ฟ" },
|
| 51 |
-
denmark: { label: "Denmark", flag: "๐ฉ๐ฐ" },
|
| 52 |
-
djibouti: { label: "Djibouti", flag: "๐ฉ๐ฏ" },
|
| 53 |
-
dominicana: { label: "Dominican Republic", flag: "๐ฉ๐ด" },
|
| 54 |
-
easttimor: { label: "East Timor", flag: "๐น๐ฑ" },
|
| 55 |
-
ecuador: { label: "Ecuador", flag: "๐ช๐จ" },
|
| 56 |
-
egypt: { label: "Egypt", flag: "๐ช๐ฌ" },
|
| 57 |
-
england: { label: "England", flag: "๐ด" },
|
| 58 |
-
equatorialguinea: { label: "Equatorial Guinea", flag: "๐ฌ๐ถ" },
|
| 59 |
-
estonia: { label: "Estonia", flag: "๐ช๐ช" },
|
| 60 |
-
ethiopia: { label: "Ethiopia", flag: "๐ช๐น" },
|
| 61 |
-
finland: { label: "Finland", flag: "๐ซ๐ฎ" },
|
| 62 |
-
france: { label: "France", flag: "๐ซ๐ท" },
|
| 63 |
-
frenchguiana: { label: "French Guiana", flag: "๐ฌ๐ซ" },
|
| 64 |
-
gabon: { label: "Gabon", flag: "๐ฌ๐ฆ" },
|
| 65 |
-
gambia: { label: "Gambia", flag: "๐ฌ๐ฒ" },
|
| 66 |
-
georgia: { label: "Georgia", flag: "๐ฌ๐ช" },
|
| 67 |
-
germany: { label: "Germany", flag: "๐ฉ๐ช" },
|
| 68 |
-
ghana: { label: "Ghana", flag: "๐ฌ๐ญ" },
|
| 69 |
-
gibraltar: { label: "Gibraltar", flag: "๐ฌ๐ฎ" },
|
| 70 |
-
greece: { label: "Greece", flag: "๐ฌ๐ท" },
|
| 71 |
-
guadeloupe: { label: "Guadeloupe", flag: "๐ฌ๐ต" },
|
| 72 |
-
guatemala: { label: "Guatemala", flag: "๐ฌ๐น" },
|
| 73 |
-
guinea: { label: "Guinea", flag: "๐ฌ๐ณ" },
|
| 74 |
-
guineabissau: { label: "Guinea-Bissau", flag: "๐ฌ๐ผ" },
|
| 75 |
-
guyana: { label: "Guyana", flag: "๐ฌ๐พ" },
|
| 76 |
-
haiti: { label: "Haiti", flag: "๐ญ๐น" },
|
| 77 |
-
honduras: { label: "Honduras", flag: "๐ญ๐ณ" },
|
| 78 |
-
hongkong: { label: "Hong Kong", flag: "๐ญ๐ฐ" },
|
| 79 |
-
hungary: { label: "Hungary", flag: "๐ญ๐บ" },
|
| 80 |
-
india: { label: "India", flag: "๐ฎ๐ณ" },
|
| 81 |
-
indonesia: { label: "Indonesia", flag: "๐ฎ๐ฉ" },
|
| 82 |
-
ireland: { label: "Ireland", flag: "๐ฎ๐ช" },
|
| 83 |
-
israel: { label: "Israel", flag: "๐ฎ๐ฑ" },
|
| 84 |
-
italy: { label: "Italy", flag: "๐ฎ๐น" },
|
| 85 |
-
ivorycoast: { label: "Ivory Coast", flag: "๐จ๐ฎ" },
|
| 86 |
-
jamaica: { label: "Jamaica", flag: "๐ฏ๐ฒ" },
|
| 87 |
-
jordan: { label: "Jordan", flag: "๐ฏ๐ด" },
|
| 88 |
-
kazakhstan: { label: "Kazakhstan", flag: "๐ฐ๐ฟ" },
|
| 89 |
-
kenya: { label: "Kenya", flag: "๐ฐ๐ช" },
|
| 90 |
-
kuwait: { label: "Kuwait", flag: "๐ฐ๐ผ" },
|
| 91 |
-
kyrgyzstan: { label: "Kyrgyzstan", flag: "๐ฐ๐ฌ" },
|
| 92 |
-
laos: { label: "Laos", flag: "๐ฑ๐ฆ" },
|
| 93 |
-
latvia: { label: "Latvia", flag: "๐ฑ๐ป" },
|
| 94 |
-
lesotho: { label: "Lesotho", flag: "๐ฑ๐ธ" },
|
| 95 |
-
liberia: { label: "Liberia", flag: "๐ฑ๐ท" },
|
| 96 |
-
lithuania: { label: "Lithuania", flag: "๐ฑ๐น" },
|
| 97 |
-
luxembourg: { label: "Luxembourg", flag: "๐ฑ๐บ" },
|
| 98 |
-
macau: { label: "Macau", flag: "๐ฒ๐ด" },
|
| 99 |
-
madagascar: { label: "Madagascar", flag: "๐ฒ๐ฌ" },
|
| 100 |
-
malawi: { label: "Malawi", flag: "๐ฒ๐ผ" },
|
| 101 |
-
malaysia: { label: "Malaysia", flag: "๐ฒ๐พ" },
|
| 102 |
-
maldives: { label: "Maldives", flag: "๐ฒ๐ป" },
|
| 103 |
-
mauritania: { label: "Mauritania", flag: "๐ฒ๐ท" },
|
| 104 |
-
mauritius: { label: "Mauritius", flag: "๐ฒ๐บ" },
|
| 105 |
-
mexico: { label: "Mexico", flag: "๐ฒ๐ฝ" },
|
| 106 |
-
moldova: { label: "Moldova", flag: "๐ฒ๐ฉ" },
|
| 107 |
-
mongolia: { label: "Mongolia", flag: "๐ฒ๐ณ" },
|
| 108 |
-
montenegro: { label: "Montenegro", flag: "๐ฒ๐ช" },
|
| 109 |
-
morocco: { label: "Morocco", flag: "๐ฒ๐ฆ" },
|
| 110 |
-
mozambique: { label: "Mozambique", flag: "๐ฒ๐ฟ" },
|
| 111 |
-
namibia: { label: "Namibia", flag: "๐ณ๐ฆ" },
|
| 112 |
-
nepal: { label: "Nepal", flag: "๐ณ๐ต" },
|
| 113 |
-
netherlands: { label: "Netherlands", flag: "๐ณ๐ฑ" },
|
| 114 |
-
newcaledonia: { label: "New Caledonia", flag: "๐ณ๐จ" },
|
| 115 |
-
newzealand: { label: "New Zealand", flag: "๐ณ๐ฟ" },
|
| 116 |
-
nicaragua: { label: "Nicaragua", flag: "๐ณ๐ฎ" },
|
| 117 |
-
nigeria: { label: "Nigeria", flag: "๐ณ๐ฌ" },
|
| 118 |
-
northmacedonia: { label: "North Macedonia", flag: "๐ฒ๐ฐ" },
|
| 119 |
-
norway: { label: "Norway", flag: "๐ณ๐ด" },
|
| 120 |
-
oman: { label: "Oman", flag: "๐ด๐ฒ" },
|
| 121 |
-
pakistan: { label: "Pakistan", flag: "๐ต๐ฐ" },
|
| 122 |
-
panama: { label: "Panama", flag: "๐ต๐ฆ" },
|
| 123 |
-
papuanewguinea: { label: "Papua New Guinea", flag: "๐ต๐ฌ" },
|
| 124 |
-
paraguay: { label: "Paraguay", flag: "๐ต๐พ" },
|
| 125 |
-
peru: { label: "Peru", flag: "๐ต๐ช" },
|
| 126 |
-
philippines: { label: "Philippines", flag: "๐ต๐ญ" },
|
| 127 |
-
poland: { label: "Poland", flag: "๐ต๐ฑ" },
|
| 128 |
-
portugal: { label: "Portugal", flag: "๐ต๐น" },
|
| 129 |
-
puertorico: { label: "Puerto Rico", flag: "๐ต๐ท" },
|
| 130 |
-
reunion: { label: "Rรฉunion", flag: "๐ท๐ช" },
|
| 131 |
-
romania: { label: "Romania", flag: "๐ท๐ด" },
|
| 132 |
-
russia: { label: "Russia", flag: "๐ท๐บ" },
|
| 133 |
-
rwanda: { label: "Rwanda", flag: "๐ท๐ผ" },
|
| 134 |
-
saintkittsandnevis: { label: "Saint Kitts and Nevis", flag: "๐ฐ๐ณ" },
|
| 135 |
-
saintlucia: { label: "Saint Lucia", flag: "๐ฑ๐จ" },
|
| 136 |
-
saintvincentandgrenadines: { label: "Saint Vincent and the Grenadines", flag: "๐ป๐จ" },
|
| 137 |
-
salvador: { label: "El Salvador", flag: "๐ธ๐ป" },
|
| 138 |
-
samoa: { label: "Samoa", flag: "๐ผ๐ธ" },
|
| 139 |
-
saudiarabia: { label: "Saudi Arabia", flag: "๐ธ๐ฆ" },
|
| 140 |
-
senegal: { label: "Senegal", flag: "๐ธ๐ณ" },
|
| 141 |
-
serbia: { label: "Serbia", flag: "๐ท๐ธ" },
|
| 142 |
-
seychelles: { label: "Seychelles", flag: "๐ธ๐จ" },
|
| 143 |
-
sierraleone: { label: "Sierra Leone", flag: "๐ธ๐ฑ" },
|
| 144 |
-
singapore: { label: "Singapore", flag: "๐ธ๐ฌ" },
|
| 145 |
-
slovakia: { label: "Slovakia", flag: "๐ธ๐ฐ" },
|
| 146 |
-
slovenia: { label: "Slovenia", flag: "๐ธ๐ฎ" },
|
| 147 |
-
solomonislands: { label: "Solomon Islands", flag: "๐ธ๐ง" },
|
| 148 |
-
southafrica: { label: "South Africa", flag: "๐ฟ๐ฆ" },
|
| 149 |
-
spain: { label: "Spain", flag: "๐ช๐ธ" },
|
| 150 |
-
srilanka: { label: "Sri Lanka", flag: "๐ฑ๐ฐ" },
|
| 151 |
-
suriname: { label: "Suriname", flag: "๐ธ๐ท" },
|
| 152 |
-
swaziland: { label: "Eswatini", flag: "๐ธ๐ฟ" },
|
| 153 |
-
sweden: { label: "Sweden", flag: "๐ธ๐ช" },
|
| 154 |
-
switzerland: { label: "Switzerland", flag: "๐จ๐ญ" },
|
| 155 |
-
taiwan: { label: "Taiwan", flag: "๐น๐ผ" },
|
| 156 |
-
tajikistan: { label: "Tajikistan", flag: "๐น๐ฏ" },
|
| 157 |
-
tanzania: { label: "Tanzania", flag: "๐น๐ฟ" },
|
| 158 |
-
thailand: { label: "Thailand", flag: "๐น๐ญ" },
|
| 159 |
-
tit: { label: "East Timor", flag: "๐น๐ฑ" },
|
| 160 |
-
togo: { label: "Togo", flag: "๐น๐ฌ" },
|
| 161 |
-
tunisia: { label: "Tunisia", flag: "๐น๐ณ" },
|
| 162 |
-
turkmenistan: { label: "Turkmenistan", flag: "๐น๐ฒ" },
|
| 163 |
-
uganda: { label: "Uganda", flag: "๐บ๐ฌ" },
|
| 164 |
-
ukraine: { label: "Ukraine", flag: "๐บ๐ฆ" },
|
| 165 |
-
uruguay: { label: "Uruguay", flag: "๐บ๐พ" },
|
| 166 |
-
usa: { label: "United States", flag: "๐บ๐ธ" },
|
| 167 |
-
uzbekistan: { label: "Uzbekistan", flag: "๐บ๐ฟ" },
|
| 168 |
-
venezuela: { label: "Venezuela", flag: "๐ป๐ช" },
|
| 169 |
-
vietnam: { label: "Vietnam", flag: "๐ป๐ณ" },
|
| 170 |
-
zambia: { label: "Zambia", flag: "๐ฟ๐ฒ" }
|
| 171 |
};
|
|
|
|
| 1 |
interface CountryInfo {
|
| 2 |
label: string;
|
| 3 |
flag: string;
|
| 4 |
+
code: string;
|
| 5 |
}
|
| 6 |
|
| 7 |
interface CountryData {
|
|
|
|
| 9 |
}
|
| 10 |
|
| 11 |
export const countryData: CountryData = {
|
| 12 |
+
afghanistan: { label: "Afghanistan", flag: "๐ฆ๐ซ", code: "+93" },
|
| 13 |
+
albania: { label: "Albania", flag: "๐ฆ๐ฑ", code: "+355" },
|
| 14 |
+
algeria: { label: "Algeria", flag: "๐ฉ๐ฟ", code: "+213" },
|
| 15 |
+
angola: { label: "Angola", flag: "๐ฆ๐ด", code: "+244" },
|
| 16 |
+
antiguaandbarbuda: { label: "Antigua and Barbuda", flag: "๐ฆ๐ฌ", code: "+1" },
|
| 17 |
+
argentina: { label: "Argentina", flag: "๐ฆ๐ท", code: "+54" },
|
| 18 |
+
armenia: { label: "Armenia", flag: "๐ฆ๐ฒ", code: "+374" },
|
| 19 |
+
aruba: { label: "Aruba", flag: "๐ฆ๐ผ", code: "+297" },
|
| 20 |
+
australia: { label: "Australia", flag: "๐ฆ๐บ", code: "+61" },
|
| 21 |
+
austria: { label: "Austria", flag: "๐ฆ๐น", code: "+43" },
|
| 22 |
+
azerbaijan: { label: "Azerbaijan", flag: "๐ฆ๐ฟ", code: "+994" },
|
| 23 |
+
bahamas: { label: "Bahamas", flag: "๐ง๐ธ", code: "+1" },
|
| 24 |
+
bahrain: { label: "Bahrain", flag: "๐ง๐ญ", code: "+973" },
|
| 25 |
+
bangladesh: { label: "Bangladesh", flag: "๐ง๐ฉ", code: "+880" },
|
| 26 |
+
barbados: { label: "Barbados", flag: "๐ง๐ง", code: "+1" },
|
| 27 |
+
belarus: { label: "Belarus", flag: "๐ง๐พ", code: "+375" },
|
| 28 |
+
belgium: { label: "Belgium", flag: "๐ง๐ช", code: "+32" },
|
| 29 |
+
belize: { label: "Belize", flag: "๐ง๐ฟ", code: "+501" },
|
| 30 |
+
benin: { label: "Benin", flag: "๐ง๐ฏ", code: "+229" },
|
| 31 |
+
bhutane: { label: "Bhutan", flag: "๐ง๐น", code: "+975" },
|
| 32 |
+
bih: { label: "Bosnia and Herzegovina", flag: "๐ง๐ฆ", code: "+387" },
|
| 33 |
+
bolivia: { label: "Bolivia", flag: "๐ง๐ด", code: "+591" },
|
| 34 |
+
botswana: { label: "Botswana", flag: "๐ง๐ผ", code: "+267" },
|
| 35 |
+
brazil: { label: "Brazil", flag: "๐ง๐ท", code: "+55" },
|
| 36 |
+
bulgaria: { label: "Bulgaria", flag: "๐ง๐ฌ", code: "+359" },
|
| 37 |
+
burkinafaso: { label: "Burkina Faso", flag: "๐ง๐ซ", code: "+226" },
|
| 38 |
+
burundi: { label: "Burundi", flag: "๐ง๐ฎ", code: "+257" },
|
| 39 |
+
cambodia: { label: "Cambodia", flag: "๐ฐ๐ญ", code: "+855" },
|
| 40 |
+
cameroon: { label: "Cameroon", flag: "๐จ๐ฒ", code: "+237" },
|
| 41 |
+
canada: { label: "Canada", flag: "๐จ๐ฆ", code: "+1" },
|
| 42 |
+
capeverde: { label: "Cape Verde", flag: "๐จ๐ป", code: "+238" },
|
| 43 |
+
chad: { label: "Chad", flag: "๐น๐ฉ", code: "+235" },
|
| 44 |
+
chile: { label: "Chile", flag: "๐จ๐ฑ", code: "+56" },
|
| 45 |
+
colombia: { label: "Colombia", flag: "๐จ๐ด", code: "+57" },
|
| 46 |
+
comoros: { label: "Comoros", flag: "๐ฐ๐ฒ", code: "+269" },
|
| 47 |
+
congo: { label: "Congo", flag: "๐จ๐ฌ", code: "+242" },
|
| 48 |
+
costarica: { label: "Costa Rica", flag: "๐จ๐ท", code: "+506" },
|
| 49 |
+
croatia: { label: "Croatia", flag: "๐ญ๐ท", code: "+385" },
|
| 50 |
+
cyprus: { label: "Cyprus", flag: "๐จ๐พ", code: "+357" },
|
| 51 |
+
czech: { label: "Czech Republic", flag: "๐จ๐ฟ", code: "+420" },
|
| 52 |
+
denmark: { label: "Denmark", flag: "๐ฉ๐ฐ", code: "+45" },
|
| 53 |
+
djibouti: { label: "Djibouti", flag: "๐ฉ๐ฏ", code: "+253" },
|
| 54 |
+
dominicana: { label: "Dominican Republic", flag: "๐ฉ๐ด", code: "+1" },
|
| 55 |
+
easttimor: { label: "East Timor", flag: "๐น๐ฑ", code: "+670" },
|
| 56 |
+
ecuador: { label: "Ecuador", flag: "๐ช๐จ", code: "+593" },
|
| 57 |
+
egypt: { label: "Egypt", flag: "๐ช๐ฌ", code: "+20" },
|
| 58 |
+
england: { label: "England", flag: "๐ด", code: "+44" },
|
| 59 |
+
equatorialguinea: { label: "Equatorial Guinea", flag: "๐ฌ๐ถ", code: "+240" },
|
| 60 |
+
estonia: { label: "Estonia", flag: "๐ช๐ช", code: "+372" },
|
| 61 |
+
ethiopia: { label: "Ethiopia", flag: "๐ช๐น", code: "+251" },
|
| 62 |
+
finland: { label: "Finland", flag: "๐ซ๐ฎ", code: "+358" },
|
| 63 |
+
france: { label: "France", flag: "๐ซ๐ท", code: "+33" },
|
| 64 |
+
frenchguiana: { label: "French Guiana", flag: "๐ฌ๐ซ", code: "+594" },
|
| 65 |
+
gabon: { label: "Gabon", flag: "๐ฌ๐ฆ", code: "+241" },
|
| 66 |
+
gambia: { label: "Gambia", flag: "๐ฌ๐ฒ", code: "+220" },
|
| 67 |
+
georgia: { label: "Georgia", flag: "๐ฌ๐ช", code: "+995" },
|
| 68 |
+
germany: { label: "Germany", flag: "๐ฉ๐ช", code: "+49" },
|
| 69 |
+
ghana: { label: "Ghana", flag: "๐ฌ๐ญ", code: "+233" },
|
| 70 |
+
gibraltar: { label: "Gibraltar", flag: "๐ฌ๐ฎ", code: "+350" },
|
| 71 |
+
greece: { label: "Greece", flag: "๐ฌ๐ท", code: "+30" },
|
| 72 |
+
guadeloupe: { label: "Guadeloupe", flag: "๐ฌ๐ต", code: "+590" },
|
| 73 |
+
guatemala: { label: "Guatemala", flag: "๐ฌ๐น", code: "+502" },
|
| 74 |
+
guinea: { label: "Guinea", flag: "๐ฌ๐ณ", code: "+224" },
|
| 75 |
+
guineabissau: { label: "Guinea-Bissau", flag: "๐ฌ๐ผ", code: "+245" },
|
| 76 |
+
guyana: { label: "Guyana", flag: "๐ฌ๐พ", code: "+592" },
|
| 77 |
+
haiti: { label: "Haiti", flag: "๐ญ๐น", code: "+509" },
|
| 78 |
+
honduras: { label: "Honduras", flag: "๐ญ๐ณ", code: "+504" },
|
| 79 |
+
hongkong: { label: "Hong Kong", flag: "๐ญ๐ฐ", code: "+852" },
|
| 80 |
+
hungary: { label: "Hungary", flag: "๐ญ๐บ", code: "+36" },
|
| 81 |
+
india: { label: "India", flag: "๐ฎ๐ณ", code: "+91" },
|
| 82 |
+
indonesia: { label: "Indonesia", flag: "๐ฎ๐ฉ", code: "+62" },
|
| 83 |
+
ireland: { label: "Ireland", flag: "๐ฎ๐ช", code: "+353" },
|
| 84 |
+
israel: { label: "Israel", flag: "๐ฎ๐ฑ", code: "+972" },
|
| 85 |
+
italy: { label: "Italy", flag: "๐ฎ๐น", code: "+39" },
|
| 86 |
+
ivorycoast: { label: "Ivory Coast", flag: "๐จ๐ฎ", code: "+225" },
|
| 87 |
+
jamaica: { label: "Jamaica", flag: "๐ฏ๐ฒ", code: "+1" },
|
| 88 |
+
jordan: { label: "Jordan", flag: "๐ฏ๐ด", code: "+962" },
|
| 89 |
+
kazakhstan: { label: "Kazakhstan", flag: "๐ฐ๐ฟ", code: "+7" },
|
| 90 |
+
kenya: { label: "Kenya", flag: "๐ฐ๐ช", code: "+254" },
|
| 91 |
+
kuwait: { label: "Kuwait", flag: "๐ฐ๐ผ", code: "+965" },
|
| 92 |
+
kyrgyzstan: { label: "Kyrgyzstan", flag: "๐ฐ๐ฌ", code: "+996" },
|
| 93 |
+
laos: { label: "Laos", flag: "๐ฑ๐ฆ", code: "+856" },
|
| 94 |
+
latvia: { label: "Latvia", flag: "๐ฑ๐ป", code: "+371" },
|
| 95 |
+
lesotho: { label: "Lesotho", flag: "๐ฑ๐ธ", code: "+266" },
|
| 96 |
+
liberia: { label: "Liberia", flag: "๐ฑ๐ท", code: "+231" },
|
| 97 |
+
lithuania: { label: "Lithuania", flag: "๐ฑ๐น", code: "+370" },
|
| 98 |
+
luxembourg: { label: "Luxembourg", flag: "๐ฑ๐บ", code: "+352" },
|
| 99 |
+
macau: { label: "Macau", flag: "๐ฒ๐ด", code: "+853" },
|
| 100 |
+
madagascar: { label: "Madagascar", flag: "๐ฒ๐ฌ", code: "+261" },
|
| 101 |
+
malawi: { label: "Malawi", flag: "๐ฒ๐ผ", code: "+265" },
|
| 102 |
+
malaysia: { label: "Malaysia", flag: "๐ฒ๐พ", code: "+60" },
|
| 103 |
+
maldives: { label: "Maldives", flag: "๐ฒ๐ป", code: "+960" },
|
| 104 |
+
mauritania: { label: "Mauritania", flag: "๐ฒ๐ท", code: "+222" },
|
| 105 |
+
mauritius: { label: "Mauritius", flag: "๐ฒ๐บ", code: "+230" },
|
| 106 |
+
mexico: { label: "Mexico", flag: "๐ฒ๐ฝ", code: "+52" },
|
| 107 |
+
moldova: { label: "Moldova", flag: "๐ฒ๐ฉ", code: "+373" },
|
| 108 |
+
mongolia: { label: "Mongolia", flag: "๐ฒ๐ณ", code: "+976" },
|
| 109 |
+
montenegro: { label: "Montenegro", flag: "๐ฒ๐ช", code: "+382" },
|
| 110 |
+
morocco: { label: "Morocco", flag: "๐ฒ๐ฆ", code: "+212" },
|
| 111 |
+
mozambique: { label: "Mozambique", flag: "๐ฒ๐ฟ", code: "+258" },
|
| 112 |
+
namibia: { label: "Namibia", flag: "๐ณ๐ฆ", code: "+264" },
|
| 113 |
+
nepal: { label: "Nepal", flag: "๐ณ๐ต", code: "+977" },
|
| 114 |
+
netherlands: { label: "Netherlands", flag: "๐ณ๐ฑ", code: "+31" },
|
| 115 |
+
newcaledonia: { label: "New Caledonia", flag: "๐ณ๐จ", code: "+687" },
|
| 116 |
+
newzealand: { label: "New Zealand", flag: "๐ณ๐ฟ", code: "+64" },
|
| 117 |
+
nicaragua: { label: "Nicaragua", flag: "๐ณ๐ฎ", code: "+505" },
|
| 118 |
+
nigeria: { label: "Nigeria", flag: "๐ณ๐ฌ", code: "+234" },
|
| 119 |
+
northmacedonia: { label: "North Macedonia", flag: "๐ฒ๐ฐ", code: "+389" },
|
| 120 |
+
norway: { label: "Norway", flag: "๐ณ๐ด", code: "+47" },
|
| 121 |
+
oman: { label: "Oman", flag: "๐ด๐ฒ", code: "+968" },
|
| 122 |
+
pakistan: { label: "Pakistan", flag: "๐ต๐ฐ", code: "+92" },
|
| 123 |
+
panama: { label: "Panama", flag: "๐ต๐ฆ", code: "+507" },
|
| 124 |
+
papuanewguinea: { label: "Papua New Guinea", flag: "๐ต๐ฌ", code: "+675" },
|
| 125 |
+
paraguay: { label: "Paraguay", flag: "๐ต๐พ", code: "+595" },
|
| 126 |
+
peru: { label: "Peru", flag: "๐ต๐ช", code: "+51" },
|
| 127 |
+
philippines: { label: "Philippines", flag: "๐ต๐ญ", code: "+63" },
|
| 128 |
+
poland: { label: "Poland", flag: "๐ต๐ฑ", code: "+48" },
|
| 129 |
+
portugal: { label: "Portugal", flag: "๐ต๐น", code: "+351" },
|
| 130 |
+
puertorico: { label: "Puerto Rico", flag: "๐ต๐ท", code: "+1" },
|
| 131 |
+
reunion: { label: "Rรฉunion", flag: "๐ท๐ช", code: "+262" },
|
| 132 |
+
romania: { label: "Romania", flag: "๐ท๐ด", code: "+40" },
|
| 133 |
+
russia: { label: "Russia", flag: "๐ท๐บ", code: "+7" },
|
| 134 |
+
rwanda: { label: "Rwanda", flag: "๐ท๐ผ", code: "+250" },
|
| 135 |
+
saintkittsandnevis: { label: "Saint Kitts and Nevis", flag: "๐ฐ๐ณ", code: "+1" },
|
| 136 |
+
saintlucia: { label: "Saint Lucia", flag: "๐ฑ๐จ", code: "+1" },
|
| 137 |
+
saintvincentandgrenadines: { label: "Saint Vincent and the Grenadines", flag: "๐ป๐จ", code: "+1" },
|
| 138 |
+
salvador: { label: "El Salvador", flag: "๐ธ๐ป", code: "+503" },
|
| 139 |
+
samoa: { label: "Samoa", flag: "๐ผ๐ธ", code: "+685" },
|
| 140 |
+
saudiarabia: { label: "Saudi Arabia", flag: "๐ธ๐ฆ", code: "+966" },
|
| 141 |
+
senegal: { label: "Senegal", flag: "๐ธ๐ณ", code: "+221" },
|
| 142 |
+
serbia: { label: "Serbia", flag: "๐ท๐ธ", code: "+381" },
|
| 143 |
+
seychelles: { label: "Seychelles", flag: "๐ธ๐จ", code: "+248" },
|
| 144 |
+
sierraleone: { label: "Sierra Leone", flag: "๐ธ๐ฑ", code: "+232" },
|
| 145 |
+
singapore: { label: "Singapore", flag: "๐ธ๐ฌ", code: "+65" },
|
| 146 |
+
slovakia: { label: "Slovakia", flag: "๐ธ๐ฐ", code: "+421" },
|
| 147 |
+
slovenia: { label: "Slovenia", flag: "๐ธ๐ฎ", code: "+386" },
|
| 148 |
+
solomonislands: { label: "Solomon Islands", flag: "๐ธ๐ง", code: "+677" },
|
| 149 |
+
southafrica: { label: "South Africa", flag: "๐ฟ๐ฆ", code: "+27" },
|
| 150 |
+
spain: { label: "Spain", flag: "๐ช๐ธ", code: "+34" },
|
| 151 |
+
srilanka: { label: "Sri Lanka", flag: "๐ฑ๐ฐ", code: "+94" },
|
| 152 |
+
suriname: { label: "Suriname", flag: "๐ธ๐ท", code: "+597" },
|
| 153 |
+
swaziland: { label: "Eswatini", flag: "๐ธ๐ฟ", code: "+268" },
|
| 154 |
+
sweden: { label: "Sweden", flag: "๐ธ๐ช", code: "+46" },
|
| 155 |
+
switzerland: { label: "Switzerland", flag: "๐จ๐ญ", code: "+41" },
|
| 156 |
+
taiwan: { label: "Taiwan", flag: "๐น๐ผ", code: "+886" },
|
| 157 |
+
tajikistan: { label: "Tajikistan", flag: "๐น๐ฏ", code: "+992" },
|
| 158 |
+
tanzania: { label: "Tanzania", flag: "๐น๐ฟ", code: "+255" },
|
| 159 |
+
thailand: { label: "Thailand", flag: "๐น๐ญ", code: "+66" },
|
| 160 |
+
tit: { label: "East Timor", flag: "๐น๐ฑ", code: "+670" },
|
| 161 |
+
togo: { label: "Togo", flag: "๐น๐ฌ", code: "+228" },
|
| 162 |
+
tunisia: { label: "Tunisia", flag: "๐น๐ณ", code: "+216" },
|
| 163 |
+
turkmenistan: { label: "Turkmenistan", flag: "๐น๐ฒ", code: "+993" },
|
| 164 |
+
uganda: { label: "Uganda", flag: "๐บ๐ฌ", code: "+256" },
|
| 165 |
+
ukraine: { label: "Ukraine", flag: "๐บ๐ฆ", code: "+380" },
|
| 166 |
+
uruguay: { label: "Uruguay", flag: "๐บ๐พ", code: "+598" },
|
| 167 |
+
usa: { label: "United States", flag: "๐บ๐ธ", code: "+1" },
|
| 168 |
+
uzbekistan: { label: "Uzbekistan", flag: "๐บ๐ฟ", code: "+998" },
|
| 169 |
+
venezuela: { label: "Venezuela", flag: "๐ป๐ช", code: "+58" },
|
| 170 |
+
vietnam: { label: "Vietnam", flag: "๐ป๐ณ", code: "+84" },
|
| 171 |
+
zambia: { label: "Zambia", flag: "๐ฟ๐ฒ", code: "+260" }
|
| 172 |
};
|
src/bots/utils/keyboardUtils.ts
CHANGED
|
@@ -124,7 +124,8 @@ export const getCountriesKeyboard = (service: string, page: number = 0) => {
|
|
| 124 |
const countries = Object.entries(countryData).map(([id, data]) => ({
|
| 125 |
id,
|
| 126 |
name: data.label,
|
| 127 |
-
flag: data.flag
|
|
|
|
| 128 |
}));
|
| 129 |
|
| 130 |
const totalPages = Math.ceil(countries.length / countriesPerPage);
|
|
@@ -138,7 +139,7 @@ export const getCountriesKeyboard = (service: string, page: number = 0) => {
|
|
| 138 |
const country = pageCountries[i + j];
|
| 139 |
row.push(
|
| 140 |
Markup.button.callback(
|
| 141 |
-
`${country.name} ${country.flag}`,
|
| 142 |
`country_${service}_${country.id}`
|
| 143 |
)
|
| 144 |
);
|
|
|
|
| 124 |
const countries = Object.entries(countryData).map(([id, data]) => ({
|
| 125 |
id,
|
| 126 |
name: data.label,
|
| 127 |
+
flag: data.flag,
|
| 128 |
+
code: data.code
|
| 129 |
}));
|
| 130 |
|
| 131 |
const totalPages = Math.ceil(countries.length / countriesPerPage);
|
|
|
|
| 139 |
const country = pageCountries[i + j];
|
| 140 |
row.push(
|
| 141 |
Markup.button.callback(
|
| 142 |
+
`${country.name} ${country.flag} ${country.code}`,
|
| 143 |
`country_${service}_${country.id}`
|
| 144 |
)
|
| 145 |
);
|