feat(cli): add telegram bot backup interval management

This commit is contained in:
ReturnFI
2025-09-18 11:55:17 +00:00
parent b583894d9a
commit 9f82486785
2 changed files with 26 additions and 9 deletions

View File

@ -511,19 +511,26 @@ def warp_status():
@cli.command('telegram')
@click.option('--action', '-a', required=True, help='Action to perform: start or stop', type=click.Choice(['start', 'stop'], case_sensitive=False))
@click.option('--token', '-t', required=False, help='Token for running the telegram bot', type=str)
@click.option('--adminid', '-aid', required=False, help='Telegram admins ID for running the telegram bot', type=str)
def telegram(action: str, token: str, adminid: str):
@click.option('--action', '-a', required=True, help='Action to perform: start, stop, or set_backup_interval', type=click.Choice(['start', 'stop', 'set_backup_interval'], case_sensitive=False))
@click.option('--token', '-t', required=False, help='Token for running the telegram bot (for start)', type=str)
@click.option('--adminid', '-aid', required=False, help='Telegram admins ID for running the telegram bot (for start)', type=str)
@click.option('--interval', '-i', required=False, help='Automatic backup interval in hours (for start and set_backup_interval)', type=str)
def telegram(action: str, token: str, adminid: str, interval: str):
"""Manage the Telegram bot service."""
try:
if action == 'start':
if not token or not adminid:
raise click.UsageError('Error: Both --token and --adminid are required for the start action.')
cli_api.start_telegram_bot(token, adminid)
raise click.UsageError('Error: --token and --adminid are required for the start action.')
cli_api.start_telegram_bot(token, adminid, interval)
click.echo(f'Telegram bot started successfully.')
elif action == 'stop':
cli_api.stop_telegram_bot()
click.echo(f'Telegram bot stopped successfully.')
elif action == 'set_backup_interval':
if not interval:
raise click.UsageError('Error: --interval is required for the set_backup_interval action.')
cli_api.set_telegram_bot_backup_interval(interval)
click.echo(f'Telegram bot backup interval set to {interval} hours.')
except Exception as e:
click.echo(f'{e}', err=True)