1 Star 0 Fork 1

寒松/camel-spring-boot-examples2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
readme.adoc 2.59 KB
一键复制 编辑 原始数据 按行查看 历史

Camel Example Webhook

This example shows the webhook meta-component in action using one of the supported components: telegram.

The example starts up a spring-boot application that configures automatically a webhook using the Telegram API to point to the local application and waits for messages.

Setting up a Telegram Bot

Creating a Telegram Bot is the first step for running this demo. You need to follow the instructions at the Telegram Bot developers home.

When a new Bot is created, the BotFather provides an authorization token corresponding to the Bot. The authorization token is a mandatory parameter for the camel-telegram endpoint and should be put in the application.properties file of the example application.

The full property should look like:

camel.component.telegram.authorization-token=<put-here-your-token>

Setting up a webhook tunnel

In order to use this example from a standard workstation machine, you need it to be exposed to the internet, for the Telegram servers to be able to contact it. Moreover, Telegram requires that the endpoint is exposed using HTTPS.

The best way to expose your workstation through a internet HTTPS endpoint is using some tunneling tool, like Serveo. A more popular option is Ngrok but HTTPS endpoints currently require a paid subscription.

With Serveo, you can run in a terminal the following command:

ssh -R 80:localhost:8080 serveo.net

Your ssh client will print in the console a message like the following:

Hi there
Forwarding HTTP traffic from https://xxx.serveo.net

Take note of the URL that is returned and place it in the application.properties file of the example.

The full property should look like:

camel.component.webhook.configuration.webhook-external-url=https://the-subdomain-returned.serveo.net

Running the example

Now that everything is set up, you can run the example using

mvn spring-boot:run

You can now contat your bot using a Telegram client and you’ll see all your messages printed in the console.

What’s interesting to notice is that in this example, the Telegram component is not doing any long polling* to the Telegram API, it’s just receiving push notifications.

Help and contributions

If you hit any problem using Camel or have some feedback, then please let us know.

We also love contributors, so get involved :-)

The Camel riders!

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/qqzahng/camel-spring-boot-examples2.git
git@gitee.com:qqzahng/camel-spring-boot-examples2.git
qqzahng
camel-spring-boot-examples2
camel-spring-boot-examples2
camel-3.4.x

搜索帮助

0d507c66 1850385 C8b1a773 1850385