前言
原本是打算用钉钉
实现该功能的,一看要做企业认证就放弃的。不得不说这种所谓的认证就拒绝了相当多的独立开发者,这一点绝对是受诟病的。
前端时间研究下Telegram
相关的开发,总体来说实现了想要得所有功能,但是在测试的过程中发现很多问题。主要是因为早期Tg的开放接口被滥用的问题导致的,从而想要实现一些功能是受限的以免接口滥用。
Telegram Bot 和绝大多数的IM通讯软件中的机器人是一样的,
快速入门
注册一个机器人,获取token
直接在Tg中与@BotFather对话即可创建bot,比较有趣的是在Tg很多的交互式体验都是通过类似对话的方式。
测试token
将下面的链接的{TOKEN}
替换成所获取的token然后浏览器访问
1 | https://api.telegram.org/bot{TOKEN}/getUpdates |
返回数据,此时与机器人对话的内容均会在此显示出来
1 | { |
三方sdk集成
为了方便开发,已经有很成熟的三方sdk了。这里推荐 TelegramBots
实战案例
趁此机会和大家介绍一下我做的机器人,其主要功能就是通过抖音的分享链接下载其不带水印版本的视频。
机器人体验地址 https://t.me/fast_dl_bot
抖音去水印原理
选择想要下载的视频,获取分享链接如下
1 | 今天是国际篮球日,你能#接住姚明的传球 吗? https://v.douyin.com/JbUn9qr/ 复制此链接,打开抖音搜索,直接观看视频! |
访问链接,解析出视频源地址,如下
1 | https://v.douyin.com/JbUn9qr/ |
修改视频源地址,去掉视频源地址中的wm
即可得到不带水印的地址源。
并通 agent 为手机客户端访问改地址,即可获取到不带水印的视频。
然后下载视频即可得到不带水印的视频
1 | https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f010000bvfv7l99jbbabl28o260&ratio=720p&line=0 |
Telegram Bot 实现
采用 TelegramBots
实现,涉及三方软件可能会有争议,既不提供代码实现,本文仅分析原理。
1 | public class MyAmazingBot extends TelegramLongPollingBot { |