Implement unified Telegram bot interface with Login/Logout and fix callback_data limits
**Interface improvements:** - Add persistent Login/Logout buttons to main menu - Help button now updates text above menu (not separate message) - Expired token automatically transforms menu to Login state - Consolidate linking success messages (single welcome + menu) **Fix callback_data length limits (Telegram 64-byte limit):** - Truncate client/supplier names to 40 chars in callback_data - Use full names for API calls but truncated for buttons - Fix pagination buttons for long partner names (30 chars limit) - Search entities by prefix match to handle truncated names **Treasury improvements:** - Show ALL bank/cash accounts (removed 5-item limit) - Remove unnecessary Refresh/Export buttons from treasury views - Handle "Message is not modified" error gracefully **Bug fixes:** - Fix Markdown parsing errors (replace <cod> with `CODUL_TAU`) - Fix silent errors when token expires (show user-friendly message) - Fix Button_data_invalid errors on pagination and details 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -124,13 +124,10 @@ def format_treasury_casa_response(data: Dict[str, Any], company_name: str = None
|
||||
casa_accounts = data.get('accounts', [])
|
||||
if casa_accounts:
|
||||
text += "**Conturi de Casa:**\n"
|
||||
for acc in casa_accounts[:5]: # Max 5
|
||||
for acc in casa_accounts: # Show all accounts
|
||||
name = acc.get('name', 'N/A')
|
||||
balance = round(acc.get('balance', 0))
|
||||
text += f" - {name}: {balance:,} RON\n"
|
||||
|
||||
if len(casa_accounts) > 5:
|
||||
text += f" ... si inca {len(casa_accounts) - 5} conturi"
|
||||
else:
|
||||
text += "Nu exista conturi de casa configurate."
|
||||
|
||||
@@ -162,13 +159,10 @@ def format_treasury_banca_response(data: Dict[str, Any], company_name: str = Non
|
||||
bank_accounts = data.get('accounts', [])
|
||||
if bank_accounts:
|
||||
text += "**Conturi Bancare:**\n"
|
||||
for acc in bank_accounts[:5]: # Max 5
|
||||
for acc in bank_accounts: # Show all accounts
|
||||
name = acc.get('name', 'N/A')
|
||||
balance = round(acc.get('balance', 0))
|
||||
text += f" - {name}: {balance:,} RON\n"
|
||||
|
||||
if len(bank_accounts) > 5:
|
||||
text += f" ... si inca {len(bank_accounts) - 5} conturi"
|
||||
else:
|
||||
text += "Nu exista conturi bancare configurate."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user