Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_46011646
wechaty
提交
0d84e584
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,发现更多精彩内容 >>
提交
0d84e584
编写于
9月 04, 2016
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code clean up
上级
3644651c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
53 addition
and
25 deletion
+53
-25
src/config.js
src/config.js
+32
-6
src/io-bot.js
src/io-bot.js
+12
-13
test/docker.spec.js
test/docker.spec.js
+9
-6
未找到文件。
src/config.js
浏览文件 @
0d84e584
/**
* Wechaty - Wechaty for Bot, Connect ChatBots, Chat as a Service
*
* https://github.com/wechaty/wechaty/
*/
const
Config
=
require
(
'
../package.json
'
).
wechaty
/**
* 1. ENVIRONMENT VARIABLES + PACKAGES.JSON (default)
*/
Object
.
assign
(
Config
,
{
isDocker
:
!!
process
.
env
.
WECHATY_DOCKER
,
head
:
process
.
env
.
WECHATY_HEAD
||
Config
.
DEFAULT_HEAD
head
:
process
.
env
.
WECHATY_HEAD
||
Config
.
DEFAULT_HEAD
,
puppet
:
process
.
env
.
WECHATY_PUPPET
||
Config
.
DEFAULT_PUPPET
,
endpoint
:
process
.
env
.
WECHATY_ENDPOINT
||
Config
.
ENDPOINT
// wechaty.io api endpoint
})
/**
* 2. ENVIRONMENT VARIABLES (only)
*/
Object
.
assign
(
Config
,
{
port
:
process
.
env
.
WECHATY_PORT
||
null
// 0 for disable port
,
profile
:
process
.
env
.
WECHATY_PROFILE
||
null
// DO NOT set DEFAULT_PROFILE, because sometimes user do not want to save session
,
token
:
process
.
env
.
WECHATY_TOKEN
||
null
// DO NOT set DEFAULT, because sometimes user do not want to connect to io cloud service
})
,
port
:
process
.
env
.
WECHATY_PORT
||
0
// 0 for disable port
,
profile
:
process
.
env
.
WECHATY_PROFILE
||
''
// DO NOT set DEFAULT_PROFILE, because sometimes user do not want to save session
,
token
:
process
.
env
.
WECHATY_TOKEN
||
''
// DO NOT set DEFAULT, because sometimes user do not want to connect to io cloud service
/**
* 3. Service Settings
*/
Object
.
assign
(
Config
,
{
// get PORT form cloud service env, ie: heroku
httpPort
:
process
.
env
.
PORT
||
process
.
env
.
WECHATY_PORT
||
Config
.
DEFAULT_PORT
})
/**
* 4. Envioronment Identify
*/
Object
.
assign
(
Config
,
{
isDocker
:
!!
(
process
.
env
.
WECHATY_DOCKER
)
})
module
.
exports
=
Config
.
default
=
Config
.
Config
=
Config
src/io-bot.js
浏览文件 @
0d84e584
...
...
@@ -11,7 +11,8 @@
*/
/**
* do not use `require('../')` here, because it is a loop require
* DO NOT use `require('../')` here!
* because it will casue a LOOP require ERROR
*/
const
Wechaty
=
require
(
'
./wechaty
'
)
const
Config
=
require
(
'
./config
'
)
...
...
@@ -26,7 +27,7 @@ class IoBot {
throw
e
}
this
.
log
=
log
this
.
log
.
verbose
(
'
IoBot
'
,
'
constructor() with token:
[%s]
'
,
token
)
this
.
log
.
verbose
(
'
IoBot
'
,
'
constructor() with token:
%s
'
,
token
)
if
(
!
token
)
{
const
e
=
new
Error
(
'
constructor() token must be set
'
)
...
...
@@ -45,14 +46,14 @@ class IoBot {
})
wechaty
.
on
(
'
login
'
,
user
=>
this
.
log
.
info
(
'
IoBot
'
,
`
${
user
.
name
}
logined`
))
.
on
(
'
logout
'
,
user
=>
this
.
log
.
info
(
'
IoBot
'
,
`
${
user
}
logouted`
))
.
on
(
'
scan
'
,
({
url
,
code
})
=>
this
.
log
.
info
(
'
IoBot
'
,
`[
${
code
}
]
${
url
}
`
))
.
on
(
'
message
'
,
message
=>
{
message
.
ready
()
.
then
(
this
.
onMessage
.
bind
(
this
))
.
catch
(
e
=>
this
.
log
.
error
(
'
IoBot
'
,
'
message.ready() %s
'
,
e
))
})
.
on
(
'
login
'
,
user
=>
this
.
log
.
info
(
'
IoBot
'
,
`
${
user
.
name
}
logined`
))
.
on
(
'
logout
'
,
user
=>
this
.
log
.
info
(
'
IoBot
'
,
`
${
user
}
logouted`
))
.
on
(
'
scan
'
,
({
url
,
code
})
=>
this
.
log
.
info
(
'
IoBot
'
,
`[
${
code
}
]
${
url
}
`
))
.
on
(
'
message
'
,
message
=>
{
message
.
ready
()
.
then
(
this
.
onMessage
.
bind
(
this
))
.
catch
(
e
=>
this
.
log
.
error
(
'
IoBot
'
,
'
message.ready() %s
'
,
e
))
})
return
wechaty
.
init
()
...
...
@@ -67,9 +68,7 @@ class IoBot {
})
}
initWeb
(
port
)
{
port
=
port
||
process
.
env
.
PORT
||
8080
initWeb
(
port
=
Config
.
httpPort
)
{
// if (process.env.DYNO) {
// }
const
app
=
require
(
'
express
'
)()
...
...
test/docker.spec.js
浏览文件 @
0d84e584
...
...
@@ -5,11 +5,14 @@ import sinon from 'sinon'
import
{
Config
,
log
}
from
'
../
'
!
Config
.
isDocker
&&
test
(
'
Docker test skipped
'
,
function
(
t
)
{
t
.
pass
(
'
not in docker, skip docker tests
'
)
})
//
!Config.isDocker && test('Docker test skipped', function(t) {
//
t.pass('not in docker, skip docker tests')
//
})
Config
.
isDocker
&&
test
.
skip
(
'
Docker smoking test
'
,
function
(
t
)
{
const
n
=
execSync
(
'
ps a | grep Xvfb | grep -v grep | wc -l
'
).
toString
().
replace
(
/
\n
/
,
''
,
'
g
'
)
t
.
is
(
parseInt
(
n
),
1
,
'
should has Xvfb started
'
)
Config
.
isDocker
&&
test
(
'
Docker smoking test
'
,
function
(
t
)
{
// const n = execSync('ps a | grep Xvfb | grep -v grep | wc -l').toString().replace(/\n/, '', 'g')
// t.is(parseInt(n), 1, 'should has Xvfb started')
t
.
notThrows
(
_
=>
{
fs
.
accessSync
(
Config
.
BINARY_CHROMIUM
,
fs
.
F_OK
)
},
'
should exist xvfb-chrome exectable
'
)
})
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录