https://github.com/jarod329/telegram-deepseek-twitter
推特自动发文MCP服务
https://github.com/jarod329/telegram-deepseek-twitter
agent mcp telegram twitter
Last synced: about 2 months ago
JSON representation
推特自动发文MCP服务
- Host: GitHub
- URL: https://github.com/jarod329/telegram-deepseek-twitter
- Owner: jarod329
- License: mit
- Created: 2025-03-22T06:17:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-13T08:49:08.000Z (about 1 year ago)
- Last Synced: 2025-04-13T09:40:17.523Z (about 1 year ago)
- Topics: agent, mcp, telegram, twitter
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 推特自动发文MCP服务使用和部署指南
## 服务简介
这个MCP(微服务控制面板)服务可以自动从Telegram频道获取加密货币相关消息,使用AI生成内容,并发布到Twitter上。服务通过RESTful API提供,支持多用户,每个用户可以配置自己的API密钥和发布设置。
## 部署方式
### 方法一:传统服务器部署
1. **环境准备**
```bash
# 克隆代码到服务器
git clone https://github.com/your-username/twitter-poster-mcp.git
cd twitter-poster-mcp
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
```
2. **配置requirements.txt文件**(确保包含以下依赖)
```
fastapi>=0.104.0
uvicorn>=0.23.2
tweepy>=4.14.0
openai>=1.0.0
telethon>=1.30.0
httpx>=0.24.1
schedule>=1.2.0
pydantic>=2.4.2
python-dotenv>=1.0.0
```
3. **启动服务**
```bash
# 基本启动
python main.py
# 指定主机和端口
python main.py --host 0.0.0.0 --port 8080
# 开发模式(自动重载)
python main.py --reload
```
### 方法二:使用Docker部署
1. **创建Dockerfile**
```Dockerfile
FROM python:3.10-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "main.py"]
```
2. **创建docker-compose.yml**(可选)
```yaml
version: '3'
services:
twitter-poster-mcp:
build: .
ports:
- "8000:8000"
volumes:
- ./configs:/app/configs
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
```
3. **构建和运行**
```bash
# 使用Dockerfile构建
docker build -t twitter-poster-mcp .
docker run -p 8000:8000 -v $(pwd)/configs:/app/configs twitter-poster-mcp
# 或使用docker-compose
docker-compose up -d
```
### 方法三:使用云服务部署
1. **AWS Elastic Beanstalk**
- 创建一个Python应用
- 上传代码包
- 设置环境变量
2. **Heroku**
- 创建Procfile: `web: uvicorn main:app --host=0.0.0.0 --port=$PORT`
- 使用Heroku CLI部署: `heroku create && git push heroku main`
3. **阿里云/腾讯云**
- 使用云服务器ECS/CVM
- 按照传统服务器部署步骤操作
- 或使用容器服务ACK/TKE部署Docker版本
## 如何使用服务
### 1. 注册服务
首先,用户需要注册并获取API密钥。
```bash
curl -X POST "http://your-server:8000/users/register" \
-H "Content-Type: application/json" \
-d '{
"api_key": "your-preferred-api-key",
"service_config": {
"twitter": {
"consumer_key": "your-twitter-consumer-key",
"consumer_secret": "your-twitter-consumer-secret",
"access_token": "your-twitter-access-token",
"access_token_secret": "your-twitter-access-token-secret"
},
"telegram": {
"api_id": 123456,
"api_hash": "your-telegram-api-hash",
"channel": "channel_name"
},
"ai": {
"api_key": "your-deepseek-api-key",
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1"
},
"prompt_template": "请根据以下从加密货币新闻频道获取的消息,提炼总结成英文推文。若有多条消息,用数字1,2,3等分开。推文要足够吸引人,使用加密货币领域的专业术语,可以添加emoji表情。总字数不超过70个英文单词。原始消息:\n{messages}",
"fixed_hashtags": "#crypto #bitcoin"
}
}'
```
服务将返回一个包含`user_id`和`api_key`的响应。请保存此信息用于后续API调用。
### 2. 使用API
所有后续请求都需要包含API密钥作为Authorization header:
```
Authorization: Bearer your-api-key
```
#### 发送单条推文
```bash
curl -X POST "http://your-server:8000/twitter/post" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"content": "Bitcoin just broke $80,000! This is a historic moment for cryptocurrency. #BTC",
"hashtags": "#crypto #bitcoin #btc"
}'
```
#### 获取Telegram最新消息
```bash
curl -X POST "http://your-server:8000/telegram/fetch" \
-H "Authorization: Bearer your-api-key"
```
#### 生成推文内容
```bash
curl -X POST "http://your-server:8000/generate/content" \
-H "Authorization: Bearer your-api-key"
```
#### 启动自动发布定时任务
```bash
curl -X POST "http://your-server:8000/scheduler/start" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"interval_minutes": 30,
"min_interval_seconds": 2400,
"max_interval_seconds": 4800
}'
```
#### 停止自动发布
```bash
curl -X POST "http://your-server:8000/scheduler/stop" \
-H "Authorization: Bearer your-api-key"
```
#### 获取服务状态
```bash
curl -X GET "http://your-server:8000/status" \
-H "Authorization: Bearer your-api-key"
```
#### 更新配置
```bash
curl -X PUT "http://your-server:8000/config/update" \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"twitter": {
"consumer_key": "updated-key",
"consumer_secret": "updated-secret",
"access_token": "updated-token",
"access_token_secret": "updated-token-secret"
},
"telegram": {
"api_id": 123456,
"api_hash": "your-telegram-api-hash",
"channel": "new_channel_name"
},
"ai": {
"api_key": "your-deepseek-api-key"
},
"fixed_hashtags": "#crypto #bitcoin #eth"
}'
```
#### 注销用户
```bash
curl -X DELETE "http://your-server:8000/users/unregister" \
-H "Authorization: Bearer your-api-key"
```
## 其他开发者可以如何接入这个服务
其他开发者可以通过以下方式接入此服务:
1. **Web应用集成**
- 在前端应用中通过API请求调用相关功能
- 创建图形界面来管理Twitter自动发文
2. **移动应用集成**
- 在移动应用中通过API请求调用相关功能
- 提供推文预览和管理界面
3. **其他自动化系统集成**
- 在自己的自动化流程中调用此API
- 例如:将新闻监控系统与此服务组合
4. **第三方平台集成**
- 将此服务与其他平台(如WordPress、Discord机器人等)集成
## 安全建议
1. 使用HTTPS保护API通信
2. 设置复杂的API密钥
3. 定期更新Twitter和Telegram的API凭据
4. 监控日志以检测异常活动
5. 备份配置文件
## 常见问题
1. **Q: API返回401错误**
A: 检查API密钥是否正确,并确保在请求头中正确设置Authorization
2. **Q: 无法连接到Telegram**
A: 检查网络连接、代理设置和Telegram API凭据
3. **Q: 推文发送失败**
A: 检查Twitter API凭据和限制状态,可能达到推文频率限制
4. **Q: 服务占用内存过高**
A: 考虑限制同时运行的实例数量或增加服务器资源