1. Telegram简介
1.1 Telegram是什么
Telegram(简称TG)是跨平台的即时通信软件,其客户端是自由及开放源代码软件,但服务器是专有软件。用户可以相互交换加密与自毁消息,发送照片、影片所有类型文件。官方提供手机版、桌面版和网页版等多种平台客户端,同时官方开放API,因此拥有许多第三方的客户端可供选择,其中多款内置中文。
软件定位:加密通讯工具。
软件用途:点对点加密通讯,了解IT行业趋势,交流技术问题,获取生活娱乐资源。
软件优势:加密通讯、全平台同步、历史记录永不自动删除、随时删除或修改消息、传输文件无限制、链接摘要预览、已阅显示、10W人上限的超大群组、收藏贴纸方便、UI好看、轻量、永久无广告。
软件劣势:软件需翻墙才能使用,导致国内社交圈子几乎没有人用;无管制所以什么样的人都有,有些不健康的东西不利于祖国花骨朵的成长;有些技术群组是外文的,没有内置的翻译功能。
1.2 Telegram客户端界面
1.3 Telegram注意事项
1)该软件需要翻墙才能使用;2)里面所有个人信息都不要填真实的;3)隐私全部设置为不允许任何人或者仅联系人可见;4)默认6个月不登录自动删除账号,最长可更改为1年;5)黑产、色情、邪教的频道不要关注,不要发表政治言论。
2. Telegram基本使用
2.1 下载安装、配置代理
1)PC端:Telegram官网下载 安装并完成信息注册后,需要开启代理才能使用。
设置——高级——网络与代理——使用自定义代理——添加代理——协议:SOCKS5、IP:127.0.0.1、端口:1080(以实际为准)
另注:也可在“设置——高级——网络与代理”处直接使用“系统代理设置”,就不用配置自定义代理了。
2)iPad端和iPhone端:直接在App Store下载(国区就有,无需美区账号),开了代理工具就能用,无需额外配置代理。
2.2 客户端汉化
默认语言选项里没有中文,需要自行汉化,各客户端均是如此。
汉化方法:打开 https://telegram.me/Tele_zh_CN 加入“电报简体中文化”频道,找一个看的顺眼的语言包点一下就可以汉化了。
- 例如:我找的是2019.4.16的消息记录,点击“
简体中文(@zh_CN 版):tg://setlanguage?lang=classic-zh-cn
”语言包一键汉化。
说明:Telegram 官方只开放了语言包翻译接口,官方没有提供中文语言包,目前所有的中文语言包都是非官方用户翻译的。
2.3 频道推荐
[1] Telegram频道推荐的博客:Telegram群组/频道/机器人推荐 from Newlearnerの小站
[2] Telegram频道搜索机器人:https://t.me/soqun
注:需要啥频道,可以直接在Telegram的搜索框里搜。
2.4 创建聊天分组
由于Telegram只允许设置5个置顶消息,因此有必要创建聊天分组对消息进行分类。
设置——文件夹——设置新的文件夹
2.5 解除+86号码私聊限制
1)问题描述:
Telegram发送私聊消息时遇到如下Sorry,you can only send messages to mutual contacts at the momet.
提示,对方收不到消息。
2)原因:
有段时间币圈利用 Telegram 的便利,大量发广告和拉人进群。因此 Telegram 限制了+86 大陆手机号绑定的账号的私聊(+86 的账号不能给非 +86 的账号主动发起私聊,但是 +86 的账号能给 +86 主动发起私聊),刚注册的+86 账号也不能发起私聊的,过段时间就OK了。
3)解决办法:
向官方机器人@SpamBot 发送消息申请(跟着提示操作就行),半小时左右即可解除限制。
- Step1:发送内容
/start
- Step2:点击按钮
But I can’t message non-contacts!
- Step3:点击按钮
NO,I’ll never do any of this!
- Step4:发送内容
accident
注:为了更好的保护个人隐私,建议使用 Temporary SMS and Disposable Numbers 获取虚拟的美国电话号码注册Telegram
2.6 导出Telegram贴纸
[1] 在Telegram中搜索@StickerSetBot
机器人
[2] 输入 /newpack
开启机器人,会提示 OK now send me stickers or sticker set links (200 max).
意思是现在可以开始发送要导出的贴纸或贴纸设置链接,一次有200张的限制
[3] 选择需要导出的贴纸包,点“分享贴纸”按钮,即可生成贴纸分享链接,将此链接发送给机器人
[4] 发送完成后输入 /finish
结束,等待下载完成即可(以压缩包的形式下载到TG的下载目录中)
3. Telegram Bot入门指南
3.1 申请自己的 Telegram Bot
3.1.1 申请 Telegram Bot
找 BotFather 官方机器人申请自己的 Telegram Bot,需要记录下:BotName、TOKEN、CHATID等信息。
- Step1:在Telegram中添加
BotFather
这个账号,然后依次发送/start
,/newbot
,按照提示即可创建一个新的机器人。记下来给你生成的token。 - Step2:搜索刚刚创建的机器人的名字,并给它发送一条消息。(注意:需要先与机器人之间创建会话,机器人才能下发消息,否则机器人无法主动发送消息)
- Step3:在Telegram中搜索
userinfobot
,并给它发送一条消息,它会返回给你chatid
,将它也记下来。
3.1.2 修改 Telegram Bot 头像
还是找 BotFather 官方机器人,先发送/setuserpic
,它会让你选择为哪个Bot修改,选择完之后发送头像图片给它即可。
注:头像以图片的形式发送,不要以文件的形式发送(发送时点上那个压缩图片即为图片的形式发送)
3.2 向 Telegram Bot 推送消息
3.2.1 以命令的方式推送消息
向 Telegram Bot 推送文本消息的命令为:
1 | $ curl -s -X POST "URL" -d chat_id="CHAT_ID" -d text="MESSAGE" |
用VPS发送该命令后,Telegram Bot里就收到了我们发送的测试消息了。
3.2.2 以脚本的方式推送消息
在VPS上创建一个testbot.sh
脚本,内容如下:
1 | !/bin/bash |
然后使用chmod u+x testbot.sh
赋予其可执行权限,再使用./testbot.sh
调用,这时Telegram Bot里就收到了我们发送的测试消息了。
3.2.3 借助 Crontab 实现定时推送
我们可以借助 Crontab 定时任务去实现定时的消息推送。
1 | $ crontab -e |
然后添加类似如下代码保存即可:
1 | 59 23 * * * 脚本路径/testbot.sh |
crontab 相关命令:
1 | crontab [-u username] // 省略用户表表示操作当前用户的crontab |
crontab 定时任务语法:
1 | # For details see man 4 crontabs |
crontab定时任务实例:
1 | 实例1:每1分钟执行一次myCommand |
3.3 开发 Telegram Bot 程序
Telegram 官方为了让开发者能够参与到机器人的开发,还免费提供了功能齐全的 API,我们可以用它创建自己的机器人,下面介绍下如何创建和部署机器人程序。
3.3.1 开发 Telegram Bot 程序的API库
Github 上有很多用于开发 Telegram Bot 的API库,可以选择自己擅长的语言进行开发。
官方API库:
- 官网说明:https://core.telegram.org/api
- 官方文档:https://python-telegram-bot.readthedocs.io/en/latest/index.html
- Wiki:https://github.com/python-telegram-bot/python-telegram-bot/wiki
- 示例项目:https://github.com/python-telegram-bot/python-telegram-bot/tree/master/examples
第三方API库:
- Java:https://github.com/rubenlagus/TelegramBots
- Python:https://github.com/eternnoir/pyTelegramBotAPI
- PHP:https://github.com/Eleirbag89/TelegramBotPHP
3.3.2 使用Python开发 Telegram Bot 程序
以下使用 pyTelegramBotAPI 开发自己的 Telegram Bot 程序,建议使用 Pycharm 进行开发。
在开始开发之前,我们首先需要安装以下两个依赖包:
1 | $ pip install pyTelegramBotAPI # telebot |
下面给出一个简单的 Telegram Bot 例子,需要注意的是,如果是在国内,需要将翻墙代理的设置写到代码里。
1 | from telebot import logger |
运行之后,便可打开你的 Telegram Bot 进行测试了,输入/start
和/help
命令后,它会自动给你消息回应。
4. 参考资料
[1] 自由与失控:Telegram创始人和他的“黑客帝国” from 知乎
[2] Telegram——真正定义即时通讯 from 知乎
[3] Telegram群组/频道/机器人推荐 from Newlearnerの小站
[4] 导出Telegram贴纸为QQ表情包 from 小马哥哥
[5] 解除 Telegram +86号码私聊限制 from VPS收割者
[6] Telegram 聊天分组功能:添加聊天文件夹并对群组频道进行分组 from 老唐笔记
[7] telegram-bot推送通知 from New Life
[8] Telegram Bot 使用文档 from cnblogs