Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.Veneno.
wechaty
提交
17238e87
W
wechaty
项目概览
.Veneno.
/
wechaty
与 Fork 源项目一致
Fork自
wechaty / wechaty
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wechaty
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
17238e87
编写于
6月 08, 2018
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code clean
上级
52850153
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
30 addition
and
11 deletion
+30
-11
examples/self-testing-bot.ts
examples/self-testing-bot.ts
+2
-2
src/puppet-padchat/bridge.ts
src/puppet-padchat/bridge.ts
+18
-2
src/puppet-padchat/padchat-rpc.ts
src/puppet-padchat/padchat-rpc.ts
+8
-5
src/puppet-padchat/puppet-padchat.ts
src/puppet-padchat/puppet-padchat.ts
+1
-1
src/room.ts
src/room.ts
+1
-1
未找到文件。
examples/self-testing-bot.ts
浏览文件 @
17238e87
...
...
@@ -17,10 +17,10 @@
*
*/
// import * as fs from 'fs'
import
*
as
path
from
'
path
'
import
path
from
'
path
'
/* tslint:disable:variable-name */
import
*
as
QrcodeTerminal
from
'
qrcode-terminal
'
import
QrcodeTerminal
from
'
qrcode-terminal
'
// import finis from 'finis'
import
{
FileBox
}
from
'
file-box
'
...
...
src/puppet-padchat/bridge.ts
浏览文件 @
17238e87
...
...
@@ -593,8 +593,24 @@ export class Bridge extends EventEmitter {
}
public
async
WXGetChatRoomMember
(
id
:
string
):
Promise
<
PadchatRoomMemberPayload
>
{
const
result
=
this
.
padchatRpc
.
WXGetChatRoomMember
(
id
)
return
result
log
.
verbose
(
'
PuppetPadchatBridge
'
,
'
WXGetChatRoomMember(%s)
'
,
id
)
let
lastResult
:
undefined
|
PadchatRoomMemberPayload
const
result
=
await
Misc
.
retry
(
async
(
retry
,
attempt
)
=>
{
log
.
silly
(
'
PuppetPadchatBridge
'
,
'
WXGetChatRoomMember(%s) retry() attempt=%d
'
,
id
,
attempt
)
try
{
lastResult
=
await
this
.
padchatRpc
.
WXGetChatRoomMember
(
id
)
if
(
lastResult
.
member
.
length
<=
0
)
{
throw
new
Error
(
'
no room member for room
'
+
id
)
}
return
lastResult
}
catch
(
e
)
{
return
retry
(
e
)
}
})
return
result
||
lastResult
}
public
async
WXDeleteChatRoomMember
(
roomId
:
string
,
contactId
:
string
):
Promise
<
StandardType
>
{
...
...
src/puppet-padchat/padchat-rpc.ts
浏览文件 @
17238e87
...
...
@@ -188,7 +188,7 @@ export class PadchatRpc extends EventEmitter {
apiName
:
string
,
...
params
:
string
[]
):
Promise
<
any
>
{
log
.
silly
(
'
PadchatRpc
'
,
'
rpcCall(%s, %s)
'
,
apiName
,
params
.
join
(
'
,
'
))
log
.
silly
(
'
PadchatRpc
'
,
'
rpcCall(%s, %s)
'
,
apiName
,
JSON
.
stringify
(
params
))
return
await
this
.
jsonRpc
.
request
(
apiName
,
params
)
}
...
...
@@ -548,18 +548,21 @@ export class PadchatRpc extends EventEmitter {
log
.
silly
(
'
PadchatRpc
'
,
'
WXGetChatRoomMember() result: %s
'
,
JSON
.
stringify
(
result
))
// 00:40:44 SILL PadchatRpc WXGetChatRoomMember() result: {"chatroom_id":0,"count":0,"member":"null\n","message":"","status":0,"user_name":""}
if
(
!
result
.
user_name
||
!
result
.
member
)
{
log
.
warn
(
'
PadchatRpc
'
,
'
WXGetChatRoomMember cannot get user_name or member! user_name: %s, member: %s
'
,
id
,
result
.
member
)
throw
new
Error
(
'
WXGetChatRoomMember cannot get user_name or member!
'
)
}
// tslint:disable-next-line:max-line-length
// change '[{"big_head":"http://wx.qlogo.cn/mmhead/ver_1/DpS0ZssJ5s8tEpSr9JuPTRxEUrCK0USrZcR3PjOMfUKDwpnZLxWXlD4Q38bJpcXBtwXWwevsul1lJqwsQzwItQ/0","chatroom_nick_name":"","invited_by":"wxid_7708837087612","nick_name":"李佳芮","small_head":"http://wx.qlogo.cn/mmhead/ver_1/DpS0ZssJ5s8tEpSr9JuPTRxEUrCK0USrZcR3PjOMfUKDwpnZLxWXlD4Q38bJpcXBtwXWwevsul1lJqwsQzwItQ/132","user_name":"qq512436430"},{"big_head":"http://wx.qlogo.cn/mmhead/ver_1/kcBj3gSibfFd2I9vQ8PBFyQ77cpPIfqkFlpTdkFZzBicMT6P567yj9IO6xG68WsibhqdPuG82tjXsveFATSDiaXRjw/0","chatroom_nick_name":"","invited_by":"wxid_7708837087612","nick_name":"梦君君","small_head":"http://wx.qlogo.cn/mmhead/ver_1/kcBj3gSibfFd2I9vQ8PBFyQ77cpPIfqkFlpTdkFZzBicMT6P567yj9IO6xG68WsibhqdPuG82tjXsveFATSDiaXRjw/132","user_name":"mengjunjun001"},{"big_head":"http://wx.qlogo.cn/mmhead/ver_1/3CsKibSktDV05eReoAicV0P8yfmuHSowfXAMvRuU7HEy8wMcQ2eibcaO1ccS95PskZchEWqZibeiap6Gpb9zqJB1WmNc6EdD6nzQiblSx7dC1eGtA/0","chatroom_nick_name":"","invited_by":"wxid_7708837087612","nick_name":"苏轼","small_head":"http://wx.qlogo.cn/mmhead/ver_1/3CsKibSktDV05eReoAicV0P8yfmuHSowfXAMvRuU7HEy8wMcQ2eibcaO1ccS95PskZchEWqZibeiap6Gpb9zqJB1WmNc6EdD6nzQiblSx7dC1eGtA/132","user_name":"wxid_zj2cahpwzgie12"},{"big_head":"http://wx.qlogo.cn/mmhead/ver_1/piaHuicak41b6ibmcEVxoWKnnhgGDG5EbaD0hibwkrRvKeDs3gs7XQrkym3Q5MlUeSKY8vw2FRVVstialggUxf2zic2O8CvaEsicSJcghf41nibA940/0","chatroom_nick_name":"","invited_by":"wxid_zj2cahpwzgie12","nick_name":"王宁","small_head":"http://wx.qlogo.cn/mmhead/ver_1/piaHuicak41b6ibmcEVxoWKnnhgGDG5EbaD0hibwkrRvKeDs3gs7XQrkym3Q5MlUeSKY8vw2FRVVstialggUxf2zic2O8CvaEsicSJcghf41nibA940/132","user_name":"wxid_7708837087612"}]'
// to Array (PadchatRoomRawMember[])
if
(
!
Array
.
isArray
(
JSON
.
parse
(
decodeURIComponent
(
result
.
member
))))
{
log
.
error
(
'
PadchatRpc
'
,
'
WXGetChatRoomMember member: %s
'
,
result
.
member
)
if
(
Array
.
isArray
(
JSON
.
parse
(
decodeURIComponent
(
result
.
member
))))
{
result
.
member
=
JSON
.
parse
(
decodeURIComponent
(
result
.
member
))
as
PadchatRoomMember
[]
}
else
{
log
.
warn
(
'
PadchatRpc
'
,
'
WXGetChatRoomMember(%s) member: %s
'
,
id
,
JSON
.
stringify
(
result
.
member
))
throw
Error
(
'
faild to parse chatroom member!
'
)
// result.member = []
}
result
.
member
=
JSON
.
parse
(
decodeURIComponent
(
result
.
member
))
as
PadchatRoomMember
[]
return
result
}
...
...
src/puppet-padchat/puppet-padchat.ts
浏览文件 @
17238e87
...
...
@@ -216,7 +216,7 @@ export class PuppetPadchat extends Puppet {
this
.
logout
()
})
this
.
bridge
.
on
(
'
message
'
,
(
messagePayload
:
PadchatMessagePayload
)
=>
{
log
.
silly
(
'
PuppetPadchat
'
,
'
startBridge()
'
,
'
bridge.on(message)
'
)
log
.
silly
(
'
PuppetPadchat
'
,
'
startBridge()
bridge.on(message)
'
)
this
.
cachePadchatMessagePayload
.
set
(
messagePayload
.
msg_id
,
messagePayload
,
...
...
src/room.ts
浏览文件 @
17238e87
...
...
@@ -114,7 +114,7 @@ export class Room extends Accessory implements Sayable {
this
:
T
,
query
:
RoomQueryFilter
=
{
topic
:
/.*/
},
):
Promise
<
T
[
'
prototype
'
][]
>
{
log
.
verbose
(
'
Room
'
,
'
findAll(
{ topic: %s })
'
,
query
.
topic
)
log
.
verbose
(
'
Room
'
,
'
findAll(
)
'
,
JSON
.
stringify
(
query
)
)
if
(
!
query
.
topic
)
{
throw
new
Error
(
'
topicFilter not found
'
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录