diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/src/channel.ts b/src/channel.ts index c0ef685..93834e2 100644 --- a/src/channel.ts +++ b/src/channel.ts @@ -30,13 +30,13 @@ export const qqbotPlugin: ChannelPlugin = { listAccountIds: (cfg) => listQQBotAccountIds(cfg), resolveAccount: (cfg, accountId) => resolveQQBotAccount(cfg, accountId), defaultAccountId: () => DEFAULT_ACCOUNT_ID, - isConfigured: (account) => Boolean(account.appId && account.clientSecret), + isConfigured: (account) => Boolean(account?.appId && account?.clientSecret), describeAccount: (account) => ({ - accountId: account.accountId, - name: account.name, - enabled: account.enabled, - configured: Boolean(account.appId && account.clientSecret), - tokenSource: account.secretSource, + accountId: account?.accountId ?? DEFAULT_ACCOUNT_ID, + name: account?.name, + enabled: account?.enabled ?? false, + configured: Boolean(account?.appId && account?.clientSecret), + tokenSource: account?.secretSource, }), }, setup: { @@ -118,11 +118,11 @@ export const qqbotPlugin: ChannelPlugin = { lastError: null, }, buildAccountSnapshot: ({ account, runtime }) => ({ - accountId: account.accountId, - name: account.name, - enabled: account.enabled, - configured: Boolean(account.appId && account.clientSecret), - tokenSource: account.secretSource, + accountId: account?.accountId ?? DEFAULT_ACCOUNT_ID, + name: account?.name, + enabled: account?.enabled ?? false, + configured: Boolean(account?.appId && account?.clientSecret), + tokenSource: account?.secretSource, running: runtime?.running ?? false, connected: runtime?.connected ?? false, lastConnectedAt: runtime?.lastConnectedAt ?? null,