1234567891011121314151617181920212223 |
- from nio.events.room_events import RoomMessageText
- from nio.rooms import MatrixRoom
- async def command_stats(room: MatrixRoom, event: RoomMessageText, context: dict):
- context["logger"]("Showing stats...")
- if not (database := context.get("database")):
- context["logger"]("No database connection - cannot show stats")
- context["client"].room_send(
- room.room_id, "m.room.message", {"msgtype": "m.notice",
- "body": "Sorry, I'm not connected to a database, so I don't have any statistics on your usage."}
- )
- return
- with database.cursor() as cursor:
- cursor.execute(
- "SELECT SUM(tokens) FROM token_usage WHERE room_id = ?", (room.room_id,))
- total_tokens = cursor.fetchone()[0] or 0
- await context["client"].room_send(
- room.room_id, "m.room.message", {"msgtype": "m.notice",
- "body": f"Total tokens used: {total_tokens}"}
- )
|