← 返回
沟通协作 Key 中文

ClassCharts

Query and interact with ClassCharts (UK education classroom management) via the classcharts-api JS library. Use when the user mentions ClassCharts, school be...
通过 classcharts-api JavaScript 库查询并交互 ClassCharts(英国教育课堂管理)平台。在用户提及 ClassCharts、学校行为时使用。
m0nkmaster
沟通协作 clawhub v1.0.1 2 版本 100000 Key: 需要
★ 0
Stars
📥 482
下载
💾 15
安装
2
版本
#class school education uk pupils parents teachers students college#latest

概述

ClassCharts API (JavaScript/TypeScript)

ClassCharts is a UK education classroom management platform. This skill uses the unofficial classcharts-api JS library to fetch homework, behaviour, timetable, detentions, attendance, announcements, badges, and more. Supports both Parent and Student authentication.

Important: The API is unofficial. Never hardcode credentials in prompts, logs, or committed code. Use environment variables or a secure secret store.

Installation

npm install classcharts-api

Requirements: Node.js 20+ or Deno

Authentication

Two client types with different login flows:

Parent Client

Parent logs in with email and password. Access to all linked pupils.

import { ParentClient } from "classcharts-api";

const client = new ParentClient(
  process.env.CLASSCHARTS_EMAIL!,
  process.env.CLASSCHARTS_PASSWORD!,
);
await client.login();

// Defaults to first pupil; switch with selectPupil
const pupils = client.pupils; // or await client.getPupils()
client.selectPupil(pupils[1].id); // if multiple children

Student Client

Student logs in with ClassCharts code and date of birth.

import { StudentClient } from "classcharts-api";

// Date of birth MUST be DD/MM/YYYY
const client = new StudentClient(
  process.env.CLASSCHARTS_CODE!, // e.g. "ABCD1234"
  "01/01/2010",
);
await client.login();

Date formats

Use caseFormatExample
---------------------------
API options (from, to, date)YYYY-MM-DD"2024-03-10"
Student date of birth (login)DD/MM/YYYY"01/01/2010"
getStudentCode dateOfBirthYYYY-MM-DD"2010-01-01"

Shared methods (Parent & Student)

All methods require await client.login() first. Session auto-renews after 3 minutes.

MethodOptionsDescription
------------------------------
getStudentInfo()Student profile and metadata
getActivity({ from, to, last_id? })Dates YYYY-MM-DD, optional paginationActivity feed (paginated)
getFullActivity({ from, to })Dates YYYY-MM-DDActivity between dates (auto-paginates)
getBehaviour({ from?, to? })Dates YYYY-MM-DDBehaviour points timeline and reasons
getHomeworks({ from?, to?, displayDate? })Dates, displayDate: "due_date" \"issue_date"Homework list
getLessons({ date })date: YYYY-MM-DDTimetable for a specific date
getBadges()Earned badges
getAnnouncements()School announcements
getDetentions()Detentions
getAttendance({ from, to })Dates YYYY-MM-DDAttendance records
getPupilFields()Custom pupil fields/stats

Parent-only methods

MethodDescription
---------------------
getPupils()List pupils linked to parent account
selectPupil(pupilId)Set active pupil for subsequent requests
changePassword(current, new)Change parent account password

Student-only methods

MethodDescription
---------------------
getRewards()Rewards shop items and balance
purchaseReward(itemId)Purchase item from rewards shop
getStudentCode({ dateOfBirth })Get student code (dateOfBirth: YYYY-MM-DD)

Quick examples

// Homework for date range
const homeworks = await client.getHomeworks({
  from: "2024-03-01",
  to: "2024-03-31",
  displayDate: "due_date",
});

// Today's timetable
const today = new Date().toISOString().slice(0, 10); // YYYY-MM-DD
const lessons = await client.getLessons({ date: today });

// Behaviour summary
const behaviour = await client.getBehaviour({
  from: "2024-01-01",
  to: "2024-03-10",
});

// Student: list rewards shop and purchase
const rewards = await client.getRewards();
const purchase = await client.purchaseReward(rewards.data[0].id);

Response shape

Responses follow ClassChartsResponse:

{
  success: 1,
  data: T,      // Array or object depending on endpoint
  meta: M,      // Session ID, dates, counts, etc.
  error?: string
}

Errors throw if success === 0.

When to use this skill

  • User asks about ClassCharts, school homework, behaviour points, timetable, detentions, attendance, or rewards.
  • User wants to script, integrate, or automate ClassCharts data.
  • User mentions parent/student portal in the context of UK schools and ClassCharts.

Links

版本历史

共 2 个版本

  • v1.0.1 当前
    2026-05-03 04:58 安全 安全
  • v1.0.0
    2026-03-31 10:24 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

communication-collaboration

Himalaya

lamelas
{"answer":"通过IMAP/SMTP管理邮件的CLI。可在终端使用 `himalaya` 收发、回复、转发、搜索及整理邮件。支持多账户与MML(MIME元语言)编写邮件。"}
★ 68 📥 45,596
communication-collaboration

imap-smtp-email

gzlicanyi
使用IMAP/SMTP读取和发送邮件;检查新/未读邮件、获取内容、搜索邮箱、标记已读/未读、发送带附件的邮件。支持...
★ 114 📥 52,449
productivity

Hive Home

m0nkmaster
通过非官方API控制和查询Hive Home (UK)智能供暖、热水、灯光及设备。当用户提及Hive、Hive Home、Hive恒温...时使用。
★ 0 📥 578