输入验证码,即可复制
扫描二维码输入:jiuge,即可获取验证码
只需要3秒时间
返回列表 发布新帖

[模板插件] 告别复杂配置!密码下载+多平台机器人,一键搞定

54 0
发表于 2025-2-27 21:35:01 | 查看全部 阅读模式
前言

这是一个用于WordPress的附件密码下载,对接公众号 提供API 方便其他程序调用 支持多平台机器人 如 QQ官方机器人 TG机器人等 密码随机生成,支持ai大模型。程序永久免费且开源 开源地址 https://github.com/naigoucn/ngdown
前台下载样式参考 6KE论坛的子比下载插件
微信机器人参考http://github.com/wangvsa/wechat-robothttps://github.com/shiheme/wechat-robot-guoqing
图标样式采用开源icon库 https://remixicon.com
不对接公众号的版本 下载地址
防止资源丢失,建议先转存到网盘
请打开外部链接进行下载


支持功能

  • 输入密码下载附件
  • 对接微信公众号随机密码
  • 公众号推送文章
  • 单篇文章密码30分钟自动切换
  • 对接AI大模型实现自动聊天
  • 提供api接口 方便其他机器人框架调用
  • 支持多平台机器人 如QQ/TG等 (取决于您的机器人框架)
  • 后台设置页面 自定义回复设置 大模型设置 api密钥设置
  • 自动识别网盘链接展示对应图标
  • 支持选择开启或关闭密码下载

演示图
截图202502272125033582.png

截图202502272125302549.png 截图202502272125449647.png 截图202502272126048554.png


使用方法

文章页


新建文章后,如果想在文章底部加上密码下载就在编辑器底部找到下图设置

截图202502272126593599.png

填写对应内容即可,选项留空前台不显示该内容,显示选项 选择隐藏前台也不显示该内容。

对接微信公众号

截图202502272127352721.png 截图202502272127543895.png

在这里输入你的微信公众号 开发者ID(AppID) 和 开发者密码(AppSecret)

如何获取开发者ID(AppID) 和 开发者密码(AppSecret)?
登录微信公众号平台 mp.weixin.qq.com 登录账号 找到 设置与开发 点击 开发接口管理 如下图

截图202502272128369961.png
复制appid粘贴到上面的位置,密钥点击重置,扫码后重新获取 记得把服务器ip设置为IP白名单。
截图202502272128585918.png

服务器地址改为 https://你的域名/?wechat token填写wechat 消息加解密方式选择明文模式。

对接AI大模型

后台找到微信机器人 AI模型 按要求填写

截图202502272129297555.png

这个适配的是openai的,大部分大模型都支持,所以改接口 改密钥 改模型代码 理论支持所有大模型,例如腾讯混元 阿里通义千问 DeepSeek等。 预装了部分ai大模型 如通义千问 腾讯混元 deepseek kimi 模型记得选择正确 不然会失败。

API秘钥


插件提供api用来获取密码 采用post形式 API Token按你需要的设置。

截图202502272130107888.png

接口请求方式
api_token就是你设置的token postid就是你开启密码下载的文章
URL: https://域名/wp-json/ngapi/v1/get-password
Method: POST 
Headers: Content-Type: application/json
Body (JSON):
{
    "api_token": "your_api_token_here",
    "postid": your_post_id_here
}
对接其他机器人
QQ机器人
我使用的是 AstrBot 机器人框架 对接的QQ官方机器人 AstrBot安装教程 和使用教程 这里就不赘述 需要的请自行前往仓库获取。

插件代码及仓库地址
https://github.com/naigoucn/astrbot_plugin_ngdown
from astrbot.api.event import filter, AstrMessageEvent, MessageEventResult
from astrbot.api.star import Context, Star, register
from astrbot.api import logger
import requests
 
@register("article_password", "奶狗", "奶狗WordPress文章密码下载插件", "1.0.0", "repo url")
class ArticlePasswordPlugin(Star):
    def __init__(self, context: Context):
        super().__init__(context)
        self.api_token = "966877"  # 在这里配置 API Token
        self.website_url = "https://www.naigou.cn"  # 在这里配置网站 URL后面不要加/
    
    # 注册指令的装饰器。指令名为 文章密码。注册成功后,发送 `/文章密码 xxx` 就会触发这个指令,并回复 密码信息
    @filter.command("文章密码")
    async def article_password(self, event: AstrMessageEvent):
        '''这是一个获取文章密码的指令''' # 这是 handler 的描述,将会被解析方便用户了解插件内容。建议填写。
        user_name = event.get_sender_name()
        message_str = event.message_str.strip() # 用户发的纯文本消息字符串
        
        # 解析命令参数
        parts = message_str.split(maxsplit=1)
        if len(parts) != 2:
            yield event.plain_result(f"格式错误,请使用 `/文章密码 文章ID` 格式。")
            return
        
        command, post_id_str = parts
        
        # 检查 post_id 是否为数字
        if not post_id_str.isdigit():
            yield event.plain_result(f"格式错误,请使用 `/文章密码 文章ID` 格式,文章ID必须是数字。")
            return
        
        post_id = int(post_id_str.strip())
        
        if not post_id:
            yield event.plain_result(f"无效的文章ID,请重新输入。")
            return
        
        # 构建API请求数据
        data = {
            "api_token": self.api_token,
            "postid": post_id
        }
        
        # 调用API获取密码
        api_url = f"{self.website_url}/wp-json/ngapi/v1/get-password"
        try:
            response = requests.post(api_url, json=data)
            response.raise_for_status()
            data = response.json()
            
            # 统一返回 API 返回的消息内容
            message = data["data"].get("message", "未知错误")
            yield event.plain_result(f"{message}")
        
        except requests.exceptions.HTTPError as e:
            logger.error(f"HTTP 错误: {e}")
            try:
                data = response.json()
                message = data["data"].get("message", "未知错误")
            except (ValueError, KeyError):
                message = "无法解析API响应"
            yield event.plain_result(f"{message}")
        except requests.exceptions.RequestException as e:
            logger.error(f"请求API时发生错误: {e}")
            yield event.plain_result(f"请求API时发生错误: {str(e)}")

TG机器人

部分框架提供对接其他平台的功能 参考QQ机器人的对接方式

文件下载

夸克网盘UC网盘GitHub
转载:https://www.naigou.cn/681.html

免责声明

本社区仅提供信息交流平台,帖子内容由用户自行发布,不代表社区立场。用户对发布内容负全责,包括版权、隐私、诽谤等,社区不承担因使用社区内容导致的损失。禁止发布侵权、隐私信息,发现侵权请联系我们。社区不负责第三方内容,用户因访问第三方内容产生的损失,社区不担责。用户须遵守规则和法律,不得发布违法、不当内容,违规内容将被删除。发表帖子即同意本声明,不同意请勿发帖。


特别提醒:网络空间并非法外之地,请广大用户自觉遵守法律法规,共同营造健康、文明、有序的网络环境。

本社区运营团队

联系我们: 如有疑问或发现违规行为,请联系管理员:kefu@foxccs.com

远方路灯明灭,银河倾斜,一斛星斗洒满天街。

回复

快捷回复: 经历想经历的,成为想成为的 - 九歌社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

jiubbs2025@163.com

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • QQ交流群
  • 微信公众号
Copyright © 2001-2025 九歌社区 版权所有 All Rights Reserved.

手机版|小黑屋|帮助|九歌社区   |   GMT+8, 2025-4-30 12:48 , Processed in 0.209747 second(s), 68 queries .

关灯 在本版发帖
扫一扫添加微信客服
手机扫一扫访问
返回顶部
快速回复 返回顶部 返回列表