mirror of
https://github.com/fabianonline/telegram_backup.git
synced 2025-06-29 11:56:26 +00:00
WIP: Changes to the exporter. Stats are included in HTML output; Heatmap added.
This commit is contained in:
@ -26,9 +26,9 @@
|
||||
<span class="sender">{{user_first_name}}</span>
|
||||
<span class="time">{{formatted_time}}</span>
|
||||
{{#text}}<span class="text">{{text}}</span>{{/text}}
|
||||
{{#media_sticker}}<span class="sticker"><img src="../../../../stickers/{{media_file}}" /></span>{{/media_sticker}}
|
||||
{{#media_photo}}<span class="photo"><img src="../../../files/{{media_file}}" /></span>{{/media_photo}}
|
||||
{{#media_document}}<span class="document"><a href="../../../files/{{media_file}}">{{media_file}}</a></span>{{/media_document}}
|
||||
{{#media_sticker}}<span class="sticker"><img src="../../../stickers/{{media_file}}" /></span>{{/media_sticker}}
|
||||
{{#media_photo}}<span class="photo"><img src="../{{media_file}}" /></span>{{/media_photo}}
|
||||
{{#media_document}}<span class="document"><a href="../{{media_file}}">{{media_file}}</a></span>{{/media_document}}
|
||||
</li>
|
||||
{{/messages}}
|
||||
</ul>
|
||||
|
@ -2,6 +2,61 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Telegram Backup for {{user.getUserString}}</title>
|
||||
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
google.charts.setOnLoadCallback(drawChart);
|
||||
|
||||
function drawChart() {
|
||||
drawChartChatTypes();
|
||||
drawChartMessageTypes();
|
||||
drawChartMediaTypes();
|
||||
}
|
||||
|
||||
function drawChartChatTypes() {
|
||||
var data = google.visualization.arrayToDataTable([
|
||||
['Type', 'Count'],
|
||||
['Dialog', {{count.dialogs}}],
|
||||
['Chat', {{count.chats}}]
|
||||
]);
|
||||
var options = {
|
||||
title: 'Chat types',
|
||||
legend: 'none',
|
||||
pieSliceText: 'label',
|
||||
};
|
||||
|
||||
var chart = new google.visualization.PieChart(document.getElementById('chart_chat_types'));
|
||||
chart.draw(data, options);
|
||||
}
|
||||
|
||||
function drawChartMediaTypes() {
|
||||
var data = google.visualization.arrayToDataTable([
|
||||
['Type', 'Count'],
|
||||
['No media', {{count.messages.media_type.null}}+0], ['Photo', {{count.messages.media_type.photo}}+0],
|
||||
['Audio', {{count.messages.media_type.audio}}+0], ['Video', {{count.messages.media_type.video}}+0],
|
||||
['Geolocation', {{count.messages.media_type.geo}}+0], ['Document', {{count.messages.media_type.document}}+0],
|
||||
['Sticker', {{count.messages.media_type.sticker}}+0], ['Venue', {{count.messages.media_type.venue}}+0],
|
||||
['Contact', {{count.messages.media_type.contact}}+0]
|
||||
]);
|
||||
var options = { title: 'Media types', legend: 'none', pieSliceText: 'label' };
|
||||
var chart = new google.visualization.PieChart(document.getElementById('chart_media_types'));
|
||||
chart.draw(data, options);
|
||||
}
|
||||
|
||||
function drawChartMessageTypes() {
|
||||
var data = google.visualization.arrayToDataTable([
|
||||
['Type', 'Count'],
|
||||
['Normal messages', {{count.messages.type.message}}],
|
||||
['Empty messages', {{count.messages.type.empty_message}}],
|
||||
['Service messages', {{count.messages.type.service_message}}]
|
||||
]);
|
||||
var options = { title: 'Message types', legend: 'none', pieSliceText: 'label' };
|
||||
|
||||
var chart = new google.visualization.PieChart(document.getElementById('chart_message_types'));
|
||||
chart.draw(data, options);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@ -32,5 +87,36 @@
|
||||
</li>
|
||||
{{/chats}}
|
||||
</ul>
|
||||
|
||||
<!--
|
||||
count.chats: {{count.chats}}
|
||||
count.dialogs: {{count.dialogs}}
|
||||
count.messages: {{count.messages}}
|
||||
count.messages.chats: {{count.messages.chats}}
|
||||
count.messages.dialogs: {{count.messages.dialogs}}
|
||||
count.messages.from_me: {{count.messages.from_me}}
|
||||
|
||||
count.messages.type.message: {{count.messages.type.message}}
|
||||
count.messages.type.empty_message: {{count.messages.type.empty_message}}
|
||||
count.messages.type.service_message: {{count.messages.type.service_message}}
|
||||
|
||||
count.messages.media_type.null: {{count.messages.media_type.null}}
|
||||
count.messages.media_type.photo:{{count.messages.media_type.photo}}
|
||||
count.messages.media_type.audio:{{count.messages.media_type.audio}}
|
||||
count.messages.media_type.video:{{count.messages.media_type.video}}
|
||||
count.messages.media_type.geo:{{count.messages.media_type.geo}}
|
||||
count.messages.media_type.document:{{count.messages.media_type.document}}
|
||||
count.messages.media_type.sticker:{{count.messages.media_type.sticker}}
|
||||
count.messages.media_type.venue:{{count.messages.media_type.venue}}
|
||||
count.messages.media_type.contact:{{count.messages.media_type.contact}}
|
||||
|
||||
{{heatmap_data}}
|
||||
-->
|
||||
|
||||
|
||||
|
||||
<div id="chart_chat_types" style="width: 900px; height: 500px;"></div>
|
||||
<div id="chart_message_types" style="width: 900px; height: 500px;"></div>
|
||||
<div id="chart_media_types" style="width: 900px; height: 500px;"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user