fix(relay): fix telegram ESM import path and broaden latch regex

- `import('telegram/sessions')` fails with "Directory import is not
  supported resolving ES modules" — use explicit `telegram/sessions/index.js`
- Broaden permanent-disable latch to also catch "Directory import" errors
This commit is contained in:
Elie Habib
2026-02-28 16:11:40 +04:00
parent a10266b776
commit 1f2f0175ab

View File

@@ -230,7 +230,7 @@ async function initTelegramClientIfNeeded() {
try {
const { TelegramClient } = await import('telegram');
const { StringSession } = await import('telegram/sessions');
const { StringSession } = await import('telegram/sessions/index.js');
const client = new TelegramClient(new StringSession(sessionStr), apiId, apiHash, {
connectionRetries: 3,
@@ -242,7 +242,7 @@ async function initTelegramClientIfNeeded() {
console.log('[Relay] Telegram client connected');
return true;
} catch (e) {
if (e?.code === 'ERR_MODULE_NOT_FOUND' || /Cannot find package/.test(e?.message)) {
if (e?.code === 'ERR_MODULE_NOT_FOUND' || /Cannot find package|Directory import/.test(e?.message)) {
telegramImportFailed = true;
telegramState.lastError = 'telegram package not installed';
console.warn('[Relay] Telegram package not installed — disabling permanently for this session');