Skip to content
This repository has been archived by the owner on Oct 9, 2021. It is now read-only.
/ chatwork-api-client Public archive

Chatwork API v2 client for TypeScript JavaScript, and CLI.

License

Notifications You must be signed in to change notification settings

aku11i/chatwork-api-client

Repository files navigation

Chatwork API Client

build publish

Chatwork API v2 用のクライアントライブラリです。
CLI も用意されています。

No longer maintained

作者が Chatwork を使用しなくなったため、基本的にはこれ以上メンテナンスされません。

Features

  • Chatwork API v2 の全てのエンドポイントに対応しています。
  • TypeScript 向けの完全な型定義があります。
  • CLI もあります。 (chatwork-api-client).
  • Node.js 12 以上で動作します。
  • ブラウザで動作するかは確認していません。

API

Installation

npm install --save chatwork-api-client
# yarn add chatwork-api-client

Usage

import ChatworkApi from "chatwork-api-client";
// const ChatworkApi = require("chatwork-api-client").default;

const api = new ChatworkApi("YOUR_API_TOKEN");
// process.env.CHATWORK_API_TOKEN をセットしていればAPIトークンを渡す必要はありません。

(async () => {
  const me = await api.getMe();
  const { name, account_id } = me;
})();

CLI

Installation

npm install --global chatwork-api-client

Usage

chatwork-api-client --help

# alias
# chapi --help

Docker

https://hub.docker.com/r/aktriver/chatwork-api-client

docker pull aktriver/chatwork-api-client:latest
docker run --rm --env "CHATWORK_API_TOKEN=YOUR_API_TOKEN" aktriver/chatwork-api-client:latest --help

Help

chatwork-api-client --help
Usage: chatwork-api-client [options] [command]

Options:
  -V, --version                                         output the version number
  -h, --help                                            display help for command

Commands:
  get-me [options]                                      自分自身の情報を取得
  get-my-status [options]                               自分の未読数、未読To数、未完了タスク数を返す
  get-my-tasks [options]                                自分のタスク一覧を取得する。(※100件まで取得可能。今後、より多くのデータを取得する為のページネーションの仕組みを提供予定)
  get-contacts [options]                                自分のコンタクト一覧を取得
  get-rooms [options]                                   自分のチャット一覧の取得
  post-room [options]                                   グループチャットを新規作成
  get-room [options] <room_id>                          チャットの名前、アイコン、種類(my/direct/group)を取得
  put-room [options] <room_id>                          チャットの名前、アイコンをアップデート
  delete-room [options] <room_id>                       グループチャットを退席/削除する
  get-room-members [options] <room_id>                  チャットのメンバー一覧を取得
  put-room-members [options] <room_id>                  チャットのメンバーを一括変更
  get-room-messages [options] <room_id>                 チャットのメッセージ一覧を取得。パラメータ未指定だと前回取得分からの差分のみを返します。(最大100件まで取得)
  post-room-message [options] <room_id>                 チャットに新しいメッセージを追加
  put-room-messages-read [options] <room_id>            メッセージを既読にする
  put-room-messages-unread [options] <room_id>          メッセージを未読にする
  get-room-message [options] <room_id> <message_id>     メッセージ情報を取得
  put-room-message [options] <room_id> <message_id>     チャットのメッセージを更新する。
  delete-room-message [options] <room_id> <message_id>  メッセージを削除
  get-room-tasks [options] <room_id>                    チャットのタスク一覧を取得 (※100件まで取得可能。今後、より多くのデータを取得する為のページネーションの仕組みを提供予定)
  post-room-task [options] <room_id>                    チャットに新しいタスクを追加
  get-room-task [options] <room_id> <task_id>           タスク情報を取得
  put-room-task-status [options] <room_id> <task_id>    タスク完了状態を変更する
  get-room-files [options] <room_id>                    チャットのファイル一覧を取得 (※100件まで取得可能。今後、より多くのデータを取得する為のページネーションの仕組みを提供予定)
  post-room-file [options] <room_id>                    チャットに新しいファイルをアップロード
  get-room-file [options] <room_id> <file_id>           ファイル情報を取得
  get-room-link [options] <room_id>                     招待リンクを取得する
  post-room-link [options] <room_id>                    招待リンクを作成する
  put-room-link [options] <room_id>                     招待リンクの情報を変更する
  delete-room-link [options] <room_id>                  招待リンクを削除する
  get-incoming-requests [options]                       自分に対するコンタクト承認依頼一覧を取得する(※100件まで取得可能。今後、より多くのデータを取得する為のページネーションの仕組みを提供予定)
  put-incoming-request [options] <request_id>           自分に対するコンタクト承認依頼を承認する
  delete-incoming-request [options] <request_id>        自分に対するコンタクト承認依頼をキャンセルする
  help [command]                                        display help for command

API Token

環境変数 CHATWORK_API_TOKEN をセットすることでソースコード内での API トークンの指定を省略できます。

Contribution

Setup

git clone --recursive https://github.com/aku11i/chatwork-api-client.git
cd chatwork-api-client

npm install

Build

npm run build

Test

実際に Chatwork のマイチャットへの投稿を行うことをテストとします。
環境変数 CHATWORK_API_TOKEN をセットしてください。

npm run test

CLI

CLI コマンドの実行を確認できます。

npm --silent start -- --help