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 {
11
    Config
12
  , log
13 14 15
}                   from '../src/config'

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)
}