Budżet: 2000 UAH Termin: 2 dni
Mam doświadczenie w tworzeniu różnych typów i o różnym stopniu skomplikowania, mam już kilka pomysłów na rozwój
📌 Potrzebne optymalne rozwiązanie do automatyzacji masowego przesyłania wiadomości w Telegramie bez API i bez powiązania z koordynatami ekranu
🎯 Problem, który rozwiązujemy
1. Należy przesłać jedną wiadomość jednocześnie do kilku użytkowników w kliencie Telegram (Desktop).
2. Zakaz używania API Telegram, czyli trzeba emulować działania użytkownika.
3. Skrypty, które używają stałych koordynatów ekranu (PyAutoGUI), psują się na różnych rozdzielczościach ekranu.
4. Potrzebna integracja z TeleGrand lub API do przesyłania listy użytkowników.
📌 Najlepsze podejście techniczne
1️⃣ Rozwiązanie problemu z różnymi ekranami
❌ PyAutoGUI nie nadaje się, ponieważ działa z koordynatami, które zmieniają się w zależności od rozdzielczości ekranu.
✅ SikuliX lub Airtest – biblioteki, które analizują wizualne elementy interfejsu (a nie koordynaty) i mogą znajdować potrzebne przyciski na podstawie obrazu.
2️⃣ Emulacja działań bez API
✔️ Uruchomienie skryptu → automatyczne rozpoznawanie pola wyszukiwania Telegram.
✔️ Wstawianie nazw użytkowników bez użycia koordynatów.
✔️ Automatyczny wybór 100% dopasowań.
✔️ Potwierdzenie przesyłania i wysyłanie wiadomości.
3️⃣ Elastyczność i integracja z TeleGrand
✅ Realizujemy lokalne API HTTP/WebSocket, aby przesyłać listę użytkowników przez zewnętrzne systemy.
✅ Metody API:
• POST /insert_users – przesyłanie listy użytkowników do wstawienia w Telegramie.
• GET /status – sprawdzenie stanu działania skryptu.
• POST /send_message – potwierdzenie wysyłania po wstawieniu użytkowników.
4️⃣ Proste uruchamianie i konfiguracja
✅ Interfejs GUI (np. PyQt, Tkinter) do wygodnego zarządzania ustawieniami.
✅ Możliwość wyboru trybu pracy:
• Tryb ręczny – użytkownik naciska “Wyślij”.
• Tryb automatyczny – skrypt wykonuje wszystkie działania samodzielnie.
📌 Podsumowujące TŻ (techniczne zadanie)
🔹 Główna funkcjonalność:
• Automatycznie wstawia do 50 nazw użytkowników w polu wyszukiwania Telegram.
• Określa dokładne dopasowania i wybiera użytkowników.
• Potwierdza przesyłanie i wysyła wiadomości.
• Działa bez powiązania z koordynatami ekranu (SikuliX/Airtest).
• Może przyjmować listę użytkowników przez API/WebSocket.
🔹 Technologie:
• Python + SikuliX / Airtest – do pracy z GUI Telegram.
• FastAPI / Flask – do lokalnego API.
• PyQt / Tkinter – do wygodnego zarządzania skryptem.
📌 Wnioski: Najlepsze rozwiązanie
1️⃣ Emulacja działań przez SikuliX/Airtest, a nie przez koordynaty (PyAutoGUI).
2️⃣ Elastyczna integracja – można przesyłać listę użytkowników przez API.
3️⃣ Działa bez API Telegram, całkowicie automatyzując działania użytkownika.
Budżet: 2000 UAH Termin: 2 dni
Mam doświadczenie w tworzeniu różnych typów i o różnym stopniu skomplikowania, mam już kilka pomysłów na rozwój
Budżet: 4000 UAH Termin: 3 dni
Cześć!
Jestem programistą Pythona, mam duże doświadczenie w zadaniach automatyzacji.
Tutaj w zasadzie jest kilka opcji, jak to zrobić, ale wydaje mi się, że najprościej będzie użyć wersji webowej Telegrama zamiast desktopowej i zautomatyzować to za pomocą Selenium.
Swoją drogą, w PyAutoGUI też jest możliwość wyszukiwania przycisku po obrazie, ale nie sądzę, że to będzie efektywne.
Mogę również stworzyć prosty GUI i REST API.
Cena i czas realizacji w zależności od tego, jak zdecydujemy się to zrobić.
Piszcie, omówimy wasz projekt!
Z poważaniem,
Andrij
Budżet: 2000 UAH Termin: 5 dni
Witaj, czy możemy omówić szczegóły projektu na PW?................
Istnieje działająca platforma produkcyjna z katalogiem i automatycznym aktualizowaniem zewnętrznych ofert i cen. Stos technologiczny: — Node.js / TypeScript; — PostgreSQL; — istniejąca usługa odświeżania cen i cron; — oddzielny gotowy moduł walidacji i wyboru ofert w Pythonie; — staging i produkcja. Konieczne jest punktowe dopracowanie istniejącego pipeline'u odświeżania cen bez pełnego przepisywania backendu. OBOWIĄZKOWY ZAKRES 1. Integracja modułu Python — Moduł Python pozostaje oddzielnym komponentem; — zwraca zorganizowany wynik: oferty, wybrana oferta, statusy i flagi ryzyka; — Node.js waliduje wynik i wykonuje zapis w bazie danych; — przewidzieć obsługę błędów i częściowych/nieudanych uruchomień; — pipeline dziedziczony nie jest wyłączany do zakończenia QA. 2. Uruchomienie odświeżania według listy Dodaj uruchomienie: — po jednym slug/id; — po przekazanej liście slug/id. Możliwe CLI lub istniejące API serwisowe. Nowy interfejs użytkownika nie jest wymagany. 3. Tryb Shadow Nowe wyniki powinny być zapisywane oddzielnie i nie wpływać na produkcję do QA. Wymagane pola shadow: — cena; — ID wybranej oferty; — bezpośredni URL; — status oferty; — flagi ryzyka/QA; — checkedAt; — engineVersion. 4. Rozszerzenie istniejącej tabeli ofert Dodaj: — źródło; — external_offer_id; — last_seen_at; — last_checked_at; — engine_version; — flagi ryzyka lub przechowywanie w istniejącym JSON; — unikalne ograniczenie dla ochrony przed duplikatami. Nie jest wymagane tworzenie nowego równoległego systemu ofert, jeśli istniejącą tabelę można bezpiecznie rozszerzyć. 5. UPSERT, STALE i transakcja DB Zamień obecną schemę DELETE → CREATE: — UPSERT istniejących i nowych ofert; — oferty, które nie występują w pełnym udanym snapshot, są przekazywane do STALE; — w przypadku błędu API, częściowego wyniku lub niedokończonego snapshot aktywne oferty nie powinny stawać się STALE; — aktualizacja ofert, metadanych wybranej oferty i pól shadow według jednego modelu odbywa się w ramach jednej transakcji DB; — w przypadku błędu wykonywany jest pełny rollback. 6. Bezpieczne odświeżanie kanoniczne Odświeżanie cen nie powinno zmieniać: — marki; — referencji; — modelu; — kolekcji; — nazwy/tytułu; — slug; — opisów; — obrazów; — pól SEO. Aktualizowane są tylko oferta, cena i dane shadow. 7. Zachowanie obecnej logiki cron Zachować: — istniejący cron; — rolling batches; — cooldown; — sprawdzenie PRICE_REFRESH_MIN_DAYS przed wywołaniem zewnętrznego API; — dziedziczony pipeline produkcyjny do zakończenia Shadow QA. 8. Audyt wyników Wystarczy jedna opcja: — kolumna shadow w istniejącej tabeli administracyjnej; lub — eksport CSV. Minimalne dane: — model/referencja; — cena produkcyjna; — cena shadow; — delta; — URL produkcyjny/shadow; — status; — flagi ryzyka; — checkedAt; — engineVersion. Nowy skomplikowany dashboard nie jest wymagany. 9. Staging i QA — migracje DB; — wdrożenie staging; — test dymny na 5 przekazanych modelach; — następnie Tryb Shadow na około 50 modelach; — naprawa błędów technicznych wykrytych podczas tych uruchomień; — krótka dokumentacja kontraktu Python → Node.js i procedura rollback. OPCJONALNIE OCENIĆ ODDZIELNIE Prosta promocja techniczna bez nowego UI: — promocja jednego modelu po slug; — promocja listy slug; — przeniesienie potwierdzonych wartości shadow do produkcji; — techniczna weryfikacja po rollout. WYNIK — Pull Request; — migracje DB; — działająca integracja Python → Node.js; — Tryb Shadow; — UPSERT, STALE i transakcyjne aktualizacje; — uruchomienie po slug/id; — wdrożenie staging; — wyniki testu dymnego; — krótka dokumentacja; — nie mniej niż 7 dni na poprawki błędów w zrealizowanym zakresie po akceptacji. W ODPOWIEDZI WSKAZAĆ 1. Stała cena za obowiązkowy zakres. 2. Oddzielny koszt mechanizmu promocji. 3. Termin. 4. Ocena godzin. 5. Kiedy gotowi do rozpoczęcia. 6. Doświadczenie z transakcjami PostgreSQL, migracjami i pipeline'ami wczytywania. 7. Jakie pytania należy wyjaśnić przed rozpoczęciem. 8. Czy wliczone są staging, QA, migracje i okres naprawy błędów. Szablonowe odpowiedzi bez konkretnej oceny nie będą rozpatrywane. Dostęp do produkcji na pierwszym etapie nie jest udostępniany. Praca zaczyna się od ograniczonego przeglądu kodu i stagingu.
Potrzebna jest centralna serwerowa system zbierania i przechowywania danych z Planfix, 1C, Meta Ads i Google Ads, a także webowy dashboard do ich wyświetlania i analizy. Wszystkie dane, historia zmian, obliczenia i agregowane wskaźniki muszą być przechowywane wyłącznie w serwerowej bazie danych. Dashboard nie powinien przechowywać ani duplikować danych biznesowych. Ma on uzyskiwać niezbędne informacje z serwerowej bazy przez API zgodnie z zapytaniami użytkownika i wyświetlać je w postaci KPI, wykresów, tabel i szczegółowych raportów.
Szukamy wsparcia dla projektu opartego na Yii , trzeba wprowadzać poprawki i dopracowania bazy, częściowo jest kontakt z poprzednim wykonawcą .....................
Potrzebna jest migracja bazy z CRM G-PLUS do MyChatBot Objętość bazy - 26 tys. leadów 2 leje - Centrum obsługi klienta oraz Dział sprzedaży z własnymi lejkami Karty leadów (oprócz imienia i numeru) mają wiele różnych pól Leady mają również nagrania głosowe rozmów. Muszą być również przeniesione Od kandydata oczekuję orientacyjnej kwoty oraz terminów realizacji
Stworzyć dashboard do monitorowania i analizy efektywności sieci lokalizacji (filiów) firmy w Google Business Profile (GBP) poprzez oficjalne API Google Business Profile. Przetwarzanie przez skrypt oparty na Google Apps Script (podpiąć do Google Arkuszy). Zapis danych w Google Arkusze (które pełnią rolę bazy danych dla Looker Studio). Aktualizacja: Codziennie (z wskazaniem daty ostatniej aktualizacji). Stworzyć serwisowe konto Google Cloud. Skrypt raz na dobę (wyzwalacz o 03:00 w nocy) wysyła zapytanie do GBP API. Otrzymuje metryki za wczorajszy dzień dla każdej lokalizacji (locationId). Zapisuje dane w tabeli w płaskim formacie (wiersz = unikalne połączenie Data + ID Filia + Metryki). Karty kluczowych wskaźnikówNazwa kartyMetryka GBPFormat dynamikiWyświetlenia profiluImpressions (Search + Maps)Procent %, Sparkline (niebieski)PołączeniaLocal Services Phone CallsProcent %, Sparkline (zielony)Przejścia na stronęWebsite ClicksProcent %, Sparkline (fioletowy)Budowanie trasDirection RequestsProcent %, Sparkline (pomarańczowy)Średnia ocenaAverage Review RatingZmiana absolutna (np. +0.1), Sparkline (żółty)Nowe recenzjeNew Reviews CountProcent %, Sparkline (turkusowy)