Look on my works, ye Mighty, and despair!
- Percy Shelley's "Ozymandias".
export ascendClientPrivateKey=<your Private key, you can get one from https://ascend-secaas.herokuapp.com/ascend/public/keyPair
export ascendClientPublicKeyName=<your app name as registered with http://ascend.rest e.g. "MyChatBot">
export ascendGrantingUrl=https://ascend-secaas.herokuapp.com
export ascendValidationUrl=https://ascend-secaas.herokuapp.com
export orbitUrl=https://orbit-secured.herokuapp.com
export botToken="<your Telegram Bot Token>"
export botUsername="<your Telegram Bot user name, as defined with Bot Father>"
export telegramAdminId="<your persaonal Telegram User ID (number), to administrate the bot>"
java -Dserver.port=$PORT $JAVA_OPTS -jar "david-web/build/libs/david-web-1.0.0.jar"David is a ready-to-deploy archetype Telegram Chat Bot App, extendable with a user-defined plugins.
It takes only few clicks to deploy David - and you have a functioning (yet empty) chat bot.
Now you can develop your business functionality using David Plugins - each one representing a command.
The changes you do in the Plugins reflect in the chat immediately - you don't need to re-deploy or restart David.
This saves a lot of time and makes development more visualized.
Davidcomes pre-packaged and pre-configured to address typical use cases.
David provides the following features:
- Operational
- Deployment friendly -
Davidis Spring Boot Application ready for Cloud deployment (e.g. Heroku) - DB friendly -
Davidcomes with JPA support onboard - Logging - SLF4J + Bobbin + BlackBox - the best existing Logging stack. You won't even have to write logging code yourself in plugins - it is added automatically.
- Deployment friendly -
- Development & built-in features
- User input handling - requesting and waiting for user input, and gracefully handling wrong data or junk
- No wasted time on code infrastructure -
Davidhelps you to go straight to developing the features - Code structuring - each bot command is in separate plugin.
- User registration -
Davidprovides user repository with generic KYC attributes - Step-up authentication - e-mail or SMS OTP via Pigeon
- Rapid requirement implementation using scripted language (Groovy)
- Push Notifications -
Davidprovides extendable Push REST API, which help to pro-actively communicate with your bot users
- TelegramBots
- Spring Boot
- Groovy
- SQL DB (via JPA and Spring Data)
- REST+HATEOAS (via Spring Data Rest repositories)
- Bot commands extensible using Plugins (Groovy scripts)
- Bobbin - logger
- BlackBox - logging code automation
- Ascend - step-up authentication & security framework
- Pigeon - e-mail & SMS OTP
- HTTP Client
We have deployed a David Demo Bot repository is as a Heroku app (david-demo).
Just talk to him in Telegram: @david_demo_bot!
Or fork the repository and deploy straight to Heroku!