fix(sweetistics): improve media upload errors
This commit is contained in:
@@ -277,6 +277,9 @@ program
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`❌ Sweetistics error: ${error instanceof Error ? error.message : String(error)}`);
|
console.error(`❌ Sweetistics error: ${error instanceof Error ? error.message : String(error)}`);
|
||||||
|
if (error instanceof Error && /(^|\\b)INTERNAL_ERROR(\\b|$)|An unexpected error occurred/.test(error.message)) {
|
||||||
|
console.error('ℹ️ Hint: Sweetistics media upload likely needs Twitter OAuth with `media.write` scope.');
|
||||||
|
}
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -401,6 +404,9 @@ program
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`❌ Sweetistics error: ${error instanceof Error ? error.message : String(error)}`);
|
console.error(`❌ Sweetistics error: ${error instanceof Error ? error.message : String(error)}`);
|
||||||
|
if (error instanceof Error && /(^|\\b)INTERNAL_ERROR(\\b|$)|An unexpected error occurred/.test(error.message)) {
|
||||||
|
console.error('ℹ️ Hint: Sweetistics media upload likely needs Twitter OAuth with `media.write` scope.');
|
||||||
|
}
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -498,9 +498,12 @@ export class SweetisticsClient {
|
|||||||
: undefined;
|
: undefined;
|
||||||
const errorMessage =
|
const errorMessage =
|
||||||
typeof (body as { error?: unknown })?.error === 'string' ? (body as { error: string }).error : undefined;
|
typeof (body as { error?: unknown })?.error === 'string' ? (body as { error: string }).error : undefined;
|
||||||
|
const errorCode =
|
||||||
|
typeof (body as { code?: unknown })?.code === 'string' ? (body as { code: string }).code : undefined;
|
||||||
|
|
||||||
if (!response.ok || !mediaId) {
|
if (!response.ok || !mediaId) {
|
||||||
return { success: false, error: errorMessage ?? `HTTP ${response.status}` };
|
const details = [errorCode, errorMessage].filter(Boolean).join(': ');
|
||||||
|
return { success: false, error: details.length > 0 ? details : `HTTP ${response.status}` };
|
||||||
}
|
}
|
||||||
return { success: true, mediaId };
|
return { success: true, mediaId };
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user