add logs for partial messages migration
This commit is contained in:
parent
34f9c9afa4
commit
6de9a054f7
3 changed files with 222 additions and 208 deletions
|
|
@ -69,6 +69,7 @@ async def migrate_messages(context: MigrationContext, source_channel_id: int, ta
|
||||||
"first_message_url": None,
|
"first_message_url": None,
|
||||||
"last_message_url": None
|
"last_message_url": None
|
||||||
}
|
}
|
||||||
|
try:
|
||||||
async for msg in context.discord_reader.fetch_message_history(source_channel_id, after_id=after_message_id):
|
async for msg in context.discord_reader.fetch_message_history(source_channel_id, after_id=after_message_id):
|
||||||
if not context.is_running:
|
if not context.is_running:
|
||||||
break
|
break
|
||||||
|
|
@ -175,5 +176,8 @@ async def migrate_messages(context: MigrationContext, source_channel_id: int, ta
|
||||||
|
|
||||||
# Delay for rate limit safety
|
# Delay for rate limit safety
|
||||||
await asyncio.sleep(context.config.migration.rate_limit_delay_seconds)
|
await asyncio.sleep(context.config.migration.rate_limit_delay_seconds)
|
||||||
|
except (KeyboardInterrupt, asyncio.CancelledError):
|
||||||
|
context.is_running = False
|
||||||
|
pass
|
||||||
|
|
||||||
return stats
|
return stats
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,7 @@ async def migrate_messages(context: MigrationContext, source_channel_id: int, ta
|
||||||
"first_message_url": None,
|
"first_message_url": None,
|
||||||
"last_message_url": None
|
"last_message_url": None
|
||||||
}
|
}
|
||||||
|
try:
|
||||||
async for msg in context.discord_reader.fetch_message_history(source_channel_id, after_id=after_message_id):
|
async for msg in context.discord_reader.fetch_message_history(source_channel_id, after_id=after_message_id):
|
||||||
if not context.is_running:
|
if not context.is_running:
|
||||||
break
|
break
|
||||||
|
|
@ -171,5 +172,8 @@ async def migrate_messages(context: MigrationContext, source_channel_id: int, ta
|
||||||
|
|
||||||
# Delay for rate limit safety
|
# Delay for rate limit safety
|
||||||
await asyncio.sleep(context.config.migration.rate_limit_delay_seconds)
|
await asyncio.sleep(context.config.migration.rate_limit_delay_seconds)
|
||||||
|
except (KeyboardInterrupt, asyncio.CancelledError):
|
||||||
|
context.is_running = False
|
||||||
|
pass
|
||||||
|
|
||||||
return stats
|
return stats
|
||||||
|
|
|
||||||
|
|
@ -1335,23 +1335,29 @@ class MigrationCLI:
|
||||||
progress_callback=update_msg_progress
|
progress_callback=update_msg_progress
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if not self.engine.is_running:
|
||||||
|
console.print(f"\n[bold yellow]Migration Interrupted! {result_stats['messages']} messages migrated to {target_channel.get('name')}.[/bold yellow]")
|
||||||
|
event_title = "Message History Migration Interrupted"
|
||||||
|
else:
|
||||||
console.print(f"\n[bold green]Success! {result_stats['messages']} messages migrated to {target_channel.get('name')}.[/bold green]")
|
console.print(f"\n[bold green]Success! {result_stats['messages']} messages migrated to {target_channel.get('name')}.[/bold green]")
|
||||||
|
event_title = "Message History Migrated"
|
||||||
|
|
||||||
lines = [f"Successfully migrated messages from Discord #{source_channel.name} to {platform_name} #{target_channel.get('name')}:"]
|
lines = [f"Migrated messages from Discord #{source_channel.name} to {platform_name} #{target_channel.get('name')}:"]
|
||||||
|
|
||||||
if result_stats.get('first_message_url') or result_stats.get('last_message_url'):
|
if result_stats.get('first_message_url') or result_stats.get('last_message_url'):
|
||||||
lines.append(f"**Message Info:**")
|
lines.append(f"**Message Info:**")
|
||||||
if result_stats.get('first_message_url'):
|
if result_stats.get('first_message_url'):
|
||||||
lines.append(f"- First message: <{result_stats['first_message_url']}>")
|
lines.append(f"First message: <{result_stats['first_message_url']}>")
|
||||||
if result_stats.get('last_message_url'):
|
if result_stats.get('last_message_url'):
|
||||||
lines.append(f"- Last message: <{result_stats['last_message_url']}>")
|
lines.append(f"Last message: <{result_stats['last_message_url']}>")
|
||||||
|
|
||||||
lines.append(f"**Stats:**")
|
lines.append(f"**Stats:**")
|
||||||
lines.append(f"- {result_stats['messages']} messages")
|
lines.append(f"{result_stats['messages']} messages")
|
||||||
lines.append(f"- {result_stats['attachments']} attachments")
|
lines.append(f"{result_stats['attachments']} attachments")
|
||||||
lines.append(f"- {result_stats['threads']} threads")
|
lines.append(f"{result_stats['threads']} threads")
|
||||||
|
|
||||||
audit_desc = "\n".join(lines)
|
audit_desc = "\n".join(lines)
|
||||||
await log_audit_event(self.engine, "Message History Migrated", audit_desc)
|
await log_audit_event(self.engine, event_title, audit_desc)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
err_str = str(e)
|
err_str = str(e)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue