fix: 修复NapCat发布门禁阻断

This commit is contained in:
sunlei 2026-06-22 17:29:13 +08:00
parent a02f6a4250
commit 98e694d8e9
5 changed files with 11 additions and 9 deletions

View File

@ -1,4 +1,4 @@
ARG NAPCAT_BASE_IMAGE=mlikiowa/napcat-docker:latest ARG NAPCAT_BASE_IMAGE=
FROM ${NAPCAT_BASE_IMAGE} FROM ${NAPCAT_BASE_IMAGE}
USER root USER root

View File

@ -28,8 +28,8 @@ import type {
QqbotAccountAbilityType, QqbotAccountAbilityType,
QqbotAccountListItem, QqbotAccountListItem,
QqbotConnectionRole, QqbotConnectionRole,
QqbotNapcatContainerStatus,
QqbotNapcatWebuiStatus, QqbotNapcatWebuiStatus,
QqbotRuntimeContainerStatus,
} from '../../contract/qqbot.types'; } from '../../contract/qqbot.types';
const INSECURE_ACCOUNT_SECRET_VALUES = new Set([ const INSECURE_ACCOUNT_SECRET_VALUES = new Set([
@ -668,7 +668,7 @@ export class QqbotAccountService {
*/ */
private toPersistedContainerStatus( private toPersistedContainerStatus(
napcat?: null | QqbotAccountListItem['napcat'], napcat?: null | QqbotAccountListItem['napcat'],
): QqbotNapcatContainerStatus { ): QqbotRuntimeContainerStatus {
if (napcat?.containerStatus) return napcat.containerStatus; if (napcat?.containerStatus) return napcat.containerStatus;
if (napcat?.containerOnline) return 'running'; if (napcat?.containerOnline) return 'running';
return 'unknown'; return 'unknown';

View File

@ -72,13 +72,15 @@ export type QqbotMessageDirection = 'inbound' | 'outbound';
export type QqbotMessageType = 'channel' | 'group' | 'private'; export type QqbotMessageType = 'channel' | 'group' | 'private';
export type QqbotNapcatContainerStatus = export type QqbotRuntimeContainerStatus =
| 'creating' | 'creating'
| 'error' | 'error'
| 'running' | 'running'
| 'stopped' | 'stopped'
| 'unknown'; | 'unknown';
export type QqbotNapcatContainerStatus = QqbotRuntimeContainerStatus;
export type QqbotAccountNapcatBindStatus = 'bound' | 'disabled' | 'pending'; export type QqbotAccountNapcatBindStatus = 'bound' | 'disabled' | 'pending';
export type QqbotNapcatWebuiStatus = 'offline' | 'online' | 'unknown'; export type QqbotNapcatWebuiStatus = 'offline' | 'online' | 'unknown';
@ -106,7 +108,7 @@ export type QqbotAccountNapcatRuntimeInfo = {
containerId?: string; containerId?: string;
containerName?: string; containerName?: string;
containerOnline?: boolean; containerOnline?: boolean;
containerStatus?: QqbotNapcatContainerStatus; containerStatus?: QqbotRuntimeContainerStatus;
profileStatus?: 'drift' | 'failed' | 'ok' | 'unknown'; profileStatus?: 'drift' | 'failed' | 'ok' | 'unknown';
recoveryState?: 'idle' | 'password' | 'quick' | 'suspended'; recoveryState?: 'idle' | 'password' | 'quick' | 'suspended';
riskMode?: 'cooldown' | 'manual_only' | 'normal'; riskMode?: 'cooldown' | 'manual_only' | 'normal';

View File

@ -10,9 +10,9 @@ import type {
QqbotConnectionMode, QqbotConnectionMode,
QqbotConnectionRole, QqbotConnectionRole,
QqbotConnectionStatus, QqbotConnectionStatus,
QqbotNapcatContainerStatus,
QqbotNapcatRuntimeLoginStatus, QqbotNapcatRuntimeLoginStatus,
QqbotNapcatWebuiStatus, QqbotNapcatWebuiStatus,
QqbotRuntimeContainerStatus,
} from '../../../contract/qqbot.types'; } from '../../../contract/qqbot.types';
@Entity('qqbot_account') @Entity('qqbot_account')
@ -48,7 +48,7 @@ export class QqbotAccount {
oneBotStatus: QqbotConnectionStatus; oneBotStatus: QqbotConnectionStatus;
@Column({ default: 'unknown', length: 32, name: 'container_status' }) @Column({ default: 'unknown', length: 32, name: 'container_status' })
containerStatus: QqbotNapcatContainerStatus; containerStatus: QqbotRuntimeContainerStatus;
@Column({ default: 'unknown', length: 32, name: 'webui_status' }) @Column({ default: 'unknown', length: 32, name: 'webui_status' })
webuiStatus: QqbotNapcatWebuiStatus; webuiStatus: QqbotNapcatWebuiStatus;

View File

@ -6,7 +6,7 @@ import {
KtDateTimeColumn, KtDateTimeColumn,
KtUpdateDateColumn, KtUpdateDateColumn,
} from '@/common'; } from '@/common';
import type { QqbotNapcatContainerStatus } from '@/modules/qqbot/core/contract/qqbot.types'; import type { QqbotRuntimeContainerStatus } from '@/modules/qqbot/core/contract/qqbot.types';
@Entity('napcat_container') @Entity('napcat_container')
@Index('uk_napcat_container_name', ['name'], { unique: true }) @Index('uk_napcat_container_name', ['name'], { unique: true })
@ -47,7 +47,7 @@ export class NapcatContainer {
reverseWsUrl: string; reverseWsUrl: string;
@Column({ default: 'creating', length: 32 }) @Column({ default: 'creating', length: 32 })
status: QqbotNapcatContainerStatus; status: QqbotRuntimeContainerStatus;
@KtDateTimeColumn({ @KtDateTimeColumn({
default: null, default: null,