前言

有这么一个需求,用户拉群,然后再群里面发送搜索电视剧,然后可以快速的去emby上搜索。有的话直接给播放链接,如果没有的话,直接去搜索下来并且下载,下载后自动入库。但是后面这一部分的需求应该还需要一段时间,因此我们先完成微信机器人的需求。这里我给大家推荐一个开源项目,也是我自己在用的一个项目,整体是采用windows版本登录,然后hook注入来使用的,并且还支持自定义插件。这个自定义插件也就是我需要的工作

项目介绍

项目地址:https://henryxiaoyang.github.io/XYBot/#/README

XYBot 是一个基于 docker 和 pywxdll hook 注入的微信机器人。😊 具有高度可自定义性,支持自我编写插件。🚀

XYBot 提供了多种功能,包括获取天气🌤️、获取新闻📰、ChatGPT 聊天🗣️、Hypixel 玩家查询🎮、随机图片📷、随机链接🔗、随机群成员👥、五子棋♟️、签到✅、查询积分📊、积分榜🏆、积分转送💰、积分抽奖🎁、积分红包🧧等。🎉

XYBot 拥有独立的经济系统,其中基础货币称为” 积分 “。💰

XYBot 还提供了管理员功能,包括修改积分💰、修改白名单📝、重置签到状态🔄、获取机器人通讯录📚、获取群成员列表👥、热加载 / 卸载 / 重载插件🔄等。🔒

XYBot 详细的部署教程可以在项目的 Wiki 中找到。📚 同时,XYBot 还支持自我编写插件,用户可以根据自己的需求和创造力编写自定义插件,进一步扩展机器人的功能。💡

Unraid 部署

变量说明

  • HOOK_PROC_NAME:WeChat

  • HOOK_DLL:auto.dll

  • TARGET_AUTO_RESTART:yes

  • INJ_CONDITION:[ "\`sudo netstat -tunlp | grep 5555\`" != '' ] && exit 0 ; sleep 5 ; curl 'http://127.0.0.1:8680/hi' 2>/dev/null | grep -P 'code.:0'

  • TARGET_CMD:wechat-start

这里还有一个额外参数,官方是这么写的,具体不写是否启动不了,这个不太清楚,但是还是加进去把。打开高级 模式,再额外要求里面加入:--add-host=dldir1.qq.com:127.0.0.1

端口说明

  • 5555:5555

  • 5900:5900

  • 8080:8080

路径映射

/mnt/user/appdata/XYBot:/home/app/XYBot

前面是宿主机的目录,后面是容器目录,前面的目录按照个人的需求来变动

代码下载

进入到宿主机目录中,目前是:/mnt/user/appdata/XYBot

cd /mnt/user/appdata/XYBo

git clone https://github.com/HenryXiaoYang/XYBot.git ./

启动容器即可,可以观看Docker的日志

出现这个日志则表示正常运行了。后面登录之后也会注入DLL,对应看日志即可。

Docker 快速模板文件(推荐部署)

将以下内容放到/boot/config/plugins/dockerMan/templates-user 文件名:my-wechat-xybot.xml

不过文件内的NetworkMyIP 记得修改,下面是我的模板配置文件

<?xml version="1.0"?>
<Container version="2">
  <Name>wechat-xybot</Name>
  <Repository>henryxiaoyang/wechat-service-xybot</Repository>
  <Registry>https://hub.docker.com/r/henryxiaoyang/wechat-service-xybot</Registry>
  <Network>br0</Network>
  <MyIP>192.168.200.136</MyIP>
  <Shell>sh</Shell>
  <Privileged>false</Privileged>
  <Support/>
  <Project/>
  <Overview/>
  <Category/>
  <WebUI/>
  <TemplateURL/>
  <Icon>https://henryxiaoyang.github.io/XYBot/xybot_logo_32x32.png</Icon>
  <ExtraParams/>
  <PostArgs/>
  <CPUset/>
  <DateInstalled>1721134089</DateInstalled>
  <DonateText/>
  <DonateLink/>
  <Requires>--add-host=dldir1.qq.com:127.0.0.1</Requires>
  <Config Name="HOOK_PROC_NAME" Target="HOOK_PROC_NAME" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">WeChat</Config>
  <Config Name="HOOK_DLL" Target="HOOK_DLL" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">auto.dll</Config>
  <Config Name="TARGET_AUTO_RESTART" Target="TARGET_AUTO_RESTART" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">yes</Config>
  <Config Name="INJ_CONDITION" Target="INJ_CONDITION" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">[ "\`sudo netstat -tunlp | grep 5555\`" != '' ] &amp;&amp; exit 0 ; sleep 5 ; curl 'http://127.0.0.1:8680/hi' 2&gt;/dev/null | grep -P 'code.:0'</Config>
  <Config Name="TARGET_CMD" Target="TARGET_CMD" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">wechat-start</Config>
  <Config Name="Host Port 2" Target="5555" Default="" Mode="tcp" Description="" Type="Port" Display="always" Required="false" Mask="false">5555</Config>
  <Config Name="Host Port 3" Target="5900" Default="" Mode="tcp" Description="" Type="Port" Display="always" Required="false" Mask="false">5900</Config>
  <Config Name="Host Path 1" Target="/home/app/XYBot" Default="" Mode="rw" Description="" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/appdata/XYBot</Config>
  <Config Name="Host Port 3" Target="8080" Default="" Mode="tcp" Description="" Type="Port" Display="always" Required="false" Mask="false">8080</Config>
</Container>

Bot配置

访问Docker地址:http://你自己的IP地址:8080/vnc.html

原版本号一开始不是这个,需要修改成:3.6.0.18,这个版本目前应该是最稳定的。修改之后,点击微信低版本通杀 这样就会启动一个微信了,直接扫码登录即可

更多的部署参数可以见官方文档:https://henryxiaoyang.github.io/XYBot/#/zh-cn/XYBotLinux%E9%83%A8%E7%BD%B2?id=%e9%83%a8%e7%bd%b2