Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_46011646
wechaty
提交
c493cfca
W
wechaty
项目概览
weixin_46011646
/
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,发现更多精彩内容 >>
提交
c493cfca
编写于
9月 05, 2017
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code clean
上级
6dd4446e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
13 addition
and
6 deletion
+13
-6
example/media-file-bot.ts
example/media-file-bot.ts
+10
-4
src/message.ts
src/message.ts
+2
-1
src/util-lib.ts
src/util-lib.ts
+1
-1
未找到文件。
example/media-file-bot.ts
浏览文件 @
c493cfca
...
...
@@ -20,6 +20,7 @@
// import { inspect } from 'util'
import
{
createWriteStream
,
statSync
,
// writeFileSync,
}
from
'
fs
'
...
...
@@ -33,7 +34,7 @@ import * as qrcodeTerminal from 'qrcode-terminal'
*/
import
{
config
,
Message
,
Me
diaMe
ssage
,
MsgType
,
Wechaty
,
}
from
'
../
'
...
...
@@ -62,13 +63,15 @@ bot
||
m
.
type
()
===
MsgType
.
APP
||
(
m
.
type
()
===
MsgType
.
TEXT
&&
m
.
typeSub
()
===
MsgType
.
LOCATION
)
// LOCATION
)
{
saveMediaFile
(
m
)
if
(
m
instanceof
MediaMessage
)
{
saveMediaFile
(
m
)
}
}
})
.
init
()
.
catch
(
e
=>
console
.
error
(
'
bot.init() error:
'
+
e
))
async
function
saveMediaFile
(
message
:
Message
)
{
async
function
saveMediaFile
(
message
:
Me
diaMe
ssage
)
{
const
filename
=
message
.
filename
()
console
.
log
(
'
IMAGE local filename:
'
+
filename
)
...
...
@@ -79,7 +82,10 @@ async function saveMediaFile(message: Message) {
const
netStream
=
await
message
.
readyStream
()
netStream
.
pipe
(
fileStream
)
.
on
(
'
close
'
,
_
=>
console
.
log
(
'
finish readyStream()
'
))
.
on
(
'
close
'
,
_
=>
{
const
stat
=
statSync
(
filename
)
console
.
log
(
'
finish readyStream() for
'
,
filename
,
'
size:
'
,
stat
.
size
)
})
}
catch
(
e
)
{
console
.
error
(
'
stream error:
'
,
e
)
}
...
...
src/message.ts
浏览文件 @
c493cfca
...
...
@@ -1093,7 +1093,7 @@ export class MediaMessage extends Message {
// }
/**
*
@privat
e
*
Get the read stream for attachment fil
e
*/
public
async
readyStream
():
Promise
<
Readable
>
{
if
(
this
.
filePath
)
...
...
@@ -1106,6 +1106,7 @@ export class MediaMessage extends Message {
if
(
!
this
.
obj
.
url
)
{
throw
new
Error
(
'
no url
'
)
}
log
.
verbose
(
'
MediaMessage
'
,
'
stream() url: %s
'
,
this
.
obj
.
url
)
return
UtilLib
.
urlStream
(
this
.
obj
.
url
,
cookies
)
}
catch
(
e
)
{
log
.
warn
(
'
MediaMessage
'
,
'
stream() exception: %s
'
,
e
.
stack
)
...
...
src/util-lib.ts
浏览文件 @
c493cfca
...
...
@@ -113,7 +113,7 @@ export class UtilLib {
href
=
href
.
replace
(
/^https/i
,
'
http
'
)
// use http instead of https, because https will only success on the very first request!
const
u
=
url
.
parse
(
href
)
const
protocol
:
'
https:
'
|
'
http:
'
=
u
.
protocol
as
any
const
protocol
=
u
.
protocol
as
'
https:
'
|
'
http:
'
let
options
// let request
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录