1. 环境准备与基础配置
第一次接触Potato Chat机器人开发时,我花了整整一个下午才把环境搭好。为了让你们少走弯路,我把所有坑点都整理成了这份保姆级指南。Python环境建议使用3.8以上版本,这个版本对异步IO的支持更完善,后续处理消息推送会更流畅。
安装核心依赖其实就两行命令:
bash复制pip install requests python-dotenv
但这里有个隐藏技巧——一定要创建独立的虚拟环境。我遇到过因为系统Python包冲突导致消息发送失败的案例,用venv就能彻底规避:
bash复制python -m venv potato_bot
source potato_bot/bin/activate # Linux/Mac
potato_bot\Scripts\activate.bat # Windows
建议在项目根目录创建.env文件保存敏感信息:
ini复制BOT_TOKEN=你的机器人token
API_URL=https://api.potato.im/bot
加载时用这个安全姿势:
python复制from dotenv import load_dotenv
import os
load_dotenv()
token = os.getenv('BOT_TOKEN') # 比直接写代码里安全多了
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 机器人创建全流程实战
创建机器人的过程就像在游戏里注册新角色。首先在Potato里找到@BotFather(这名字莫名喜感),跟它聊天就像在玩文字冒险游戏:
- 发送
/newbot触发创建流程 - 给你的机器人起个炫酷的名字,比如"Python小助手Pro"
- 设置唯一用户名,必须以
_bot结尾(我试过不加后缀会被打回)
成功后会收到这样的回复:
code复制Done! Your new bot is ready.
Token: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
这个token就是机器人的身份证,千万保管好!我有次误上传到GitHub,结果机器人被拿去群发广告...
获取chat_id的骚操作很多人不知道:先让机器人发条消息,然后访问:
python复制import requests
def get_updates(token):
url = f"https://api.potato.im/bot{token}/getUpdates"
return requests.get(url).json()
返回的message['chat']['id']就是你要的chat_id。实测发现群组ID是负数,个人聊天是正数,这个细节官方文档可没写。
3. 消息处理核心功能实现
发送消息看似简单,但优化空间很大。这是我打磨过的增强版发送函数:
python复制def send_text(token, chat_id, text, reply_markup=None):
url = f"https://api.potato.im/bot{token}/sendMessage"
payload = {
"chat_id": chat_id,
