1.0.3 • Published 10 months ago

node-ticktick v1.0.3

Weekly downloads
-
License
GNU GENERAL PUBLI...
Repository
github
Last release
10 months ago

node-ticktick

API wrapper/client for TickTick Web API (unofficial) Still under development but already usable.

All async methods return promise based types and can be awaited.

Example

import { TickTickClient } from "node-ticktick";

const tt = new TickTickClient('username', 'password');
tt.login().then(() => {
    tt.getProfile().then((result) => {
        console.log(result);
    });
})

Methods

Import the wrapper

import { TickTickClient } from "node-ticktick";

Create a new instance of the wrapper

const tt = new TickTickClient('username', 'password');

Login (async)

tt.login();

Get profile (async)

tt.getProfile();

Get Projects (async)

tt.getProjects();

Create Task (async)

tt.createTask(task: TickTickTask);

Objects

TickTickProfile

{
    accountDomain?: any
    createdCampaign: string
    createdDeviceInfo?: any
    displayName: string
    email?: any
    etimestamp?: any
    extenalId?: any
    externalId?: any
    fakedEmail: boolean
    familyName?: any
    filledPassword: boolean
    gender?: any
    givenName?: null
    link?: any
    locale: string
    name: string
    phone?: any
    picture: string
    siteDomain: string
    userCode: string
    username: string
    verCode?: any
    verKey?: any
    verifiedEmail: true
}

TickTickProject

{
    closed: boolean
    color?: any
    etag: string
    groupId?: any
    id: string
    inAll: boolean
    isOwner: boolean
    kind: string
    modifiedTime: string
    muted: boolean
    name: string
    notificationOptions: []
    permission: string
    sortOrder: number
    sortType: string
    teamId?: any
    timeline?: any
    transferred?: any
    userCount: number
    viewMode?: any
}

TickTickReminder

{
    id: string, // "623d8246264b5243bdf24577"
    trigger: string // "TRIGGER:-PT60M"
}

TickTickTask

{
    id: string | ObjectID,
    title: string, // "test notification"
    assignee: any,
    content: string,
    createdTime: string, // datetime "2022-03-25T08:45:40.000+0000" note: missing : at the end from normal ISO 8601
    dueDate: string | null, // datetime "2022-03-25T08:45:40.000+0000" note: missing : at the end from normal ISO 8601
    exDate: any[],
    isFloating: boolean,
    isAllDay?: boolean,
    items: [],
    kind: Kind | null,
    modifiedTime: string, // datetime "2022-03-25T08:45:40.000+0000" note: missing : at the end from normal ISO 8601
    priority: Priority, // 0
    progress: number, // 0
    projectId: string, // "inbox117452138"
    reminders: TickTickReminder[], // not supported yet
    repeatFlag?: string, // "RRULE:FREQ=DAILY;INTERVAL=1"
    repeatFrom?: string, // "2"
    sortOrder: number, // -202859895324672
    startDate: string | null, // datetime "2022-03-25T08:45:40.000+0000" note: missing : at the end from normal ISO 8601
    status: Status, // 0 is TODO
    tags: [],
    timeZone: string // "Europe/Amsterdam"
}

enum Status {
    TODO = 0,
    UNKNOWN = 1,
    COMPLETED = 2
}

enum Priority {
    NONE = 0,
    LOW = 1,
    MEDIUM = 3,
    HIGH = 5
}

enum Kind {
    TEXT = 'TEXT',
    CHECKLIST = 'CHECKLIST'
}

TickTickUser

{
    token: string,
    userId: number,
    username: string,
    inboxId: string,
    proStartDate?: string,
    proEndDate?: string,
    subscribeType?: string,
    subscribeFreq?: string,
    needSubscribe?: boolean,
    freq?: string,
    teamUser?: boolean,
    activeTeamUser?: boolean,
    freeTrial?: boolean,
    pro?: boolean,
    ds?: boolean
}
1.0.3

10 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago