Application is build with Quarkus.
It runs live on AWS Lambda, receives hooks from Telegram via API Gateway.
The Telegram Bot can be used here: @demo_tkach_weather_bot
You can view the online stream on YouTube after making a donation to support my volunteering initiative to help Ukrainian Armed Forces.
☕ Please, visit the Buy Me a Coffee.
Thank you in advance for your support! Слава Україні! 🇺🇦
Before running the application you need to set the API KEY for geo coding service and a Telegram bot token to verify requests from Telegram.
You can do this by setting the values in application.yml
file or with environment variables:
APP_GEO_CODE_API_KEY=your-api-key
APP_TELEGRAM_SECRET_TOKEN=your-bot-token
You can run your application in dev mode that enables live coding using:
./gradlew quarkusDev
NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
The application can be packaged using:
./gradlew build
It produces the quarkus-run.jar
file in the build/quarkus-app/
directory.
Be aware that it’s not an über-jar as the dependencies are copied into the build/quarkus-app/lib/
directory.
The application is now runnable using java -jar build/quarkus-app/quarkus-run.jar
.
If you want to build an über-jar, execute the following command:
./gradlew build -Dquarkus.package.type=uber-jar
The application, packaged as an über-jar, is now runnable using java -jar build/*-runner.jar
.
You can create a native executable using:
./gradlew build -Dquarkus.package.type=native
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true
You can then execute your native executable with: ./build/demo-3-en-telegram-weather-bot-1.0.0-SNAPSHOT-runner
If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling.
- RESTEasy Classic's REST Client (guide): Call REST services
- YAML Configuration (guide): Use YAML to configure your Quarkus application
- AWS Lambda Gateway REST API (guide): Build an API Gateway REST API with Lambda integration
- RESTEasy Classic (guide): REST endpoint framework implementing Jakarta REST and more