前言
有这么一个需求,用户拉群,然后再群里面发送搜索电视剧,然后可以快速的去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
不过文件内的Network
和MyIP
记得修改,下面是我的模板配置文件
<?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\`" != '' ] && exit 0 ; sleep 5 ; curl 'http://127.0.0.1:8680/hi' 2>/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