Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ios and Android
Xdd 优化NodeJS微信机器人
提交
202366db
X
Xdd 优化NodeJS微信机器人
项目概览
ios and Android
/
Xdd 优化NodeJS微信机器人
与 Fork 源项目一致
Fork自
inscode / NodeJS
通知
1
Star
0
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xdd 优化NodeJS微信机器人
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
202366db
编写于
2月 15, 2024
作者:
Q
qq_21051503
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Thu Feb 15 16:53:00 CST 2024 inscode
上级
34484e4b
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
257 addition
and
257 deletion
+257
-257
index.js
index.js
+257
-257
未找到文件。
index.js
浏览文件 @
202366db
...
...
@@ -4,13 +4,13 @@
//1、微信扫码(17年注册的微信可以直接扫,17年后注册的微信自己要绑定手机号和个人认证下,我记得还要开通收付款。)
//2、本机器人只适用于微信群聊时触发,私聊无法触发
//3、扫码之后,在群里@小白+关键字(比如@小白抽签,或者小白厦门天气,所有关键字在)
process
.
on
(
'
uncaughtException
'
,
function
(
err
)
{
process
.
on
(
'
uncaughtException
'
,
function
(
err
)
{
console
.
log
(
'
Caught exception:
'
+
err
);
});
import
{
FileBox
}
from
'
file-box
'
import
{
FileBox
}
from
'
file-box
'
import
QrcodeTerminal
from
'
qrcode-terminal
'
import
axios
from
"
axios
"
import
{
WechatyBuilder
}
from
'
wechaty
'
import
{
WechatyBuilder
}
from
'
wechaty
'
const
ajax
=
async
(
url
,
param
,
type
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
var
axiosOption
=
{
...
...
@@ -22,7 +22,7 @@ const ajax = async (url, param, type) => {
'
Content-Type
'
:
'
application/json;charset=utf-8
'
}
}
axios
(
axiosOption
).
then
(
function
(
res
)
{
axios
(
axiosOption
).
then
(
function
(
res
)
{
resolve
(
res
)
}).
catch
(
error
=>
{
console
.
log
(
error
)
...
...
@@ -72,17 +72,17 @@ const page = {
console
.
log
(
'
登录成功:
'
+
user
)
})
.
on
(
'
message
'
,
async
msg
=>
{
page
.
methods
.
message
(
msg
,
false
,
1
)
page
.
methods
.
message
(
msg
,
false
,
1
)
})
.
start
()
},
async
message
(
msg
,
isTest
,
role
)
{
async
message
(
msg
,
isTest
,
role
)
{
// msg是 接收到的信息、
//isTest其实原来有测试的PuppetMock 可以参考博主 博主写的这篇https://mp.weixin.qq.com/s/nhchTzEcxramFTS_0CyU1g
//role是为了你一次性启动多个机器人预留的 参考博主这篇https://mp.weixin.qq.com/s/r75D51GUXKgPSLCub38OfA
let
text
=
msg
.
text
()
//获取聊天内容
let
room
=
msg
.
room
()
//获取房间信息
let
userNice
=
msg
.
talker
();
let
userNice
=
msg
.
talker
();
let
msgType
=
msg
.
type
()
//7 是文本 6是图片 8是视频 https://wechaty.js.org/zh/docs/api/message
if
(
text
.
length
==
0
||
!
room
)
{
return
;
...
...
@@ -96,9 +96,9 @@ const page = {
if
(
room
&&
text
.
length
>
0
)
{
var
topic
=
await
room
.
topic
()
//房间名
// if (page.data.qunArr.indexOf(topic)!=-1 ) {
switch
(
role
)
{
switch
(
role
)
{
case
1
:
if
(
text
.
indexOf
(
"
@小白
"
)
!=
-
1
)
{
//这里可以定义你的触发条件,比如 @小白你好啊 识别到小白,才触发机器人的自动回复
if
(
text
.
indexOf
(
"
@小白
"
)
!=
-
1
)
{
//这里可以定义你的触发条件,比如 @小白你好啊 识别到小白,才触发机器人的自动回复
text
=
text
.
replace
(
/
\s
*/g
,
''
).
replace
(
/@小白/g
,
''
);
//这里可以定义你的触发条件,比如 @小白你好啊 识别到小白,才触发机器人的自动回复
userEvent
.
init
(
room
,
text
)
//注意,每次有接收到群消息都会回复
}
...
...
@@ -170,7 +170,7 @@ const userEvent = {
async
hli
(
room
,
text
)
{
let
m
=
this
;
let
msg
=
await
m
.
ajax
(
`https://api.lolimi.cn/API/huang/api.php`
,
{},
"
get
"
)
await
room
.
say
(
msg
.
data
.
text
+
m
.
sayEnd
)
await
room
.
say
(
msg
.
data
.
text
+
m
.
sayEnd
)
},
//微信机器人人
async
weixinChatbot
(
room
,
text
)
{
...
...
@@ -193,7 +193,7 @@ const userEvent = {
if
(
text
.
indexOf
(
"
解第
"
)
!=
-
1
)
{
answer
=
JSON
.
parse
(
answer
).
multimsg
[
0
]
}
await
room
.
say
(
answer
+
m
.
sayEnd
)
await
room
.
say
(
answer
+
m
.
sayEnd
)
},
//取名
async
naming
(
room
,
text
)
{
...
...
@@ -215,7 +215,7 @@ const userEvent = {
str
+=
v
.
naming
+
"
,
"
})
str
=
str
.
substr
(
0
,
str
.
length
-
1
)
await
room
.
say
(
str
+
m
.
sayEnd
)
await
room
.
say
(
str
+
m
.
sayEnd
)
},
//转语言
async
toVoice
(
room
,
text
)
{
...
...
@@ -248,7 +248,7 @@ const userEvent = {
var
radomArr
=
res
.
data
.
result
var
randomIndex
=
Math
.
floor
(
Math
.
random
()
*
radomArr
.
length
)
var
obj
=
radomArr
[
randomIndex
];
await
room
.
say
(
obj
.
date
+
"
:
"
+
obj
.
title
+
m
.
sayEnd
)
await
room
.
say
(
obj
.
date
+
"
:
"
+
obj
.
title
+
m
.
sayEnd
)
},
//去水印 1
...
...
@@ -258,7 +258,7 @@ const userEvent = {
// await room.say(url)
let
res
=
await
this
.
ajax
(
"
http://api.xn--7gqa009h.top/api/dy_jx?a=
"
+
text
,
{},
"
get
"
)
console
.
log
(
res
.
data
.
url
)
await
room
.
say
(
text
+
"
解析后下载地址:
"
+
res
.
data
.
url
+
m
.
sayEnd
)
await
room
.
say
(
text
+
"
解析后下载地址:
"
+
res
.
data
.
url
+
m
.
sayEnd
)
}
},
...
...
@@ -285,5 +285,5 @@ const userEvent = {
await
room
.
say
(
fileBox
)
await
room
.
say
(
m
.
sayEnd
)
},
sayEnd
:
"
\n
----------------
\n
来至公众号:'程序员野区'的作者雪狼之夜的开源项目,
\n
公众号地址
\n
https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzI1NjAxODkzMg==
\n
开源项目地址:https://inscode.csdn.net/@xuelang532777032/NodeJS
"
sayEnd
:
"
\n
----------------
\n
来至公众号:'程序员野区'的作者雪狼之夜的开源项目,
\n
公众号地址
\n
https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzI1NjAxODkzMg==
\n
开源项目地址:https://inscode.csdn.net/@xuelang532777032/NodeJS
"
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录