开源地址: https://github.com/cryptoli/lite-telegram-image-bot/
成品bot: https://t.me/liteTgImagebot
功能:
- 支持将群组/频道里自己或别人发送的图片变为图源,只需要将群组或频道里的图片转发给bot即可得到一个url
- 支持个人私发给bot的图片变为图源,将图片发送给bot即可得到一个url
- 群聊中@ bot即可获取该图url(开发中...)
- 支持格式: 视频、文件、图片、贴纸等等,详见下面的json
"mime_types": {
".jpg": "image/jpeg",
".jpeg": "image/jpeg",
".png": "image/png",
".gif": "image/gif",
".bmp": "image/bmp",
".tiff": "image/tiff",
".webp": "image/webp",
".mp4": "video/mp4",
".mp3": "audio/mpeg",
".ogg": "audio/ogg",
".wav": "audio/wav",
".m4a": "audio/mp4",
".aac": "audio/aac",
".pdf": "application/pdf",
".doc": "application/msword",
".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
".xls": "application/vnd.ms-excel",
".xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
".ppt": "application/vnd.ms-powerpoint",
".pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
".zip": "application/zip",
".rar": "application/x-rar-compressed",
".7z": "application/x-7z-compressed",
".txt": "text/plain",
".csv": "text/csv",
".json": "application/json",
".xml": "application/xml",
".html": "text/html",
".htm": "text/html",
".css": "text/css",
".js": "application/javascript",
".webm": "video/webm",
".mkv": "video/x-matroska",
".mov": "video/quicktime",
".avi": "video/x-msvideo",
".flv": "video/x-flv",
".apk": "application/vnd.android.package-archive",
".tar": "application/x-tar",
".gz": "application/gzip",
".bz2": "application/x-bzip2",
".stl": "application/vnd.ms-pkistl"
},
开发消息请关注频道: https://t.me/cryptothrifts
由于本代码还在完善中,如有bug请提pr
需要声明的:这只是个C++写的轻量telegram bot,和其他大佬的图床功能上是有冲突的,如果您想在tg里快速获得一个图床链接,那么用这个是比较合适的。
大致功能如下:
以下为编译、使用方法:
1. 克隆项目
git https://github.com/cryptoli/lite-telegram-image-bot.git
cd lite-telegram-image-bot
2. 安装依赖库
在 Ubuntu 上,你可以使用以下命令安装所需的库:
sudo apt-get install g++ libcurl4-openssl-dev make nlohmann-json3-dev libssl-dev
3. 编译项目
在项目根目录下运行:
make
4. 修改配置文件config.json
需要修改hostname,api_token
{
"server": {
"hostname": "yourdomain.com",
"port": 443
},
"api_token": "your_telegram_api_token_here",
"mime_types": {
".jpg": "image/jpeg",
".jpeg": "image/jpeg",
".png": "image/png",
".gif": "image/gif",
".bmp": "image/bmp",
".tiff": "image/tiff",
".webp": "image/webp"
},
"cache": {
"max_size_mb": 100,
"max_age_seconds": 3600
}
}
5. 在当前目录生成证书
openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 365 -out server.crt
6. 运行机器人
运行程序并传入 Telegram Bot API Token:
./telegram_bot
你可以通过 @BotFather 在 Telegram 中创建并获取你的 Bot Token。
由于服务器在美国可能访问较慢,先来几张图
证书的问题修复了之前我是用的自己生成的证书,现在换成了letsencrypt的
@cryptothrift #23 我也觉得docker好点,还是域名反代好一点,现在这种方式安装,要求 80/443都不能被占用的干净服务器,这个就有点难了。docker 域名反代,然后配置里添加反代好的域名,然后上传图片返回的就是带域名的链接,我早上给你看的截图那个项目也是这样的,比较好实现安装。
“干净的服务器”搭建成功:
图挂了
图url ssl不正确
图图呢
图床证书不对
支持
https+域名+433看着好别扭,其实如果把域名反代单独拿出来,感觉会更好,有类似你这个的

@bigbabyer #7 已经修改了端口的问题,我还真不知道已经有这个bot了
@cryptothrift #8 你这个也挺好,我抽空部署实验一下
居然是C++写的