Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.www.
wechaty
提交
d5197293
W
wechaty
项目概览
.www.
/
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,发现更多精彩内容 >>
提交
d5197293
编写于
9月 05, 2017
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code clean: use never to guard enum all the possible values
上级
174b6775
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
40 addition
and
59 deletion
+40
-59
src/wechaty.ts
src/wechaty.ts
+40
-59
未找到文件。
src/wechaty.ts
浏览文件 @
d5197293
...
@@ -58,7 +58,6 @@ export type WechatyEventName = 'error'
...
@@ -58,7 +58,6 @@ export type WechatyEventName = 'error'
|
'
room-leave
'
|
'
room-leave
'
|
'
room-topic
'
|
'
room-topic
'
|
'
scan
'
|
'
scan
'
|
'
EVENT_PARAM_ERROR
'
/**
/**
* Main bot class.
* Main bot class.
...
@@ -230,27 +229,19 @@ export class Wechaty extends EventEmitter implements Sayable {
...
@@ -230,27 +229,19 @@ export class Wechaty extends EventEmitter implements Sayable {
return
return
}
}
public
on
(
event
:
'
error
'
,
listener
:
(
this
:
Wechaty
,
error
:
Error
)
=>
void
):
this
public
on
(
event
:
'
error
'
,
listener
:
(
this
:
Wechaty
,
error
:
Error
)
=>
void
):
this
public
on
(
event
:
'
friend
'
,
listener
:
(
this
:
Wechaty
,
friend
:
Contact
,
request
?:
FriendRequest
)
=>
void
):
this
public
on
(
event
:
'
friend
'
,
listener
:
(
this
:
Wechaty
,
friend
:
Contact
,
request
?:
FriendRequest
)
=>
void
):
this
public
on
(
event
:
'
heartbeat
'
,
listener
:
(
this
:
Wechaty
,
data
:
any
)
=>
void
):
this
public
on
(
event
:
'
logout
'
,
listener
:
(
this
:
Wechaty
,
user
:
Contact
)
=>
void
):
this
public
on
(
event
:
'
heartbeat
'
,
listener
:
(
this
:
Wechaty
,
data
:
any
)
=>
void
):
this
public
on
(
event
:
'
login
'
,
listener
:
(
this
:
Wechaty
,
user
:
Contact
)
=>
void
):
this
public
on
(
event
:
'
message
'
,
listener
:
(
this
:
Wechaty
,
message
:
Message
)
=>
void
):
this
public
on
(
event
:
'
logout
'
,
listener
:
(
this
:
Wechaty
,
user
:
Contact
)
=>
void
):
this
public
on
(
event
:
'
room-join
'
,
listener
:
(
this
:
Wechaty
,
room
:
Room
,
inviteeList
:
Contact
[],
inviter
:
Contact
)
=>
void
):
this
public
on
(
event
:
'
room-leave
'
,
listener
:
(
this
:
Wechaty
,
room
:
Room
,
leaverList
:
Contact
[])
=>
void
):
this
public
on
(
event
:
'
login
'
,
listener
:
(
this
:
Wechaty
,
user
:
Contact
)
=>
void
):
this
public
on
(
event
:
'
message
'
,
listener
:
(
this
:
Wechaty
,
message
:
Message
)
=>
void
):
this
public
on
(
event
:
'
room-join
'
,
listener
:
(
this
:
Wechaty
,
room
:
Room
,
inviteeList
:
Contact
[],
inviter
:
Contact
)
=>
void
):
this
public
on
(
event
:
'
room-leave
'
,
listener
:
(
this
:
Wechaty
,
room
:
Room
,
leaverList
:
Contact
[])
=>
void
):
this
public
on
(
event
:
'
room-topic
'
,
listener
:
(
this
:
Wechaty
,
room
:
Room
,
topic
:
string
,
oldTopic
:
string
,
changer
:
Contact
)
=>
void
):
this
public
on
(
event
:
'
room-topic
'
,
listener
:
(
this
:
Wechaty
,
room
:
Room
,
topic
:
string
,
oldTopic
:
string
,
changer
:
Contact
)
=>
void
):
this
public
on
(
event
:
'
scan
'
,
listener
:
(
this
:
Wechaty
,
url
:
string
,
code
:
number
)
=>
void
):
this
public
on
(
event
:
'
scan
'
,
listener
:
(
this
:
Wechaty
,
url
:
string
,
code
:
number
)
=>
void
):
this
// guard for the above event: make sure it includes all the possible values
public
on
(
event
:
never
,
listener
:
any
):
this
public
on
(
event
:
'
EVENT_PARAM_ERROR
'
,
listener
:
()
=>
void
):
this
/**
/**
* @desc Wechaty Class Event Type
* @desc Wechaty Class Event Type
...
@@ -354,21 +345,7 @@ export class Wechaty extends EventEmitter implements Sayable {
...
@@ -354,21 +345,7 @@ export class Wechaty extends EventEmitter implements Sayable {
*/
*/
public
on
(
event
:
WechatyEventName
,
listener
:
(...
args
:
any
[])
=>
any
):
this
{
public
on
(
event
:
WechatyEventName
,
listener
:
(...
args
:
any
[])
=>
any
):
this
{
log
.
verbose
(
'
Wechaty
'
,
'
addListener(%s, %s)
'
,
event
,
typeof
listener
)
log
.
verbose
(
'
Wechaty
'
,
'
addListener(%s, %s)
'
,
event
,
typeof
listener
)
// const thisWithSay: Sayable = {
// say: (content: string) => {
// return Config.puppetInstance()
// .say(content)
// }
// }
super
.
on
(
event
,
listener
)
// `this: Wechaty` is Sayable
super
.
on
(
event
,
listener
)
// `this: Wechaty` is Sayable
// (...args) => {
//
// return listener.apply(this, args)
// })
return
this
return
this
}
}
...
@@ -453,12 +430,13 @@ export class Wechaty extends EventEmitter implements Sayable {
...
@@ -453,12 +430,13 @@ export class Wechaty extends EventEmitter implements Sayable {
this
.
puppet
=
null
this
.
puppet
=
null
config
.
puppetInstance
(
null
)
config
.
puppetInstance
(
null
)
await
puppetBeforeDie
.
quit
()
try
{
.
catch
(
e
=>
{
await
puppetBeforeDie
.
quit
()
log
.
error
(
'
Wechaty
'
,
'
quit() exception: %s
'
,
e
.
message
)
}
catch
(
e
)
{
Raven
.
captureException
(
e
)
log
.
error
(
'
Wechaty
'
,
'
quit() exception: %s
'
,
e
.
message
)
throw
e
Raven
.
captureException
(
e
)
})
throw
e
}
this
.
state
.
current
(
'
standby
'
)
this
.
state
.
current
(
'
standby
'
)
return
return
}
}
...
@@ -474,12 +452,13 @@ export class Wechaty extends EventEmitter implements Sayable {
...
@@ -474,12 +452,13 @@ export class Wechaty extends EventEmitter implements Sayable {
if
(
!
this
.
puppet
)
{
if
(
!
this
.
puppet
)
{
throw
new
Error
(
'
no puppet
'
)
throw
new
Error
(
'
no puppet
'
)
}
}
await
this
.
puppet
.
logout
()
try
{
.
catch
(
e
=>
{
await
this
.
puppet
.
logout
()
log
.
error
(
'
Wechaty
'
,
'
logout() exception: %s
'
,
e
.
message
)
}
catch
(
e
)
{
Raven
.
captureException
(
e
)
log
.
error
(
'
Wechaty
'
,
'
logout() exception: %s
'
,
e
.
message
)
throw
e
Raven
.
captureException
(
e
)
})
throw
e
}
return
return
}
}
...
@@ -505,12 +484,13 @@ export class Wechaty extends EventEmitter implements Sayable {
...
@@ -505,12 +484,13 @@ export class Wechaty extends EventEmitter implements Sayable {
if
(
!
this
.
puppet
)
{
if
(
!
this
.
puppet
)
{
throw
new
Error
(
'
no puppet
'
)
throw
new
Error
(
'
no puppet
'
)
}
}
return
await
this
.
puppet
.
send
(
message
)
try
{
.
catch
(
e
=>
{
return
await
this
.
puppet
.
send
(
message
)
log
.
error
(
'
Wechaty
'
,
'
send() exception: %s
'
,
e
.
message
)
}
catch
(
e
)
{
Raven
.
captureException
(
e
)
log
.
error
(
'
Wechaty
'
,
'
send() exception: %s
'
,
e
.
message
)
throw
e
Raven
.
captureException
(
e
)
})
throw
e
}
}
}
/**
/**
...
@@ -540,17 +520,18 @@ export class Wechaty extends EventEmitter implements Sayable {
...
@@ -540,17 +520,18 @@ export class Wechaty extends EventEmitter implements Sayable {
/**
/**
* @private
* @private
*/
*/
public
ding
()
{
public
async
ding
():
Promise
<
string
>
{
if
(
!
this
.
puppet
)
{
if
(
!
this
.
puppet
)
{
return
Promise
.
reject
(
new
Error
(
'
wechaty cant ding coz no puppet
'
))
return
Promise
.
reject
(
new
Error
(
'
wechaty cant ding coz no puppet
'
))
}
}
return
this
.
puppet
.
ding
()
// should return 'dong'
try
{
.
catch
(
e
=>
{
return
await
this
.
puppet
.
ding
()
// should return 'dong'
log
.
error
(
'
Wechaty
'
,
'
ding() exception: %s
'
,
e
.
message
)
}
catch
(
e
)
{
Raven
.
captureException
(
e
)
log
.
error
(
'
Wechaty
'
,
'
ding() exception: %s
'
,
e
.
message
)
throw
e
Raven
.
captureException
(
e
)
})
throw
e
}
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录