Huginn 实现自动通过 Telegram 推送豆瓣高分电影


Huginn 实现自动通过 telegram 推送豆瓣高分电影

之前博客《Huginn 实现自动通过 slack 推送豆瓣高分电影》有讲到过通过 Huginn 来实现自动获取豆瓣正在上映中的高分(设定分数超过7.8分)电影,并且自动通过 Slack 通知给我。那么怎样通过 Telegram 来进行推送呢?

创建 Telegram Bot

其实跟 Slack 一样,首先需要创建一个 telegram bot,然后通过 telegram bot 来进行通知。

具体我们可以参考 telegram 的官方文档:https://core.telegram.org/bots#6-botfather

这里创建 Bot 的方式跟 Slack 有所不同,需要通过跟 BotFather 进行对话来创建,打开 telegram 客户端,搜索 BotFather进入对话框:



BotFather 发送一个创建 Bot 的命令 /newbot



如上图所示,通过发送 /newbot 命令(消息)后,BotFather 会回复让你进行设置 botnameuser_name,其中 username 必须要是 bot 结尾,我这里 nameusername 都设置为 angelia_bot

最后 BotFather 会回复创建成功,并且返回你创建的机器人的 access token,有了access token我们就能给 group 或者 channel 发送消息了。



创建接收消息的频道Channel

接下来我们需要创建一个用来接收消息的 Channel(当然,你用 Group 也可以,如果用 Group 的话,很多人加进来聊天发消息会比较乱,Channel的话,别人订阅之后就只能接受查看消息,比较符合我们现在的场景)。

创建完之后,通过访问 <https://api.telegram.org/bot/getUpdates>,找到刚刚创建的 channel,拿到这个 channel 的id(应该是负数的id)。

把上面的 url 中的 <bot-access-token> 替换成刚刚创建 bot 拿到的 access token

把刚刚我们创建的 bot 添加到我们创建的 channel 中:



创建发送 telegram 消息的 agent

之前的流程跟《Huginn实现自动通过slack推送豆瓣高分电影》中的一样,只是最后需要创建一个发送到 telegram 的 agent。

如下:创建一个 PostAgent

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"post_url": "{% credential telegram_base_url %}bot{% credential telegram_bot_token %}/sendPhoto",
"expected_receive_period_in_days": "1",
"content_type": "json",
"method": "post",
"payload": {
"chat_id": "{% credential telegram_movie_channel_id %}",
"photo": "{{image_url}}",
"parse_mode": "Markdown",
"caption": "*Title*: [<<{{title}}>>]({{detail_url}}) \n*Score*: {{score}}\n*Star*: {{star}}\n*Release*: {{release}}\n*Region*: {{region}}\n*Actors*: {{actors}}\n*Director*: {{director}}"
},
"headers": {
},
"emit_events": "false",
"no_merge": "false",
"output_mode": "clean"
}

每当检测到豆瓣上有新的上映中的电影超过7.8分,刚刚创建的 Channel 中即可查看到 Bot 的通知:



最后

如果你懒得上面的各种配置,ok,加入下面这个 channel,你就能收到通知啦:

https://t.me/angelia_movies



来源博客:Wang Jie's Blog's Blog
本文链接:https://blog.wangjiegulu.com/2018/11/16/douban_high_movie_huginn_telegram/
版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处。