io-client.ts 1.3 KB
Newer Older
1
#!/usr/bin/env node
2 3 4 5 6 7 8
/**
 * Wechaty - Wechat for Bot. Connecting ChatBots
 *
 * Licenst: ISC
 * https://github.com/wechaty/wechaty
 *
 */
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
9

10
import {
L
lijiarui 已提交
11 12
  Config,
  log,
13
}               from '../src/config'
14

15
import IoClient from '../src/io-client'
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
16

Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
const welcome = `
| __        __        _           _
| \\ \\      / /__  ___| |__   __ _| |_ _   _
|  \\ \\ /\\ / / _ \\/ __| '_ \\ / _\` | __| | | |
|   \\ V  V /  __/ (__| | | | (_| | |_| |_| |
|    \\_/\\_/ \\___|\\___|_| |_|\\__,_|\\__|\\__, |
|                                     |___/

=============== Powered by Wechaty ===============
       -------- https://wechaty.io --------

I'm a bot, my super power is download cloud bot from wechaty.io

__________________________________________________

`

34
let   token   = Config.token
35

Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
36
if (!token) {
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
37
  log.error('Client', 'token not found: please set WECHATY_TOKEN in environment before run io-client')
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
38
  // process.exit(-1)
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
39
  token = Config.DEFAULT_TOKEN
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
40
  log.warn('Client', `set token to "${token}" for demo purpose`)
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
41 42
}

Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
43
console.log(welcome)
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
44
log.info('Client', 'Starting for WECHATY_TOKEN: %s', token)
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
45

46
const client = new IoClient(token, log)
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
47

Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
48 49
client.init()
    .catch(onError.bind(client))
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
50

Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
51 52
client.initWeb()
    .catch(onError.bind(client))
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
53 54

function onError(e) {
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
55
  log.error('Client', 'initWeb() fail: %s', e)
Huan (李卓桓)'s avatar
Huan (李卓桓) 已提交
56 57 58
  this.quit()
  process.exit(-1)
}