微信机器人
部署
Bot 快速启动
注意:此Bot只能在Windowns系统上运行!!!无法在Linux上运行安装
首先请克隆代码到本地,使用命令如下,也可以直接Download Zip包都行
git clone https://github.com/ngc660sec/NGCBot.git
下载Python
,使用Python 3.8.10
版本**(Python版本不得低于3.8.10,不得高于3.13)**
Python3.8.10:https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe
使用pip
安装项目包(不懂就按顺序运行)
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
python -m pip install --upgrade pip
pip install -r requirements.txt
第三步安装的时候,我出现了wcferry==39.2.4.0
匹配不上,应该是被开发这个类库的作者去掉了 ,也可能是镜像地址没有这个了,自己修改requirements.txt文件的版本即可,改为红字里面有的版本就行(推荐wcferry==39.2.3.0
)
安装完毕后你的 WCF
版本应该是 39.4.2.2
,请选择对应的微信进行下载
这里我是根据 requirements.txt的版本来下的,也就是第二个
wcferry==39.0.12.0
:WeChatSetup-3.9.2.23.exewcferry==39.2.4.0
:WeChatSetup-3.9.10.27.exewcferry==39.4.2.2
:WeChatSetup-3.9.12.17
安装完毕后,启动main.py
文件
python main.py
出现以下界面,说明启动成功
进入微信之后,会自动初始化必备文件
后面的配置和基础使用原作者GitHub都有完整的截图和使用说明。已经比较详细了。我就不赘述了。
然后自己看配置文件配置即可:
https://github.com/ngc660sec/NGCBot#33配置文件快速配置
第一次使用帮助
https://github.com/ngc660sec/NGCBot#-4使用帮助
python实现RSS订阅,机器人自动推送更新
from datetime import datetime
from OutPut.outPut import op
import feedparser
class DongManUpdateApi:
def __init__(self):
"""
不要直接调用此类
动漫更新Api文件
"""
self.rssUrls = {"我独自升级" : "https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E7%258B%25AC%25E8%2587%25AA%25E5%258D%2587%25E7%25BA%25A7%2522%255D%257D%255D",
"遮天" : "https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E9%2581%25AE%25E5%25A4%25A9%2522%255D%257D%255D",
"少年歌行" : "https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E5%25B0%2591%25E5%25B9%25B4%25E6%25AD%258C%25E8%25A1%258C%2522%255D%257D%255D",
"完美世界" : "https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E5%25AE%258C%25E7%25BE%258E%25E4%25B8%2596%25E7%2595%258C%2522%255D%257D%255D",
"斗破苍穹" : "https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E6%2596%2597%25E7%25A0%25B4%25E8%258B%258D%25E7%25A9%25B9%2522%255D%257D%255D",
"斗罗大陆" : "https://garden.breadio.wiki/feed.xml?filter=%255B%257B%2522search%2522%253A%255B%2522%25E6%2596%2597%25E7%25BD%2597%25E5%25A4%25A7%25E9%2599%2586%2522%255D%257D%255D"
}
def getDongManUpdate(self,):
"""
获取动漫更新,返回发布时间大于今天0点的所有更新的动漫
todo
后面集成xpath解析然后我传入 动漫名 然后解析到到Rss订阅连接 然后配置上面格式的url,这样用户可以直接发送名字 配置更新动漫
:return:
"""
op(f'[*]: 正在调用更新动漫接口... ...')
try:
results = []
today = datetime.today().replace(hour=0, minute=0, second=0, microsecond=0)
time_format = "%a, %d %b %Y %H:%M:%S %Z"
for dm_name, dm_url in self.rssUrls.items():
contents = feedparser.parse(dm_url).entries
for content in contents:
if dm_name in content.title:
published_time = datetime.strptime(content.published, time_format)
if published_time > today and dm_name in content.title:
formatted_entry = f"{content.title}\n 地址:{content.link}\n 时间:{content.published}"
results.append(formatted_entry)
break
return "\n".join(results)
except Exception as e:
op(f'[-]: 调用更新的动漫接口出现错误, 错误信息: {e}')
return ""
if __name__ == '__main__':
dongManUpdateApi = DongManUpdateApi()
print(dongManUpdateApi.getDongManUpdate())
上面代码说明,自己测试可以把时间改成<,由于下面加了break 不会出现信息内容过长,这里的其实每天的更新,不会过长,可以去掉break,只是为了自己调试,和防止微信信息不过长,取最新的记录,也没问题
可以这么理解,
自己写方法,DongManUpdateApi
然后再__init__.py里面实例化这个py(我就说类/接口了)
然后在ApiMainServer.py汇封装这个方法
最后这个ApiMainServer.py汇聚了所有的方法我,自动推送服务在PushMainServer.py里面
添加功能项目结构说明
加上自己的定的时间就行,可以自己去取配置文件里面取时间,我这里只做调试
群推送截图:
总结:
很多时候有比较自己想用的项目,比如我,第一时间会寻找.net时候有平替的项目,因为我希望基于原有开源项目来定制化自己的功能。这种其实大部分都是没有的,除非自己重做,之前的AI的项目就是,因为后台不是Net的,我们重做了。
总的来说,如果只是修改的情况下,有一门语言的情况下,这些小工具或者小项目,自己快速入门下新语言的基础,其实很快的。代码接口也都是大同小异,一通百通。然后就是多一门语言,自己新项目的时候,整合解决方案的时候,不止局限一门语言。
项目地址:https://github.com/ngc660sec/NGCBot
背景:
由于最近想接着玩QQ机器人了,但是好像去年玩的协议都不行了,换成了NT,然后我自己写了登录,测试了下,刚测试完登录就显示被风控了。所以不想自己写了。同时发现了微信机器人的一个项目。是python的。
我照着项目文档部署了下了,测试了下,可以,也比较稳定,但是我想加自己的功能,由于我并不会python,所以周末花了2小时把这个B站的20分钟视频,自己过了一遍,敲了python代码。基础的入门应该差不多了,后面准备看看项目结构和AI 注释应该够我加点功能了。
视频地址:
【20分钟学完一遍python基础】 https://www.bilibili.com/video/BV1Sz4y1U77N/?share_source=copy_web&vd_source=c72fe9958ffa27f156322ffb0043526f
作者视频部署教程:https://www.bilibili.com/video/BV1voqwYAEWs/
题外话:
我发现了一个跨平台的微信机器人:https://github.com/HenryXiaoYang/XYBotV2
因为这个NGCBot是基于微信官方客户端来hook的,所以我自己目前来说比较稳,然后我也是正好借助这个项目来入门下python。所以有实际需求的朋友也可以看看这个跨平台的微信机器人项目
文章说明:
本站所提供的网址和资源均来源于互联网公开渠道,未提供资源上传、存储服务,本站为非盈利性,不收取费用。如有侵犯您的权益,请发送相关证明文件至邮箱firstsaofan1@gmail.com及时与我们联系进行屏蔽删除处理!谢谢