phrases: {
helpTitle: {
ru: "Информация | Команды бота",
en: "Information | Bot commands",
},
helpDescription: {
ru: "В данном меню вы можете ознакомиться с командами бота.\nНашли баг? Сообщите нам командой `/st [text]`",
en: "In this menu, you can view the bot's commands.\nFound a bug? Let us know with the command `/st [text]`",
},
helpFields: {
field1: {
name: {
ru: "Навигация по меню",
en: "Navigation",
},
value: {
ru: "[${emj.a.la}] Страница назад\n[] Убрать меню\n[${emj.a.ra}] Страница вперед",
en: "[${emj.a.la}] Back page\n[] To remove the menu\n[${emj.a.ra}] Forward page",
}
},
footer: {
ru: "Страница 1 из 6 | Следующая страница: Экономика",
en: "Page 1 of 6 | Next page: Economy",
},
}
}
"commands": {
"main": {
"help": {
"information": {
"title": phrases.helpTitle[lang],
"description": phrases.helpDescription[lang],
"fields": {
"field1": {
"name": phrases.helpFields.field1.name[lang],
"value": phrases.helpFields.field1.value[lang]
}
},
"footer": phrases.helpFields.footer[lang]
}
}
}
}
const cv = require('opencv4nodejs');
// 9216 x 5632
const z = 6;
let largeImage = new cv.Mat(new Array(9216).fill( new Array(5632).fill([0,0,0]) ), cv.CV_8UC3);
let x = 36;
let y = 22;
while(y--) {
while(x--){
// предпочтительно заюзать какуюнибудь рекурсию или создать очередь, а то за раз полетит 792 запроса
request(`${siteUrl}/${z}/${y}/${x}.png`).then(response => {
if (response.status === 200) {
let offsetX = 256 * x;
let offsetY = 256 * y;
let imgPiece = cv.imread(response.body); // хз сработает ли таким образом
for (let c = 0; c < 256; c++) {
for (let v = 0; v < 256; v++) {
largeImg.set((offsetY + c), (offsetX + v), imgPiece.at(c, v)); // копируем пиксель с маленькой картинки на большую
};
};
};
});
};
};
Use this if you use Leaflet for maps that don't reflect the real world (e.g. game, indoor or photo maps).