Kwadrat PL Telegram
Telegram-бот для арэнды ў Польшчы

Арэнда жылля ў Польшчы: хай дом знойдзецца сам

Kwadrat PL збірае свежыя аб'явы з OLX, Otodom і Morizon у адзін Telegram-бот. Падпішыцеся на пошук — новыя кватэры і пакоі прыйдуць проста ў чат, раней за іншых.

Адкрыць бота ў Telegram Без рэгістрацыі · 5 моў · унутры Telegram
БясплатнаПрамыя аб'явы, без агенцтваўАбнаўленне ~5 хвілінAI-разбор + анты-скам

Чаму Kwadrat PL

Пошук па 3 пляцоўках адразу

Кватэры, пакоі і пасутачна з OLX, Otodom і Morizon. Аднолькавыя аб'явы з розных сайтаў аб'ядноўваюцца — без дублікатаў у стужцы.

Імгненныя апавяшчэнні

Падпішыцеся на свой пошук — новае прыдатнае жыллё прыходзіць у чат за хвіліны. Ціхія гадзіны ноччу і паўза камандай /off.

Справядлівая цана і анты-скам

Бэйдж «ніжэй/вышэй рынку раёна» па нашых даных і папярэджанне пра падазрона танныя аб'явы — тыповая прынада шахраяў.

AI-разбор аб'явы

Адна кнопка: пераклад аб'явы на вашу мову, выжымка галоўнага і ацэнка рызыкі шахрайства па тэксце.

Калькулятар пераезду

Колькі грошай трэба на старце: арэнда, czynsz, media, кауцыя і камісія — лічым усё адразу, без сюрпрызаў.

Гайды для арандатара

Як вярнуць кауцыю (з гатовым шаблонам прэтэнзіі), дамова без пастак, чэк-ліст агляду і гатовыя фразы гаспадару па-польску.

Як гэта працуе

  1. 1

    Адкрыйце бота

    Націсніце кнопку і запусціце Kwadrat PL у Telegram — праграма адкрыецца проста ў чаце.

  2. 2

    Наладзьце пошук

    Абярыце горад, тып арэнды, цану і фільтры. Вынік абнаўляецца імгненна.

  3. 3

    Атрымлівайце новае першымі

    Падпішыцеся — і свежыя аб'явы будуць прыходзіць у чат раней, чым іх разбяруць.

Як гэта выглядае

Пошук, справядлівая цана і поўны кошт уваходу — усё ўнутры Telegram.

Галоўны экран Kwadrat PL: пошук арэнды жылля ў 8 гарадах Польшчы
Спіс кватэр на арэнду з фота, цаной і бэйджам «ніжэй рынку»
Картка аб'явы: кошт уваходу — арэнда і кауцыя — і крыніца

Віджэт на хатні экран iPhone

Колькі прыдатных кватэр і свежыя цэны — проста на экране, не адкрываючы Telegram. Праз бясплатны дадатак Scriptable, без плацяжоў App Store і акаунта распрацоўшчыка.

Віджэт Kwadrat PL на хатнім экране iPhone: колькасць прыдатных кватэр і цэны арэнды

Як усталяваць

  1. Усталюйце бясплатны дадатак Scriptable з App Store.
  2. Напішыце нашаму боту каманду /widget — ён дашле ваш асабісты токен.
  3. У Scriptable націсніце «+», выдаліце змест і ўстаўце код віджэта (кнопка ніжэй).
  4. Упішыце свой токен у радок TOKEN замест PASTE_TOKEN_HERE.
  5. Націсніце ▶ унізе — з'явіцца прэв'ю віджэта.
  6. На хатнім экране: доўгі тап → «+» → Scriptable → абярыце памер → дадайце. Потым доўгі тап па віджэце → «Змяніць віджэт» → у полі Script абярыце гэты скрыпт.
Паказаць код віджэта
// ===========================================================================
// Kwadrat PL — віджэт для Scriptable (iOS). Сапраўдны віджэт на хатнім экране
// без App Store і Apple Developer. Даныя бярэ з нашага сервера па асабістым
// віджэт-токене (каманда /widget у @KwadratPLBot).
//
// Усталяванне:
//   1. Пастаўце бясплатны дадатак Scriptable з App Store.
//   2. Новы скрыпт → устаўце ўвесь гэты файл.
//   3. Упішыце свой токен у TOKEN ніжэй (атрымаць: /widget у боце).
//   4. Хатні экран → віджэт Scriptable (small альбо medium) → гэты скрыпт.
// Падтрымлівае small, medium і экран блакіроўкі. Тап адкрывае Mini App.
// ===========================================================================

const TOKEN = "PASTE_TOKEN_HERE";
const STATE_URL = "https://kwadratpl-46-224-220-94.sslip.io/api/widget/state";

// ── брендовые цвета ──
const BG = new Color("#17212b");
const ACCENT = new Color("#3aaee0");
const WHITE = new Color("#e7edf3");
const MUTED = new Color("#93a4b4");

function zl(n) {
  if (!n && n !== 0) return "";
  return String(n).replace(/\B(?=(\d{3})+(?!\d))/g, " ") + " zł";
}

