Aplikacja służąca do wysyłania powiadomień SMS, korzystająca z api twilio.
Aplikacja korzysta z biblioteki Qt 6, do zbudowania jej trzeba ją zainstalować z dodatkowym komponentem Network Authorization. Najłatwiej bęzie od razu zainstalować Qt Creator, ale do zbudowania wystarczy sama biblioteka i cmake (no i kompilator oczywiście).
cmake -B <project_folder>/build -DCMAKE_PREFIX_PATH="<ścieżka>"
cmake --build <project_folder>/build
Ważna tutaj jest zmienna CMAKE_PREFIX_PATH, musi wskazywać na narzędzia biblioteki Qt, np. ścieżka-do-Qt/6.9.0/mingw_64
W przypadku uruchamiania ręcznego pliku exe, należy skopiować potrzebne biblioteki do folderu z aplikacją. Można to zrobić wykonująć komendę:
windeployqt.exe <ścieżka do naszej aplikacji>
Do poprawnego działania będzie potrzebne konto Twilio, może być darmowa wersja próbna. Po stworzeniu konta i zweryfikowaniu numeru trzeba również stworzyć messaging service.
Trzeba będzie również ustawić odpowiednie zmienne środowiskowe - do informacji o naszym koncie twilio oraz identyfikatorze naszego messaging service. Można to zrobić przykładowo z taki sposób:
SETX TWILIO_ACCOUNT_SID <account sid>
SETX TWILIO_AUTH_TOKEN <auth token>
SETX MESSAGING_SERVICE_SID <messaging service sid>
Account sid i auth token można znaleźć w account info na stronie głównej konsoli twilio. Messaging service sid można sprawdzić tutaj.
Aby wysłać wiadomość trzeba najpierw dodać kontakt. W okienku dialogowym wpisujemy nazwę kontaktu oraz numer telefonu, koniecznie z przedrostkiem (np. +48). Kontakty zapisują się w pliku JSON w folderze aplikacji.
Po dodaniu kontaktu, możemy wysłać wiadomość. Treść należy wpisać w pole "Wiadomość", po czym wcisnąć przycisk "Wyślij teraz".
Aby wysłać wiadomość w określonym dniu i godzinie, należy ustawić czas wysłania oraz wcisnąć przycisk "Wyślij później". Ustawiony czas wysłania musi pomiędzy 15 minut, a 35 dni od momentu zaplanowania wysłania (kliknięcia "Wyślij później"). Po zaplanowaniu wiadomości można bezpiecznie wyłączyć aplikację, żądanie wysłania zostanie zapisane na serwerze.
Aby usunąć kontakt, należy wybrać go w polu "Wybierz kontakt", wcisnąć "Usuń kontakt" oraz potwierdzić operację.
