上级 项目
type
Post
status
Published
date
Sep 2, 2024
slug
picbot
summary
用户可以直接将图片发送给机器人,机器人会返回一个可分享的 URL。
password
子级 项目
tags
工具
学习
图床
Telegram
Bot
category
开源项目

Telegram Image Bot

Lite Telegram Image Bot 是一个基于 C++ 的 Telegram 机器人项目,可以处理用户发送给机器人的图片,并返回一个可公开访问的 URL。

功能特性

  1. 接收和处理用户发送的图片:用户可以直接将图片发送给机器人,机器人会返回一个可分享的 URL。
  1. 处理群聊中的图片:当机器人被 @ 并且是对图片的回复时,机器人会返回该图片的 URL。
  1. 动态线程池:自动调整线程池大小以优化性能。
  1. 持久化状态:自动保存并恢复 offset,以避免处理重复的消息。
  1. 错误处理:友好的错误提示和详细的日志记录,便于调试和维护。

项目结构

环境要求

  1. C++11/14/17:支持 C++11 或以上版本的编译器。
  1. libcurl:用于处理 HTTP 请求。
  1. nlohmann/json:用于解析 JSON 数据。
  1. POSIX:线程池依赖于 POSIX 线程。

安装与使用

1. 克隆项目

2. 安装依赖库

在 Ubuntu/Debian 上,你可以使用以下命令安装所需的库:

3. 编译项目

在项目根目录下运行:

4. 修改配置文件config.json

需要修改hostname,api_token

5. 生成证书

证书放在项目根目录下,名称分别为server.key、server.crt

6. 运行机器人

运行程序并传入 Telegram Bot API Token:
你可以通过 @BotFather 在 Telegram 中创建并获取你的 Bot Token。

配置说明

在 bot.cpp 文件中,你可以根据需要调整机器人的配置,例如:
  1. 处理的文件类型:当前只处理图片(photo),你可以扩展到处理其他文件类型。
  1. API 请求频率:默认情况下,每秒请求一次更新,可以根据需要调整请求频率。
项目地址:
lite-telegram-image-bot
cryptoliUpdated Oct 8, 2024
成品bot:

效果展示

notion image
notion image
notion image
优秀演员经典画面:张世篇红色嫁衣,绿色嫁衣在北宋时期哪个更正式?我来告诉你!
Loading...