d5f55b5f9c
Coverage / build (push) Has been cancelled
Docker / Build (push) Has been cancelled
Docker / Publish (push) Has been cancelled
Node.js CI / build (16, macos-latest) (push) Has been cancelled
Node.js CI / build (16, ubuntu-latest) (push) Has been cancelled
Node.js CI / build (16, windows-latest) (push) Has been cancelled
NPM / Build (22) (push) Has been cancelled
NPM / Pack (push) Has been cancelled
NPM / Publish (push) Has been cancelled
96 lines
2.4 KiB
JavaScript
96 lines
2.4 KiB
JavaScript
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm
|
|
/**
|
|
* Wechaty Chatbot SDK - https://github.com/wechaty/wechaty
|
|
*
|
|
* @copyright 2016 Huan LI (李卓桓) <https://github.com/huan>, and
|
|
* Wechaty Contributors <https://github.com/wechaty>.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*
|
|
*/
|
|
|
|
import 'dotenv/config.js'
|
|
|
|
import {
|
|
log,
|
|
} from 'wechaty-puppet'
|
|
import {
|
|
config,
|
|
} from '../src/config.js'
|
|
|
|
import {
|
|
IoClient,
|
|
IoClientOptions,
|
|
} from '../src/io-client.js'
|
|
import { WechatyBuilder } from '../src/wechaty-builder.js'
|
|
|
|
const welcome = `
|
|
| __ __ _ _
|
|
| \\ \\ / /__ ___| |__ __ _| |_ _ _
|
|
| \\ \\ /\\ / / _ \\/ __| '_ \\ / _\` | __| | | |
|
|
| \\ V V / __/ (__| | | | (_| | |_| |_| |
|
|
| \\_/\\_/ \\___|\\___|_| |_|\\__,_|\\__|\\__, |
|
|
| |___/
|
|
|
|
=============== Powered by Wechaty ===============
|
|
-------- https://www.chatie.io --------
|
|
|
|
My super power: download cloud bot from www.chatie.io
|
|
|
|
__________________________________________________
|
|
|
|
`
|
|
|
|
async function main () {
|
|
const token = config.token
|
|
|
|
if (!token) {
|
|
throw new Error('token not found: please set WECHATY_TOKEN in environment before run io-client')
|
|
}
|
|
|
|
console.info(welcome)
|
|
log.info('Client', 'Starting for WECHATY_TOKEN: %s', token)
|
|
|
|
const wechaty = WechatyBuilder.build({ name: token })
|
|
|
|
let port
|
|
if (process.env['WECHATY_PUPPET_SERVER_PORT']) {
|
|
port = parseInt(process.env['WECHATY_PUPPET_SERVER_PORT'])
|
|
}
|
|
|
|
const options: IoClientOptions = {
|
|
token,
|
|
wechaty,
|
|
}
|
|
if (port) {
|
|
options.port = port
|
|
}
|
|
|
|
const client = new IoClient(options)
|
|
|
|
client.start()
|
|
.catch(onError.bind(client))
|
|
}
|
|
|
|
async function onError (
|
|
this : IoClient,
|
|
e : Error,
|
|
) {
|
|
log.error('Client', 'start() fail: %s', e)
|
|
await this.quit()
|
|
process.exit(-1)
|
|
}
|
|
|
|
main()
|
|
.catch(console.error)
|