Skip to content

Message Formats

The Telegram bot offers four message formats โ€” pick one in notifications.telegram.messageFormat.

Banks-overview only. Default.

โœ… Import Summary

๐Ÿฆ Banks: 3/3 (100%)
๐Ÿ“ฅ Transactions: 47 imported
๐Ÿ”„ Duplicates: 12 skipped
โฑ Duration: 38.2s

โœ… discount: 18 txns 12.3s
โœ… leumi: 22 txns 15.1s
โœ… hapoalim: 7 txns 10.8s

Transaction details with amounts.

โœ… Import Summary
3/3 banks | 47 txns | 38.2s

โœ… Discount ยท 0152228812
14/02  ืžืฉื›ื•ืจืช ื—ื•ื“ืฉื™ืช
       +12,500.00
14/02  ืฉื•ืคืจืกืœ ื“ื™ื–ื ื’ื•ืฃ
       -342.50
14/02  ื—ื‘ืจืช ื—ืฉืžืœ
       -289.00
๐Ÿ’ฐ 45,230.50 ILS
โœ… Balance matched

Monospace table layout.

โœ… Import Summary
47 transactions ยท 38.2s

โœ… Discount (0152228812)
14/02 ืžืฉื›ื•ืจืช ื—ื•ื“ืฉื™ืช
        +12,500.00
14/02 ืฉื•ืคืจืกืœ ื“ื™ื–ื ื’ื•ืฃ
           -342.50
14/02 ื—ื‘ืจืช ื—ืฉืžืœ
           -289.00
Balance: 45,230.50 ILS
โœ… Balance matched

Visual deposit / payment indicators.

โœ… Import Summary

๐Ÿ“Š 3/3 banks ยท 47 txns ยท 38.2s

๐Ÿ’ณ Discount
  ๐Ÿ“ฅ +12,500.00  ืžืฉื›ื•ืจืช ื—ื•ื“ืฉื™ืช
  ๐Ÿ“ค -342.50  ืฉื•ืคืจืกืœ ื“ื™ื–ื ื’ื•ืฃ
  ๐Ÿ“ค -289.00  ื—ื‘ืจืช ื—ืฉืžืœ
  ๐Ÿ’ฐ 45,230.50 ILS
  โœ… Balance matched

Phone-friendly variant

When listenForCommands: true, the logger format auto-switches to phone (no emojis, compact lines) so that /logs output is readable on a small screen. Message format stays whatever you chose.

On failure

๐Ÿšจ Import Failed

๐Ÿ” Authentication Error (discount): Invalid credentials. Please verify your password.

Errors are categorized so users can self-serve fixes: authentication, captcha, rate-limit, password change required, network. Each category includes a one-line action hint.

Partial runs

Every bank is imported in its own child process, so one bank failing never cancels the others. When a Telegram-triggered import finishes with a mix of outcomes, the bot reports exactly which banks failed instead of implying the whole run was lost:

โš ๏ธ Partial import (38s) โ€” 4/5 banks OK, 1 failed:
  โ€ข paybox: Invalid credentials. Please verify your password.

Use /retry to re-run the failed bank(s), or /logs for details.

Only when every bank failed does the message read as a total failure:

โŒ Import failed (12s) โ€” all 3 bank(s) failed:

/status uses the same distinction and shows partial: 4/5 OK for a mixed run.

Each child process also sends its own ๐Ÿšจ Import Failed message when none of the banks it was given succeeded. That message names the bank and the reason rather than reporting a bare status token, so a single-bank child never reads as a total outage:

๐Ÿšจ Import Failed

Import failed for visacal: Hard-model scrape resolved zero accounts

When a child was given several banks and every one of them failed, the message states the count and lists up to five banks, eliding the rest:

๐Ÿšจ Import Failed

All 3 banks failed โ€” visacal: zero accounts; max: login rejected; leumi: timeout

See also