当前位置: 首页 > news >正文

聊天机器人搭建02

【从零搭建聊天机器人】02 开启你的第一个 Telegram Chatbot环境搭建与代码实现写在前面欢迎回到《从零搭建聊天机器人》系列教学在第一章中我们完成了 Git 的基础配置并成功创建了项目的云端仓库。本章我们将正式进入实战阶段申请一个属于你自己的 Telegram 机器人并在本地搭建干净的 Python 开发环境让你的机器人实现第一次“对答”。在本章的实战中编写代码只是第一步如何正确管理运行环境以及规避各类路径陷阱才是新手拉开差距的关键。教程末尾同样整理了高频的“踩坑实录”希望能帮助大家顺利通关。文章目录【从零搭建聊天机器人】02 开启你的第一个 Telegram Chatbot环境搭建与代码实现 学习目标01 准备工作Telegram 客户端安装02 创建属于你的聊天机器人 (Create a Chatbot)1. 寻找 BotFather2. 发送创建指令3. 保存访问令牌API Token03 本地开发环境配置 (Environment Setup)1. 安装 Python 解释器与避坑2. 验证 Python 安装3. 创建虚拟环境 (Virtual Environment)4. 激活虚拟环境5. 配置项目依赖文件6. 批量安装依赖03 核心逻辑代码实现1. 创建配置文件 config.ini2. 编写主程序 chatbot.py3. 运行测试04 推送新创建的文件远程仓库05 报错及解决1. 原因2. 解决办法 学习目标学完本章节你将能够获取Telegram 机器人的创建经验及唯一的 API Token。搭建Python 虚拟环境Virtual Environment实现项目依赖的独立管理。编辑配置文件与核心脚本实现一个基础的“回声机器人”能够回复你的请求。掌握敏感信息的分离方法保护你的 API 安全。01 准备工作Telegram 客户端安装由于我们需要通过 Telegram 平台来承载聊天机器人的前端交互因此首先需要确保你的设备上安装了 Telegram 客户端。移动端/桌面端安装请前往官方渠道下载并登录你的账户。避坑指南针对中国大陆地区用户如果在应用商店如 App Store无法直接搜索或下载 Telegram可以考虑将你的 Apple ID 地区切换至香港地区建议绑定一个香港手机号进行注册或维护即可正常下载和更新。02 创建属于你的聊天机器人 (Create a Chatbot)Telegram 官方提供了一个非常高效且有趣的机器人管理账户被称为 BotFather机器人教父。所有的官方机器人账号都必须通过它来申请与初始化。1. 寻找 BotFather打开 Telegram在顶部的搜索栏中精准输入 BotFather。请认准带有蓝色官方认证对勾标志的账号点击进入并点击底部的 Start 按钮开启对话。2. 发送创建指令在对话框中向它发送新机器人创建指令/newbot接着按照提示完成以下两步命名显示名称Name这是人们在聊天界面看到的名字例如My_Chatbot。用户名Username这是机器人的唯一 ID必须以bot结尾例如my_chatbot。3. 保存访问令牌API Token创建成功后BotFather 会向你发送一条包含HTTP API Token的消息格式类似于8281349887:AAGx...U-N8。⚠️重要提示请妥善保管这串 Token任何人只要拿到了这串代码就可以完全控制你的机器人。切勿将其泄露到公开代码库中。03 本地开发环境配置 (Environment Setup)在进行 Python 项目开发时为了防止不同项目之间的包版本冲突我们必须先准备好基础的 Python 环境随后为本项目建立一个完全独立的虚拟环境。1. 安装 Python 解释器与避坑请确保你的电脑上安装了Python 3.12 或更高的官方稳定版本。安装请务必前往 Python 官方网站 (python.org) 下载官方的标准安装包。(注安装界面的第一步请千万记得勾选“Add Python.exe to PATH”)*2. 验证 Python 安装安装完成后打开你的终端Windows 推荐 Git BashmacOS 使用自带 Terminal运行以下命令来确保系统能正确识别到 PythonWindows 环境请运行python--versionmacOS 环境请运行python3--version(如果终端成功输出了类似Python 3.12.x的版本号说明你的基础环境已经完全就绪)3. 创建虚拟环境 (Virtual Environment)进入你的chatbot本地工作目录执行以下命令创建一个名为venv的本地独立虚拟环境# Windows 用户python-mvenv venv# macOS 用户python3-mvenv venv4. 激活虚拟环境根据你所使用的操作系统与终端执行对应的激活命令Windows (Git Bash) / macOS / Linux:sourcevenv/Scripts/activateWindows (标准 CMD 命令行):venv\Scripts\activate检查激活状态激活成功后你的命令行提示符最左侧会显式出现(venv)字样。如果没有出现说明环境未成功激活后续安装的依赖库将会错乱地安装到系统全局环境中。如下所示(venv) D:\Mybot5. 配置项目依赖文件在项目的根目录下新建一个名为requirements.txt的纯文本文件将项目所需的依赖包及精确版本号写入其中configparser python-telegram-bot22.5 urllib32.6.26. 批量安装依赖在确保虚拟环境处于激活状态(venv)下在终端中执行以下命令进行一键安装(venv)项目路径python-mpipinstall-Upip(venv)项目路径pipinstall-rrequirements.txt03 核心逻辑代码实现为了保证代码的安全性我们采用代码与配置分离的原则。将 Token 存放在本地配置文件中而代码只负责读取配置。1. 创建配置文件config.ini在项目根目录下新建config.ini写入以下内容记得替换为你自己的 Token[TELEGRAM] ACCESS_TOKEN 8281349887:AAGx.........U-N8 刚刚获取的机器人API2. 编写主程序chatbot.py创建chatbot.py文件。我们将使用python-telegram-bot库的最新异步架构ApplicationBuilder实现一个将用户发送的文本自动转换为大写并回复的“回声机器人”fromtelegramimportUpdatefromtelegram.extimportApplicationBuilder,MessageHandler,ContextTypes,filtersimportconfigparserimportlogging# 异步回调函数处理收到的文本消息asyncdefcallback(update:Update,context:ContextTypes.DEFAULT_TYPE):# 打印收到的日志方便调试logging.info(收到消息: str(update.message.text))# 将用户发送的文本转换成大写processed_textupdate.message.text.upper()# 回复给用户awaitupdate.message.reply_text(processed_text)defmain():# 配置日志输出格式logging.basicConfig(format%(asctime)s - %(name)s - %(levelname)s - %(message)s,levellogging.INFO)# 读取 config.ini 配置文件configconfigparser.ConfigParser()config.read(config.ini)# 从配置中提取 Token 并构建 Applicationtokenconfig[TELEGRAM][ACCESS_TOKEN]appApplicationBuilder().token(token).build()# 注册消息处理器过滤掉命令只处理纯文本app.add_handler(MessageHandler(filters.TEXT~filters.COMMAND,callback))# 启动机器人并开始轮询Pollinglogging.info(机器人服务已启动正在监听消息...)app.run_polling()if__name____main__:main()3. 运行测试在激活了虚拟环境的终端中运行以下命令python chatbot.py打开 Telegram找到你的机器人并发送一段英文例如hello world如果它立刻回复了你大写的HELLO WORLD说明你的核心逻辑已经全线贯通输出如图04 推送新创建的文件远程仓库最后将requirements.txt和chatbot.py文件push到远程仓库gitaddrequirements.txtgitaddchatbot.pygitcommit-mpush requirements.txt and chatbot.py to repogitpush origin main注意不要把config.ini push到仓库里面包含了你的机器人API密钥05 报错及解决$gitaddrequirements.txt fatal: not agitrepository(or any of the parent directories): .git1. 原因在终端里进错了文件夹之前已经执行过 git clone 把线上的仓库拉取到了本地目前终端所在的路径不对停留在上一级目录。2. 解决办法在终端中使用 cdChange Directory命令进入真正的项目根目录。进入正确的目录后再重新执行gitaddrequirements.txt(可选) 然后删除虚拟环境后重新再子目录激活在CMD中输入(venv)错误目录deactivate错误的目录rmdir /s /q venv本文为《从零搭建聊天机器人》系列第二章下一章我们将正式引入大语言模型LLMAPI将这个简单的回声机升级为拥有真正人工智能的大脑欢迎关注
http://www.gsyq.cn/news/1360746.html

