Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.Veneno.
wechaty
提交
a647cba0
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,发现更多精彩内容 >>
提交
a647cba0
编写于
4月 24, 2018
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
abstract classes
上级
e6ee5fd8
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
31 addition
and
127 deletion
+31
-127
src/config.ts
src/config.ts
+1
-1
src/friend-request.ts
src/friend-request.ts
+1
-10
src/message.ts
src/message.ts
+4
-86
src/puppet-web/web-message.ts
src/puppet-web/web-message.ts
+4
-4
src/puppet.ts
src/puppet.ts
+21
-26
未找到文件。
src/config.ts
浏览文件 @
a647cba0
...
...
@@ -197,7 +197,7 @@ export class Config {
}
export
interface
Sayable
{
say
(
content
:
string
,
replyTo
?:
any
|
any
[]):
Promise
<
boolean
>
say
(
content
:
string
,
replyTo
?:
any
|
any
[]):
Promise
<
void
>
}
export
type
WechatEvent
=
'
friend
'
...
...
src/friend-request.ts
浏览文件 @
a647cba0
...
...
@@ -20,7 +20,7 @@
import
{
// config,
log
,
//
log,
}
from
'
./config
'
import
Contact
from
'
./contact
'
import
PuppetAccessory
from
'
./puppet-accessory
'
...
...
@@ -40,15 +40,6 @@ export abstract class FriendRequest extends PuppetAccessory {
public
hello
:
string
public
type
:
'
send
'
|
'
receive
'
|
'
confirm
'
constructor
()
{
super
()
log
.
verbose
(
'
FriendRequest
'
,
'
constructor()
'
)
// if (!config.puppetInstance()) {
// throw new Error('no Config.puppetInstance() instanciated')
// }
}
public
abstract
send
(
contact
:
Contact
,
hello
:
string
):
Promise
<
boolean
>
public
abstract
accept
():
Promise
<
boolean
>
...
...
src/message.ts
浏览文件 @
a647cba0
...
...
@@ -29,92 +29,10 @@ import Contact from './contact'
import
Room
from
'
./room
'
import
PuppetAccessory
from
'
./puppet-accessory
'
/**
*
* Enum for AppMsgType values.
*
* @enum {number}
* @property {number} TEXT - AppMsgType.TEXT (1) for TEXT
* @property {number} IMG - AppMsgType.IMG (2) for IMG
* @property {number} AUDIO - AppMsgType.AUDIO (3) for AUDIO
* @property {number} VIDEO - AppMsgType.VIDEO (4) for VIDEO
* @property {number} URL - AppMsgType.URL (5) for URL
* @property {number} ATTACH - AppMsgType.ATTACH (6) for ATTACH
* @property {number} OPEN - AppMsgType.OPEN (7) for OPEN
* @property {number} EMOJI - AppMsgType.EMOJI (8) for EMOJI
* @property {number} VOICE_REMIND - AppMsgType.VOICE_REMIND (9) for VOICE_REMIND
* @property {number} SCAN_GOOD - AppMsgType.SCAN_GOOD (10) for SCAN_GOOD
* @property {number} GOOD - AppMsgType.GOOD (13) for GOOD
* @property {number} EMOTION - AppMsgType.EMOTION (15) for EMOTION
* @property {number} CARD_TICKET - AppMsgType.CARD_TICKET (16) for CARD_TICKET
* @property {number} REALTIME_SHARE_LOCATION - AppMsgType.REALTIME_SHARE_LOCATION (17) for REALTIME_SHARE_LOCATION
* @property {number} TRANSFERS - AppMsgType.TRANSFERS (2e3) for TRANSFERS
* @property {number} RED_ENVELOPES - AppMsgType.RED_ENVELOPES (2001) for RED_ENVELOPES
* @property {number} READER_TYPE - AppMsgType.READER_TYPE (100001) for READER_TYPE
*/
export
enum
AppMsgType
{
TEXT
=
1
,
IMG
=
2
,
AUDIO
=
3
,
VIDEO
=
4
,
URL
=
5
,
ATTACH
=
6
,
OPEN
=
7
,
EMOJI
=
8
,
VOICE_REMIND
=
9
,
SCAN_GOOD
=
10
,
GOOD
=
13
,
EMOTION
=
15
,
CARD_TICKET
=
16
,
REALTIME_SHARE_LOCATION
=
17
,
TRANSFERS
=
2
e3
,
RED_ENVELOPES
=
2001
,
READER_TYPE
=
100001
,
}
/**
*
* Enum for MsgType values.
* @enum {number}
* @property {number} TEXT - MsgType.TEXT (1) for TEXT
* @property {number} IMAGE - MsgType.IMAGE (3) for IMAGE
* @property {number} VOICE - MsgType.VOICE (34) for VOICE
* @property {number} VERIFYMSG - MsgType.VERIFYMSG (37) for VERIFYMSG
* @property {number} POSSIBLEFRIEND_MSG - MsgType.POSSIBLEFRIEND_MSG (40) for POSSIBLEFRIEND_MSG
* @property {number} SHARECARD - MsgType.SHARECARD (42) for SHARECARD
* @property {number} VIDEO - MsgType.VIDEO (43) for VIDEO
* @property {number} EMOTICON - MsgType.EMOTICON (47) for EMOTICON
* @property {number} LOCATION - MsgType.LOCATION (48) for LOCATION
* @property {number} APP - MsgType.APP (49) for APP
* @property {number} VOIPMSG - MsgType.VOIPMSG (50) for VOIPMSG
* @property {number} STATUSNOTIFY - MsgType.STATUSNOTIFY (51) for STATUSNOTIFY
* @property {number} VOIPNOTIFY - MsgType.VOIPNOTIFY (52) for VOIPNOTIFY
* @property {number} VOIPINVITE - MsgType.VOIPINVITE (53) for VOIPINVITE
* @property {number} MICROVIDEO - MsgType.MICROVIDEO (62) for MICROVIDEO
* @property {number} SYSNOTICE - MsgType.SYSNOTICE (9999) for SYSNOTICE
* @property {number} SYS - MsgType.SYS (10000) for SYS
* @property {number} RECALLED - MsgType.RECALLED (10002) for RECALLED
*/
export
enum
MsgType
{
TEXT
=
1
,
IMAGE
=
3
,
VOICE
=
34
,
VERIFYMSG
=
37
,
POSSIBLEFRIEND_MSG
=
40
,
SHARECARD
=
42
,
VIDEO
=
43
,
EMOTICON
=
47
,
LOCATION
=
48
,
APP
=
49
,
VOIPMSG
=
50
,
STATUSNOTIFY
=
51
,
VOIPNOTIFY
=
52
,
VOIPINVITE
=
53
,
MICROVIDEO
=
62
,
SYSNOTICE
=
9999
,
SYS
=
10000
,
RECALLED
=
10002
,
}
import
{
MsgType
,
AppMsgType
,
}
from
'
./puppet-web/schema
'
// export type TypeName = 'attachment'
// | 'audio'
...
...
src/puppet-web/web-message.ts
浏览文件 @
a647cba0
...
...
@@ -46,10 +46,10 @@ import {
MsgType
,
}
from
'
./puppet-web/schema
'
export
type
TypeName
=
'
attachment
'
|
'
audio
'
|
'
image
'
|
'
video
'
//
export type TypeName = 'attachment'
//
| 'audio'
//
| 'image'
//
| 'video'
/**
* All wechat messages will be encapsulated as a Message.
...
...
src/puppet.ts
浏览文件 @
a647cba0
...
...
@@ -28,14 +28,20 @@ import {
WechatyEvent
,
log
,
}
from
'
./config
'
import
Contact
from
'
./contact
'
import
{
Contact
,
ContactQueryFilter
,
}
from
'
./contact
'
import
FriendRequest
from
'
./friend-request
'
import
{
Message
,
MediaMessage
,
}
from
'
./message
'
import
Profile
from
'
./profile
'
import
Room
from
'
./room
'
import
{
Room
,
RoomQueryFilter
,
}
from
'
./room
'
export
interface
ScanData
{
avatar
:
string
,
// Image Data URL
...
...
@@ -53,7 +59,6 @@ export interface PuppetOptions {
* Abstract Puppet Class
*/
export
abstract
class
Puppet
extends
EventEmitter
implements
Sayable
{
public
userId
?:
string
public
user
?:
Contact
public
state
:
StateSwitch
...
...
@@ -114,15 +119,15 @@ export abstract class Puppet extends EventEmitter implements Sayable {
/**
* Message
*/
public
abstract
forward
(
message
:
MediaMessage
,
contact
:
Contact
|
Room
)
:
Promise
<
boolean
>
public
abstract
say
(
content
:
string
)
:
Promise
<
boolean
>
public
abstract
send
(
message
:
Message
|
MediaMessage
)
:
Promise
<
boolean
>
public
abstract
forward
(
message
:
MediaMessage
,
contact
:
Contact
|
Room
)
:
Promise
<
void
>
public
abstract
say
(
content
:
string
)
:
Promise
<
void
>
public
abstract
send
(
message
:
Message
|
MediaMessage
)
:
Promise
<
void
>
/**
* Login / Logout
*/
public
abstract
logonoff
()
:
boolean
public
abstract
logout
()
:
Promise
<
void
>
public
abstract
logonoff
()
:
boolean
public
abstract
logout
()
:
Promise
<
void
>
/**
* Misc
...
...
@@ -132,35 +137,25 @@ export abstract class Puppet extends EventEmitter implements Sayable {
/**
* FriendRequest
*/
public
abstract
friendRequestSend
(
contact
:
Contact
,
hello
?:
string
)
:
Promise
<
any
>
public
abstract
friendRequestAccept
(
contact
:
Contact
,
ticket
:
string
)
:
Promise
<
any
>
public
abstract
friendRequestSend
(
contact
:
Contact
,
hello
?:
string
)
:
Promise
<
void
>
public
abstract
friendRequestAccept
(
contact
:
Contact
,
ticket
:
string
)
:
Promise
<
void
>
/**
* Room
*/
public
abstract
roomAdd
(
room
:
Room
,
contact
:
Contact
)
:
Promise
<
number
>
public
abstract
roomDel
(
room
:
Room
,
contact
:
Contact
)
:
Promise
<
number
>
public
abstract
roomTopic
(
room
:
Room
,
topic
:
string
)
:
Promise
<
string
>
public
abstract
roomAdd
(
room
:
Room
,
contact
:
Contact
)
:
Promise
<
void
>
public
abstract
roomCreate
(
contactList
:
Contact
[],
topic
?:
string
)
:
Promise
<
Room
>
public
abstract
roomFind
(
filterFunc
:
string
)
:
Promise
<
Room
[]
>
public
abstract
roomDel
(
room
:
Room
,
contact
:
Contact
)
:
Promise
<
void
>
public
abstract
roomFindAll
(
filterFunc
:
RoomQueryFilter
)
:
Promise
<
Room
[]
>
public
abstract
roomTopic
(
room
:
Room
,
topic
:
string
)
:
Promise
<
string
|
void
>
/**
* Contact
*/
public
abstract
contact
Find
(
filterFunc
:
string
)
:
Promise
<
Contact
[]
>
public
abstract
contact
Alias
(
contact
:
Contact
,
alias
:
string
|
null
)
:
Promise
<
boolean
>
public
abstract
contact
Alias
(
contact
:
Contact
,
alias
:
string
|
null
)
:
Promise
<
void
>
public
abstract
contact
FindAll
(
filter
:
ContactQueryFilter
)
:
Promise
<
Contact
[]
>
}
/**
* <error>
* <ret>1203</ret>
* <message>当前登录环境异常。为了你的帐号安全,暂时不能登录web微信。你可以通过手机客户端或者windows微信登录。</message>
* </error>
*/
// export enum WechatErrorCode {
// WebBlock = 1203,
// }
// export class WechatError extends Error {
// public code: WechatErrorCode
// }
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录