Конкурс - обирай кращий стартап та отримай навушники! 🎧

Українці створили ще один бот, аби дізнаватися, чи є вдома світло. Ось, як він працює

Software engineer (Android) в Yalantis Дмитро Морозов та Python Full-Stack Developer Богдан Григорович створили Telegram-bot Ukraine_svitlo_bot, що допомагає розуміти, чи є світло вдома. 

Залишити коментар
Українці створили ще один бот, аби дізнаватися, чи є вдома світло. Ось, як він працює

Software engineer (Android) в Yalantis Дмитро Морозов та Python Full-Stack Developer Богдан Григорович створили Telegram-bot Ukraine_svitlo_bot, що допомагає розуміти, чи є світло вдома. 

«Коли почались масовані обстріли української енергетики, українці почали одразу адаптуватися до нової реальності. Якийсь час проблема з електроенергією була найбільш відчутною в Києві. Але після 15го листопада віялові відключення почались по всій території України. Я одразу почав шукати яким чином точно знати чи є світло вдома, чи ні. Також була думка візуалізувати історію відключень, щоб наочно бачити динаміку. Пошукавши вже існуючі рішення знайшов тільки віджет для IOS, але хотілося мати дуже просте рішення, без зайвих рухів. Головною ідеєю було можливість масштабування і перевикористання. Ну і трошки підзадовбали однотипні повідомлення в будинковому чаті від сусідів (Світло є чи нема, Світло є чи нема, Світло є чи нема…)», — розповідає розробник.

Тоді в чоловіка з’явилась думка, що найзручнішим був би бот, який буде кожну хвилину пінгувати статичну айпішку і якщо статус (є світло/нема світла) змінився — надсилати повідомлення.

Складнощі розробки

«Кілер фічею бота є те, що на весь будинок достатньо мати одного „піддослідного“ IP і додати бота з пінгуванням цього IP в будинковий чат. Так 100-1000 людей не питають одне одного по 100 разів чи є світло, чи нема. Також для себе профіт я вбачав у тому, що знаходячись не вдома я маю завжди поточний стан світла в будинку і знаю, чи треба поспішати додому, чи краще не квапитись», — зазначає Дмитро. 

Через брак досвіду з бекендом і інфраструктурою на належному рівні, хлопець швидко знайшов друга, який готовий був допомогти з реалізацією.

Разом розробники бот реалізували, використовуючи лібу python-telegram-bot і Django.

«Хоча, на перший погляд, рішення дивне для реалізації Telegram-боту, Django має дуже зручні встроєні інструменти — ORM для роботи з БД і адмін панель, якщо треба щось перевірити в БД на продакшні. Пінгування IP адрес запускається як Django management команда з крони. Враховуючи це, і те, що бота треба було зробити якомога швидше, я вибрав саме такий стек. Python-telegram-bot з версії 20.0 використовує asyncio, що є великим плюсом, бо дає змогу пінгувати ip і розсилати повідомлення в Telegram пачками. Django поки не повністю працює з асинхронністю, але трохи декораторів @sync_to_async, і вони працюють разом!», зазначає Дмитро.

Захостили друзі все на AWS EC2 i RDS. 

В планах — додати чергу повідомлень, найімовірніше AWS SQS, для розсилання повідомлень в телеграмі, тому що коли юзерів стане більше, телеграм може тротлити кількість повідомлень через flood control.

Що може бот

Зараз у бота є можливість підписатися на пінгування статичної айпішки, відписатися, показати статус, разово пінганути, додати бота в груповий чат або канал. З основних недоліків — якщо провайдер має мережу з перебоями, то будуть хибні спрацювання. 

«Варіанти з ембедед пристроями ми відкинули вже на початкових етапах, бо розуміємо, що далеко не кожен захоче заморочуватись ще окремими пристроями. Але якщо ти ембедед розробник і знаєш, як склепати цікаве рішення, яке втикається в розетку і надсилає, наприклад, смс на IFTT — це була б ще краща і надійна система», — запрошує до співпраці колег Дмитро. 

Айтішник створив Telegram-бота що сповіщає чи є світло вдома на роботі чи в улюбленому місці: як ним користуватися
Айтішник створив Telegram-бота, що сповіщає, чи є світло вдома, на роботі чи в улюбленому місці: як ним користуватися
По темi
Айтішник створив Telegram-бота, що сповіщає, чи є світло вдома, на роботі чи в улюбленому місці: як ним користуватися
Айтішники з CODY Ukraine створили мапу локацій які завжди мають світло і інтернет. Список місць можна доповнити
Айтішники з CODY Ukraine створили мапу локацій, які завжди мають світло і інтернет. Список місць можна доповнити
По темi
Айтішники з CODY Ukraine створили мапу локацій, які завжди мають світло і інтернет. Список місць можна доповнити
Українські розробники створили застосунок «Світло» з допомогою якого можна дізнаватися чи є світло на певній локації
Українські розробники створили застосунок «Світло», з допомогою якого можна дізнаватися, чи є світло на певній локації
По темi
Українські розробники створили застосунок «Світло», з допомогою якого можна дізнаватися, чи є світло на певній локації
Читайте головні IT-новини країни в нашому Telegram
Читайте головні IT-новини країни в нашому Telegram
По темi
Читайте головні IT-новини країни в нашому Telegram
Як фінтех-стартап запартнерився з ритейлером eStore та популярною криптобіржей

Історія про bill_line та checkout-сторінку

Ми запускаємо розсилку про українське IT-ком’юніті. Залиште email, аби розуміти більше. Прем’єра — скоро!
Дякую! На вказану адресу надіслано листа для підтвердження підписки.
Читайте також
Де купити пальне на АЗС України? В Telegram з'явився корисний бот
Де купити пальне на АЗС України? В Telegram з'явився корисний бот
Де купити пальне на АЗС України? В Telegram з'явився корисний бот
З'явився Telegram-бот, що перевіряє благодійників на шахрайство
З'явився Telegram-бот, що перевіряє благодійників на шахрайство
З'явився Telegram-бот, що перевіряє благодійників на шахрайство
СБУ запускає 2 нових чат-бота: для ідентифікації зрадників та мародерів
СБУ запускає 2 нових чат-бота: для ідентифікації зрадників та мародерів
СБУ запускає 2 нових чат-бота: для ідентифікації зрадників та мародерів
1 коментар
З’явився Telegram-бот для пошуку безкоштовної медичної допомоги
З’явився Telegram-бот для пошуку безкоштовної медичної допомоги
З’явився Telegram-бот для пошуку безкоштовної медичної допомоги

Хочете повідомити важливу новину? Пишіть у Telegram-бот

Головні події та корисні посилання в нашому Telegram-каналі

Обговорення
Коментарів поки немає.