插件全开源,支付功能需自己根据自己的第三方支付修改相关代码
全开源,无重大BUG或者版本兼容问题,后续基本不会更新了,
首次遇到安装问题可以联系我QQ200972467,附上网站会员账号。没购买记录解决问题一次30
没第三方支付的可以找我搭建第三方支付,目前只支持支付宝云端挂机收款,微信风控太厉害了,支付宝是最稳的。
自己准备VPS或者挂机宝和域名,也可找我购买,第三方单独搭建50,虚拟主机38一年包CDN国内加速二级备案域名,用于违法必举报。
发卡插件
一个简单的 AstrBot 发卡插件,支持商品管理和自动发货(易支付版)。
功能
- 商品管理(添加、修改、删除、查看)
- 卡密管理(支持批量添加)
- 自动发货(用户购买后自动发放卡密)
- 库存管理
- 限购功能(每个用户限制购买次数)
- 易支付对接(可选)
- 二维码支付(本地生成二维码,无需外部API)
- 自动推送卡密(需配置宝塔计划任务)
- Web管理界面(支持密码保护)
命令
| 命令 | 用途 | 权限 |
|---|---|---|
/发卡 |
查看帮助 | 所有人 |
/商城 |
查看商品列表 | 所有人 |
/购买 <商品ID> [数量] |
购买商品(默认支付宝) | 所有人 |
/发卡订单 <订单号> |
查询订单状态和卡密 | 所有人 |
/发卡添加商品 <商品名> <价格> [描述] |
添加商品 | 管理员 |
/发卡修改商品 <商品ID> [名称] [价格] [描述] |
修改商品(参数可选) | 管理员 |
/发卡添加卡密 <商品ID> <卡密> |
添加卡密(支持批量,换行或逗号分隔) | 管理员 |
/发卡库存 <商品ID> |
查看库存 | 管理员 |
/发卡删除商品 <商品ID> |
删除商品 | 管理员 |
/发卡卡密列表 |
查看卡密状态 | 管理员 |
安装
- 安装依赖
bash
pip install aiosqlite aiohttp qrcode Pillow
- 插件配置(WebUI中配置)
| 配置项 | 说明 |
|---|---|
web_password |
Web管理界面访问密码(设置后需登录才能访问) |
shop_name |
店铺名称 |
admin_qq |
管理员QQ号(多个用逗号分隔,留空则不限制) |
max_buy_one_time |
单次最大购买数量 |
show_sold_info |
是否显示卡密购买者信息 |
auto_replenish_alert |
库存警告阈值(0为关闭) |
enable_payment |
是否启用支付(true=需要支付,false=直接发货) |
pay_appid |
商户ID(partner) |
pay_appsecret |
商户KEY |
pay_api_url |
支付API地址(如:http://www.227k.cn) |
pay_notify_url |
本地支付回调地址 |
notify_group_id |
支付成功推送群号(留空则不推送) |
limit_product_ids |
限购商品ID列表(如:[1,2,3]) |
max_per_user |
限购用户购买次数 |
支付配置
方法1:使用本地回调服务(推荐)
- 修改
pay/notify.py中的配置:
python
DB_PATH = Path(__file__).parent.parent / "card_shop.db"
MERCHANT_KEY = "你的商户KEY" # 和插件配置的 pay_appsecret 一致
- 安装依赖:
bash
pip install aiohttp aiosqlite
- 运行支付回调服务:
bash
cd AstrBot/data/plugins/astrbot_plugin_cardsell/pay
python notify.py
- 在插件配置中设置
pay_notify_url为:http://你的域名:6188/notify
方法2:使用插件Web API(需要公网访问)
- 在 AstrBot 源码
astrbot/dashboard/server.py的allowed_endpoints列表中添加:
python
"/api/plug/", # 插件 Web API 推送回调地址
-
重启 AstrBot
-
推送地址为:
http://你的域名:6185/api/plug/cardsell_poll_notify
自动推送卡密和群购买消息
支付回调只能更新订单状态,无法主动发送消息。需要配置宝塔计划任务来实现自动推送。
步骤1:确保回调正常工作
- 使用方法1:确保 notify.py 在运行并能更新订单状态
- 使用方法2:确保推送回调打到
/api/plug/cardsell_notify
步骤2:配置宝塔计划任务
- 宝塔面板 → 计划任务
- 添加任务:
- 任务类型:Shell脚本
- 执行周期: N秒(如:每3秒)
- 脚本内容:
bash
curl -s "http://你的域名:6185/api/plug/cardsell_poll_notify"
步骤3:重启AstrBot使更新生效
数据库
插件使用 SQLite 数据库,位于:data/plugins/astrbot_plugin_cardsell/card_shop.db
Web管理界面
插件提供了独立的Web管理页面,可以管理商品、卡密和订单。
访问地址:http://你的域名:6185/api/plug/cardsell_web
如果设置了web_password,需要先登录才能访问管理页面
功能说明
- 商品管理:添加、删除商品,查看库存,修改商品信息
- 卡密管理:批量添加卡密,查看卡密状态(已售/未售分开显示)
- 订单管理:查看所有订单及状态
- 统计信息:显示今日收入、昨日收入、总收入
数据接口
如果需要自行开发前端,可以通过以下API获取数据:
| 接口 | 方法 | 说明 |
|---|---|---|
/api/plug/cardsell_api/products |
GET/POST/PUT/DELETE | 商品增删改查 |
/api/plug/cardsell_api/cards |
GET/POST/DELETE | 卡密增删查 |
/api/plug/cardsell_api/orders |
GET | 订单查询 |
/api/plug/cardsell_api/stats |
GET | 收入统计 |
/api/plug/cardsell_login |
GET/POST | 登录认证 |
by 悲喜自渡








© 版权声明
NOTICE
admint@111.com | Copyright © 2023~2026
01
DISCLAIMER
本站资源大多来自网络,如有侵犯权益请联系管理员,我们会第一时间审核删除。站内资源仅供学习测试,未经许可禁止商用,请在24小时内删除。
02
VIP PRIVILEGE
遇到付费内容?升级终身VIP即可全站免费畅享所有资源,可以联系我的QQ进行开通。
##
THE END



暂无评论内容