相关文章:

  • 【Android】Hypic 醒图国际版 最新版-免登录
  • 十二点标定文件的使用
  • GEO搜索优化行业选型白皮书:广州服务商核心评判标准 - 奔跑123
  • Android 发布全新性能分析器,实用性和性能大升级
  • 在Node.js后端服务中集成Taotoken,实现稳定可靠的大模型功能调用
  • AI行业技术岗MLOps/LLMops 工程师晋升CTO需要经历哪些岗位?多久?薪资?
  • FlashDecode:Decode 阶段的 Attention 并行化改造
  • 政府科技管理部门如何推动区域创新?
  • STM32F4电池电量监测实战:用HAL库和ADC DMA,从硬件分压到软件滤波全流程解析
  • 用STM32F103C8T6+L298N+蓝牙,手把手教你做个带PID调速的智能小车电机驱动(附完整代码)
  • 2026湖州GEO优化公司全面评测:五大头部服务商排名与避坑指南 - 品牌报告
  • AI 从 “模仿智能” 到 “重构世界” 的范式跃迁
  • Java 零基础全套教程,数据结构与集合源码,笔记 168-174
  • HashMap 底层原理 面试官问 如何回答
  • 从Hub到Router:家庭网络升级踩坑实录,手把手教你选对设备
  • 从“软启动”到防误触:三极管驱动MOS管的4个经典电路场景拆解(含避坑指南)
  • 2026年南京军事夏令营大揭秘,哪家才是你的最佳之选? - GrowthUME
  • MATLAB机器人工具箱终极实战指南:从建模到控制完整解决方案
  • UHF-RFID运动检测技术原理与优化实践
  • Boss-Key:职场隐私保护终极指南,一键隐藏窗口的智能解决方案
  • 保姆级教程:手把手复现XCTF攻防世界MOBILE入门9题(附Python/Java解密脚本及避坑指南)
  • 【混合可再生能源模拟】使用遗传算法优化光伏板和电池的容量附matlab代码
  • 【模型辨识】基于最小二乘法 LS 递推最小二乘法 RLS实现Hammerstein 模型辨识非线性静态环节 + 线性ARX动态环节附Matlab代码
  • 终极配置指南:如何在macOS上快速完成res-downloader HTTPS嗅探工具完整设置
  • 【MATLAB源码-第445期】基于MATLAB的高速V2X车联网OFDM系统多普勒频偏估计补偿与误码率性能仿真
  • 泉州AI培训:泉州元数科技助力晋江市退役军人AI职业技能提升 - 新闻快传
  • 别再为虚拟机卡顿烦恼!实测VMware 16 + Ubuntu 20.04下Gazebo 11流畅运行无人船仿真的完整配置清单
  • 验证旋转中心流程
  • 飞书秒变 Claude Code 控制台:一个 Bridge 项目,正在改写 AI 编程入口
  • 九点标定验证流程