提交 99d37f61 编写于 作者: Huan (李卓桓)'s avatar Huan (李卓桓)

check token before start

上级 21e11cf6
import {
log,
} from 'brolog'
export const WECHATY_PUPPET_PADCHAT_ENDPOINT = process.env['WECHATY_PUPPET_PADCHAT_ENDPOINT'] || 'ws://54.223.36.77:9091/wx' export const WECHATY_PUPPET_PADCHAT_ENDPOINT = process.env['WECHATY_PUPPET_PADCHAT_ENDPOINT'] || 'ws://54.223.36.77:9091/wx'
export const WECHATY_PUPPET_PADCHAT_TOKEN = process.env['WECHATY_PUPPET_PADCHAT_TOKEN'] || 'padchattest'
const WECHATY_PUPPET_PADCHAT_TOKEN = process.env['WECHATY_PUPPET_PADCHAT_TOKEN'] as string
if (!WECHATY_PUPPET_PADCHAT_TOKEN) {
log.error('PuppetPadchatConfig', `
WECHATY_PUPPET_PADCHAT_TOKEN environment variable not found.
PuppetPadchat need a token before it can be used,
Please set WECHATY_PUPPET_PADCHAT_TOKEN then retry again.
Learn more about it at: https://github.com/Chatie/wechaty/issues/1296
`)
process.exit(1)
}
export {
WECHATY_PUPPET_PADCHAT_TOKEN,
}
...@@ -311,7 +311,7 @@ export class PadchatRpc extends EventEmitter { ...@@ -311,7 +311,7 @@ export class PadchatRpc extends EventEmitter {
/** /**
* Init with WebSocket Server * Init with WebSocket Server
*/ */
public async init(): Promise<InitType> { protected async init(): Promise<InitType> {
const result: InitType = await this.rpcCall('init') const result: InitType = await this.rpcCall('init')
log.silly('PadchatRpc', 'init result: %s', JSON.stringify(result)) log.silly('PadchatRpc', 'init result: %s', JSON.stringify(result))
if (!result || result.status !== 0) { if (!result || result.status !== 0) {
...@@ -323,7 +323,7 @@ export class PadchatRpc extends EventEmitter { ...@@ -323,7 +323,7 @@ export class PadchatRpc extends EventEmitter {
/** /**
* Get WX block memory * Get WX block memory
*/ */
public async WXInitialize(): Promise<WXInitializeType> { protected async WXInitialize(): Promise<WXInitializeType> {
log.verbose('PadchatRpc', 'WXInitialize()') log.verbose('PadchatRpc', 'WXInitialize()')
const result = await this.rpcCall('WXInitialize') const result = await this.rpcCall('WXInitialize')
...@@ -335,7 +335,7 @@ export class PadchatRpc extends EventEmitter { ...@@ -335,7 +335,7 @@ export class PadchatRpc extends EventEmitter {
return result return result
} }
public async WXGetQRCode(): Promise<WXGetQRCodeType> { protected async WXGetQRCode(): Promise<WXGetQRCodeType> {
const result = await this.rpcCall('WXGetQRCode') const result = await this.rpcCall('WXGetQRCode')
// if (!result || !(result.qr_code)) { // if (!result || !(result.qr_code)) {
// result = await this.WXGetQRCodeTwice() // result = await this.WXGetQRCodeTwice()
...@@ -386,6 +386,9 @@ export class PadchatRpc extends EventEmitter { ...@@ -386,6 +386,9 @@ export class PadchatRpc extends EventEmitter {
/** /**
* Generate 62 data * Generate 62 data
*
* 1. Call multiple times in the same session, will return the same data
* 2. Call multiple times between sessions with the same token, will return the same data
*/ */
public async WXGenerateWxDat(): Promise<string> { public async WXGenerateWxDat(): Promise<string> {
const result: WXGenerateWxDatType = await this.rpcCall('WXGenerateWxDat') const result: WXGenerateWxDatType = await this.rpcCall('WXGenerateWxDat')
......
...@@ -101,7 +101,7 @@ export class PuppetPadchat extends Puppet { ...@@ -101,7 +101,7 @@ export class PuppetPadchat extends Puppet {
max: 1000, max: 1000,
// length: function (n) { return n * 2}, // length: function (n) { return n * 2},
dispose: function (key: string, val: any) { dispose: function (key: string, val: any) {
log.silly('Puppet', 'constructor() lruOptions.dispose(%s, %s)', key, JSON.stringify(val)) log.silly('PuppetPadchat', 'constructor() lruOptions.dispose(%s, %s)', key, JSON.stringify(val))
}, },
maxAge: 1000 * 60 * 60, maxAge: 1000 * 60 * 60,
} }
...@@ -113,8 +113,8 @@ export class PuppetPadchat extends Puppet { ...@@ -113,8 +113,8 @@ export class PuppetPadchat extends Puppet {
this.bridge = new Bridge({ this.bridge = new Bridge({
memory : this.options.memory, memory : this.options.memory,
token : WECHATY_PUPPET_PADCHAT_TOKEN, token : WECHATY_PUPPET_PADCHAT_TOKEN,
endpoint: WECHATY_PUPPET_PADCHAT_ENDPOINT, endpoint : WECHATY_PUPPET_PADCHAT_ENDPOINT,
}) })
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册