快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框内输入如下内容:
开发一个Discord聊天机器人原型,功能:1) 响应!seraphine [玩家ID]命令 2) 查询该玩家Seraphine战绩 3) 返回简洁的数据摘要 4) 支持多个服务器同时使用。使用Python+Discord.py框架,调用Riot API,部署在Replit上。要求代码简洁,有完整错误处理。 - 点击'项目生成'按钮,等待项目生成完整后预览效果

最近想给游戏社群做个实用小工具,刚好发现InsCode(快马)平台能快速实现想法。记录下用Python开发Discord战绩查询机器人的过程,从零到上线只用了咖啡凉透前的时间。
核心功能设计
- 指令响应:当用户在Discord输入
!seraphine 玩家ID时触发查询 - 数据获取:通过Riot API抓取该玩家的琴女(Seraphine)对战数据
- 摘要生成:自动统计常用指标(KDA、胜率、场次等)
- 多服支持:同一个机器人可同时服务多个Discord服务器
关键技术点
- Discord.py框架:用
bot.command()装饰器定义指令,处理用户消息时自动过滤无关内容 - API请求优化:
- 使用
aiohttp异步请求避免阻塞 - 缓存Riot API密钥并处理每分钟请求限制
- 对无效ID返回友好提示(比如"召唤师不存在")
- 数据处理:
- 筛选最近20场使用Seraphine的对局
- 计算综合胜率时排除人机对战
- 对0场记录的情况返回鼓励语句
开发过程实录
- 环境准备:
- 在InsCode直接新建Python项目,无需本地配置
- 安装依赖时发现平台已预装discord.py库
- API对接:
- 申请Riot开发者密钥(注意选择个人非商业用途)
- 测试时发现美洲/欧洲接口不同,增加了区域选择参数
- 异常处理:
- 用try-catch包裹所有网络请求
- 对HTTP 429状态码实现自动延时重试
- 交互优化:
- 响应消息添加了琴女英雄的emoji图标
- 长时间查询时发送"正在努力调取数据..."提示
部署踩坑记
- 平台选择:原本打算用Replit,但发现快马内置的部署更便捷
- 环境变量:通过网页表单直接设置API密钥,比手动改代码安全
- 常驻运行:
- 测试时误用了
python main.py导致退出即停 - 改用平台推荐的生产模式后稳定运行
现在只要在Discord输入!seraphine Faker(虽然他不玩琴女),就能看到这样的统计结果:
? 琴女近期战绩:14胜6负 | KDA 5.2 | 最爱出装:月石再生器+炽热香炉

整个过程最惊喜的是用InsCode(快马)平台的AI辅助: - 输入"如何用discord.py获取用户消息"直接生成代码片段 - 调试API返回数据时,用自然语言询问JSON解析方法立刻得到解决方案 - 部署时连Dockerfile都不用写,点个按钮就上线了
建议想尝试AI编程的朋友,完全可以从这种小工具开始实践。下次我准备给机器人加上战绩变化趋势图,或许可以继续用平台的可视化功能快速实现。
快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框内输入如下内容:
开发一个Discord聊天机器人原型,功能:1) 响应!seraphine [玩家ID]命令 2) 查询该玩家Seraphine战绩 3) 返回简洁的数据摘要 4) 支持多个服务器同时使用。使用Python+Discord.py框架,调用Riot API,部署在Replit上。要求代码简洁,有完整错误处理。 - 点击'项目生成'按钮,等待项目生成完整后预览效果
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
2万+

被折叠的 条评论
为什么被折叠?



