Now with visual stats
This commit is contained in:
@@ -43,8 +43,13 @@ class TelegramIO():
|
||||
def process_message(self):
|
||||
"""Inspects the first message from self.message_queue and reacts accordingly."""
|
||||
message_data = self.message_queue.pop(0)
|
||||
|
||||
self.persistence["bot"]["messages_read"] += 1
|
||||
current_hour = int(datetime.datetime.now().timestamp() // 3600)
|
||||
if len(self.persistence["bot"]["receive_activity"]["hour"]) == 0 or current_hour != self.persistence["bot"]["receive_activity"]["hour"][-1]:
|
||||
self.persistence["bot"]["receive_activity"]["hour"].append(current_hour)
|
||||
self.persistence["bot"]["receive_activity"]["count"].append(1)
|
||||
else:
|
||||
self.persistence["bot"]["receive_activity"]["count"][-1] += 1
|
||||
|
||||
self.offset = message_data["update_id"] + 1
|
||||
|
||||
if "edited_message" in message_data:
|
||||
@@ -112,7 +117,13 @@ class TelegramIO():
|
||||
r = requests.post(send_url, data=data)
|
||||
if (r.status_code != 200):
|
||||
raise Exception
|
||||
self.persistence["bot"]["messages_sent"]
|
||||
|
||||
current_hour = int(datetime.datetime.now().timestamp() // 3600)
|
||||
if len(self.persistence["bot"]["send_activity"]["hour"]) == 0 or current_hour != self.persistence["bot"]["send_activity"]["hour"][-1]:
|
||||
self.persistence["bot"]["send_activity"]["hour"].append(current_hour)
|
||||
self.persistence["bot"]["send_activity"]["count"].append(1)
|
||||
else:
|
||||
self.persistence["bot"]["send_activity"]["count"][-1] += 1
|
||||
except:
|
||||
out = datetime.datetime.now().strftime("%d.%m.%y - %H:%M")
|
||||
out += " @ " + "telegram.send_message"
|
||||
|
@@ -87,6 +87,13 @@ class BotFramework():
|
||||
# *params means the list is unpacked and handed over as separate arguments.
|
||||
self.telegram.send_message(result)
|
||||
|
||||
current_hour = int(datetime.datetime.now().timestamp() // 3600)
|
||||
if len(self.persistence["bot"]["execute_activity"]["hour"]) == 0 or current_hour != self.persistence["bot"]["execute_activity"]["hour"][-1]:
|
||||
self.persistence["bot"]["execute_activity"]["hour"].append(current_hour)
|
||||
self.persistence["bot"]["execute_activity"]["count"].append(1)
|
||||
else:
|
||||
self.persistence["bot"]["execute_activity"]["count"][-1] += 1
|
||||
|
||||
if self.is_command(cmd): # first word
|
||||
call_command(cmd, params)
|
||||
elif cmd in self.persistence["bot"]["aliases"]:
|
||||
|
14
bot/main.py
14
bot/main.py
@@ -2,6 +2,7 @@ import datetime
|
||||
from bot.api import telegram, google, weather, reddit
|
||||
|
||||
import requests
|
||||
import numpy as np
|
||||
import time
|
||||
import json
|
||||
import datetime
|
||||
@@ -64,13 +65,20 @@ class ChatBot(FW.BotFramework):
|
||||
ip = requests.get('https://api.ipify.org').text
|
||||
except:
|
||||
ip = "not fetchable"
|
||||
|
||||
message += "<pre>Status: Running :green_circle:\n"
|
||||
message += "Uptime: " + delta[:delta.rfind(".")] + "\n"
|
||||
message += "Reboots: " + str(self.persistence["global"]["reboots"]) + "\n"
|
||||
message += "IP-Adress: " + ip + "\n"
|
||||
message += "Messages read: " + str(self.persistence["bot"]["messages_read"]) + "\n"
|
||||
message += "Messages sent: " + str(self.persistence["bot"]["messages_sent"]) + "\n"
|
||||
message += "Commands executed " + str(self.persistence["bot"]["commands_executed"]) + "</pre>"
|
||||
|
||||
tot_r = np.array(self.persistence["bot"]["receive_activity"]["count"]).sum()
|
||||
message += "Total messages read: " + str(tot_r) + "\n"
|
||||
|
||||
tot_s = np.array(self.persistence["bot"]["send_activity"]["count"]).sum()
|
||||
message += "Total messages sent: " + str(tot_s) + "\n"
|
||||
|
||||
tot_e = np.array(self.persistence["bot"]["execute_activity"]["count"]).sum()
|
||||
message += "Commands executed " + str(tot_e) + "</pre>"
|
||||
|
||||
return message
|
||||
|
||||
|
Reference in New Issue
Block a user