async function fetchState() {
  const req = new Request(STATE_URL);
  req.headers = { Authorization: "Bearer " + TOKEN };
  req.timeoutInterval = 12;
  return await req.loadJSON();
}

function header(w, s) {
  const row = w.addStack();
  row.centerAlignContent();
  const t = row.addText("KWADRAT");
  t.textColor = ACCENT;
  t.font = Font.heavySystemFont(13);
  row.addSpacer();
  const c = row.addText(String(s.matchingListings));
  c.textColor = WHITE;
  c.font = Font.heavySystemFont(17);
}

function build(s) {
  const w = new ListWidget();
  w.backgroundColor = BG;
  w.setPadding(14, 14, 14, 14);
  const fam = config.widgetFamily ? config.widgetFamily : "medium";

  if (!s) {
    const t = w.addText("KWADRAT");
    t.textColor = ACCENT; t.font = Font.heavySystemFont(14);
    w.addSpacer(6);
    const e = w.addText("Няма сувязі альбо токен няправільны. Абнавіце /widget у боце.");
    e.textColor = MUTED; e.font = Font.systemFont(11);
    e.lineLimit = 3;
    return w;
  }

  header(w, s);
  w.addSpacer(2);
  const sub = w.addText("прыдатных · " + s.newMatching + " новых за суткі");
  sub.textColor = MUTED; sub.font = Font.systemFont(10);

  if (fam !== "small") {
    w.addSpacer(9);
    const all = s.topListings ? s.topListings : [];
    const list = all.slice(0, fam === "large" ? 6 : 3);
    if (list.length === 0) {
      const e = w.addText("Нет прыдатных объявлений. Настройте подписку в боте.");
      e.textColor = MUTED; e.font = Font.systemFont(11); e.lineLimit = 2;
    }
    list.forEach(function (l) {
      const row = w.addStack();
      row.centerAlignContent();
      const p = row.addText(zl(l.price));
      p.textColor = WHITE; p.font = Font.mediumSystemFont(12);
      row.addSpacer();
      const place = l.district ? l.district : (l.city ? l.city : "");
      const d = row.addText(place);
      d.textColor = MUTED; d.font = Font.systemFont(12);
      w.addSpacer(4);
    });
  }

  w.addSpacer();
  const ts = s.lastUpdatedAt ? s.lastUpdatedAt : "";
  const upd = ts.replace("T", " ").slice(11, 16);
  const foot = w.addText(upd ? "абноўлена " + upd : "Kwadrat PL");
  foot.textColor = MUTED; foot.font = Font.systemFont(9);

  let tapUrl = "https://t.me/KwadratPLBot";
  if (s.botUrl) tapUrl = s.botUrl;
  if (s.openUrl) tapUrl = s.openUrl;
  w.url = tapUrl;
  w.refreshAfterDate = new Date(Date.now() + 15 * 60 * 1000);
  return w;
}

let state = null;
try { state = await fetchState(); } catch (e) { state = null; }
const widget = build(state);

if (config.runsInWidget) {
  Script.setWidget(widget);
} else {
  await widget.presentMedium();
}
Script.complete();

Як карыстацца

  • Тап па віджэце адкрывае дадатак.
  • Віджэт абнаўляецца па раскладзе iOS (прыблізна раз у 15–30 хвілін) — гэта абмежаванне ўсіх віджэтаў, не толькі нашага.
  • Свежыя кватэры ўсё роўна прыходзяць імгненна звычайным апавяшчэннем бота.

Гарады Польшчы

Арэнда кватэр і пакояў у 8 гарадах Польшчы:

Частыя пытанні

Гэта бясплатна?
Так, цалкам. Пошук, апавяшчэнні, гайды і калькулятар — без платы і без рэгістрацыі.
Адкуль аб'явы?
Мы збіраем публічныя аб'явы з OLX, Otodom і Morizon і абнаўляем іх кожныя некалькі хвілін. Аднолькавыя лоты з розных сайтаў аб'ядноўваюцца.
Што такое AI-разбор?
Кнопка ў картцы аб'явы: перакладае тэкст на вашу мову, робіць кароткую выжымку і ацэньвае рызыку шахрайства па апісанні.
На якіх мовах працуе?
Руская, украінская, беларуская, польская і англійская. Мова пераключаецца проста ў дадатку.
Як зразумець, што цана справядлівая?
Бот лічыць медыянную цану за м² па раёне і тыпе жылля з уласных даных і паказвае, наколькі аб'ява танней ці даражэй за рынак. Медыяна бярэцца з выбаркі мінімум з 6 аб'яў; калі па раёне даных мала, выкарыстоўваецца медыяна па горадзе. Даныя абнаўляюцца з кожным абнаўленнем базы.
Ці трэба ўсталёўваць дадатак?
Не. Kwadrat PL працуе ўнутры Telegram як Mini App — нічога ставіць не трэба.
Ці ёсць віджэт для iPhone?
Так. Праз бясплатны дадатак Scriptable можна паставіць на хатні экран віджэт з колькасцю прыдатных кватэр і свежымі цэнамі — без плацяжоў App Store. Пакрокавая інструкцыя вышэй.

Хай дом знойдзецца!

Адкрыйце Kwadrat PL і падпішыцеся на свой пошук — новае жыллё прыйдзе само.

Адкрыць бота ў Telegram