Astrbot – QQ发卡机器人插件

Astrbot – QQ发卡机器人插件

Astrbot - QQ发卡机器人插件-悲喜自渡の博客
Astrbot – QQ发卡机器人插件
此内容为付费资源,请付费后查看
66
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源

插件全开源,支付功能需自己根据自己的第三方支付修改相关代码

全开源,无重大BUG或者版本兼容问题,后续基本不会更新了,

首次遇到安装问题可以联系我QQ200972467,附上网站会员账号。没购买记录解决问题一次30

没第三方支付的可以找我搭建第三方支付,目前只支持支付宝云端挂机收款,微信风控太厉害了,支付宝是最稳的。

自己准备VPS或者挂机宝和域名,也可找我购买,第三方单独搭建50,虚拟主机38一年包CDN国内加速二级备案域名,用于违法必举报。

发卡插件

一个简单的 AstrBot 发卡插件,支持商品管理和自动发货(易支付版)。

功能

  • 商品管理(添加、修改、删除、查看)
  • 卡密管理(支持批量添加)
  • 自动发货(用户购买后自动发放卡密)
  • 库存管理
  • 限购功能(每个用户限制购买次数)
  • 易支付对接(可选)
  • 二维码支付(本地生成二维码,无需外部API)
  • 自动推送卡密(需配置宝塔计划任务)
  • Web管理界面(支持密码保护)

命令

命令 用途 权限
/发卡 查看帮助 所有人
/商城 查看商品列表 所有人
/购买 <商品ID> [数量] 购买商品(默认支付宝) 所有人
/发卡订单 <订单号> 查询订单状态和卡密 所有人
/发卡添加商品 <商品名> <价格> [描述] 添加商品 管理员
/发卡修改商品 <商品ID> [名称] [价格] [描述] 修改商品(参数可选) 管理员
/发卡添加卡密 <商品ID> <卡密> 添加卡密(支持批量,换行或逗号分隔) 管理员
/发卡库存 <商品ID> 查看库存 管理员
/发卡删除商品 <商品ID> 删除商品 管理员
/发卡卡密列表 查看卡密状态 管理员

安装

  1. 安装依赖

bash

pip install aiosqlite aiohttp qrcode Pillow
  1. 插件配置(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:使用本地回调服务(推荐)

  1. 修改 pay/notify.py 中的配置:

python

DB_PATH = Path(__file__).parent.parent / "card_shop.db"
MERCHANT_KEY = "你的商户KEY"  # 和插件配置的 pay_appsecret 一致
  1. 安装依赖:

bash

pip install aiohttp aiosqlite
  1. 运行支付回调服务:

bash

cd AstrBot/data/plugins/astrbot_plugin_cardsell/pay
python notify.py
  1. 在插件配置中设置 pay_notify_url 为:http://你的域名:6188/notify

方法2:使用插件Web API(需要公网访问)

  1. 在 AstrBot 源码 astrbot/dashboard/server.py 的 allowed_endpoints 列表中添加:

python

"/api/plug/",  # 插件 Web API 推送回调地址
  1. 重启 AstrBot

  2. 推送地址为:http://你的域名:6185/api/plug/cardsell_poll_notify

自动推送卡密和群购买消息

支付回调只能更新订单状态,无法主动发送消息。需要配置宝塔计划任务来实现自动推送。

步骤1:确保回调正常工作

  • 使用方法1:确保 notify.py 在运行并能更新订单状态
  • 使用方法2:确保推送回调打到 /api/plug/cardsell_notify

步骤2:配置宝塔计划任务

  1. 宝塔面板 → 计划任务
  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 悲喜自渡

QQ20260625-125012

QQ20260625-125032

QQ20260625-125039

QQ_1782363100331

QQ20260625-125057

QQ20260625-125120

QQ20260625-125241

QQ20260625-125257

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
admin的头像-悲喜自渡の博客钻石会员
评论 抢沙发

请登录后发表评论

    暂无评论内容