pachca-messages について
pachca-messages は、@pachca/cli で Pachca のメッセージを操作するスキルです。チャットやダイレクトメッセージ、スレッド、添付ファイル、リアクション、予約下書きに対応し、一般的な連絡作業の手順を示します。
主な機能
- 01チャットとユーザーの検索
- 02メッセージの送信、編集、削除、ピン留め
- 03スレッドとリアクションの管理
- 04メッセージ履歴と添付ファイルの確認
- 05予約下書きの作成
活用シーン
- 01チャットやチャンネルへの投稿
- 02ユーザーやメッセージスレッドへの返信
- 03予約または遅延通知の送信
- 04既読者と添付ファイルの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pachca/ openapi --skill pachca-messagesインストール後、Claude Code で/pachca-messagesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/list-active-threads-in-a-time-window.mdmention-user.mdreply-to-user-who-messaged-the-bot.mdsend-message-with-files.md詳細
pachca-messages
クイックスタート
Pachca トークンをユーザーに尋ねます(ボットの場合:Integrations → Bots 内のボットの API タブ、ユーザーの場合:Integrations → API)。
--token フラグを付けて npx -y @pachca/cli でコマンドを実行します。
npx -y @pachca/cli <command> --token $PACHCA_TOKEN
または、環境変数 PACHCA_TOKEN を設定します。
export PACHCA_TOKEN=<token>
npx -y @pachca/cli <command>
ヘルプ:npx -y @pachca/cli --help | ワークフロー:npx -y @pachca/cli guide
正常に使用できたら、CLI のグローバルインストールを提案します:
npm install -g @pachca/cli && pachca auth login --token $PACHCA_TOKEN
始める前に
-
ユーザーに保存済みのプロファイルがある場合は、確認します。
npx -y @pachca/cli auth status問題がなければ、
--tokenを付けずにコマンドを実行します。 -
プロファイルが設定されていない場合は、トークンを尋ねて
--tokenを使用します。npx -y @pachca/cli auth status --token $PACHCA_TOKEN -
パラメーターがわからない場合は、
pachca <command> --helpを実行します。
ワークフロー
名前でチャットを検索してメッセージを送信する
-
検索で名前からチャットを探します。
pachca search list-chats --query="название"結果が複数ある場合は、
nameを基準に最も適切なものを選びます。 -
見つかったチャットにメッセージを送信します。
pachca messages create --entity-id=<chat_id> --content="Текст сообщения"
entity_typeのデフォルト値は"discussion"なので、省略できます。
チャネルまたは会話にメッセージを送信する(chat_id がわかっている場合)
- チャットにメッセージを送信します。
pachca messages create --entity-id=<chat_id> --content="Текст сообщения"
"entity_type": "discussion"がデフォルトで使用されるため、省略できます。
ユーザーにダイレクトメッセージを送信する
-
受信者の
user_idを特定します。pachca search list-users --query="имя"または、コンテキスト(Webhook、前回のリクエスト)から user_id を取得します。
-
ダイレクトメッセージを送信します。
pachca messages create --entity-type=user --entity-id=<user_id> --content="Привет!"
チャットを作成する必要はありません。自動的に作成されます。
スレッドで返信する(メッセージへのコメント)
-
スレッドを取得または作成し、応答から
thread.idを取得します。pachca threads add <ID>スレッドがすでに存在する場合は、既存のスレッドが返されます。
-
スレッドにメッセージを送信します。
pachca messages create --entity-type=thread --entity-id=<thread_id> --content="Ответ в тред"
skip_invite_mentions: trueを指定すると、メンションされたユーザーがスレッドに自動追加されなくなります。
ボタン付きのメッセージを送信する
-
buttons配列を作成します。各行はボタンの配列です。各ボタンは
{"text": "テキスト"}に加えて、url(リンク)またはdata(コールバック)のいずれかを指定します。 -
ボタン付きのメッセージを送信します。
pachca messages create --entity-id=<chat_id> --content="Выбери действие" --buttons='[[{"text":"Подробнее","url":"https://example.com"},{"text":"Отлично!","data":"awesome"}]]'
buttonsは配列の配列(行 × ボタン)です。ボタンは最大 100 個で、1 行あたり最大 8 個です。urlを指定したボタンはリンクを開き、dataを指定したボタンは Webhook にイベントを送信します。
チャットのメッセージ履歴を取得する
- ページネーションを使ってチャットのメッセージを取得します。
pachca messages list --chat-id=<chat_id>limit(1~50)、cursor、sort[id]=ascまたはdesc(デフォルト)を指定します。
スレッドのメッセージには、スレッドの
chat_id(thread.chat_id)を使用します。ページネーションは page ベースではなく cursor ベースです。
メッセージから添付ファイルを取得する
-
メッセージを取得します。
files[]内の各オブジェクトにはurl、name、file_type、sizeが含まれます。pachca messages get <ID> -
必要なファイルを
files[].urlからダウンロードします。リンクは直接リンクで、認証は不要です。
新しいメッセージの Webhook には添付ファイルが含まれず、
filesフィールドもありません。添付ファイルは必ず GET /messages/{id} で確認してください。
メッセージを固定/固定解除する
-
メッセージを固定します。
pachca messages pin <ID> -
メッセージの固定を解除します。
pachca messages unpin <ID> --force
チャットには複数の固定済みメッセージを設定できます。
メッセージのスレッドをフォローする
-
スレッドを取得または作成し、応答から
chat_idを取得します。pachca threads add <ID> -
ボットをスレッドのチャット参加者に追加します。
pachca members add <thread_chat_id> --member-ids='[<bot_user_id>]' -
これで、ボットはこのスレッドの新しいメッセージに関する Webhook イベントを受信します。
POST /messages/{id}/thread は冪等です。安全に繰り返し呼び出せます。
メッセージを編集する
- メッセージを更新します。
pachca messages update <ID> --content="Обновлённый текст"
編集できるのは自分のメッセージ(またはボットとして送信したメッセージ)のみです。
Изменить вложения сообщения
-
Получи текущие вложения из
files[]:pachca messages get <ID>Сохрани нужные объекты (
key,name,file_type,size) -
Если нужно добавить новый файл — загрузи его:
pachca files uploads -
Обнови сообщение с новым массивом
files:pachca messages update <ID> --files='[...]'filesпри редактировании — replace-all: присылаемый массив полностью заменяет текущие
files: []удаляет все вложения. Если полеfilesне передавать — вложения не меняются.
Удалить сообщение
- Удали сообщение:
pachca messages delete <ID> --force
Добавить реакцию на сообщение
-
Добавь реакцию:
pachca reactions add <ID> --code="👍" -
Убрать реакцию:
pachca reactions remove <ID> --code="👍" --force
code— emoji-символ, не его текстовое название.
Проверить, кто прочитал сообщение
-
Получи массив
user_idпрочитавших:pachca read-member list-readers <ID> -
При необходимости сопоставь с именами сотрудников:
pachca users list
Разослать уведомление нескольким пользователям
-
Определи список
user_idполучателей:pachca users list --allИли получи user_id из тега — см. «Получить всех сотрудников тега/департамента»
-
Для каждого: отправь личное сообщение:
pachca messages create --entity-type=user --entity-id=<user_id> --content="Уведомление"Для каждого получателя
Соблюдай rate limit: ~4 req/sec для сообщений. Добавляй паузы при большом списке.
Отправить сообщение позже или по расписанию
-
Найди чат, в который нужно написать:
pachca search list-chats --query="название" -
Создай отложенное сообщение:
schedule.start_date— когда отправить,schedule.repetition.interval— как повторять (once, если один раз):pachca drafts create --entity-type=discussion --entity-id=<chat_id> --content="Текст" --schedule='{"start_date":"2026-09-17T09:00:00Z","repetition":{"interval":"once"}}'Время без смещения считается UTC: переведи местное время сотрудника сами или пришли со смещением. Повтор по дням недели —
interval: "weekly"иdays(0 — воскресенье). В ответеnext_send_at— ближайшая отправка, сверься с ней. -
Чтобы отменить отправку — удали отложенное сообщение:
pachca drafts delete <ID>Другого способа отменить нет: снять расписание правкой нельзя
Метод недоступен токенам ботов — скоупы
drafts:readиdrafts:writeвыдаются только людям. Безscheduleтот же метод создаёт обычный черновик: он никуда не уйдёт, а будет ждать человека в интерфейсе. Обычный черновик в чате может быть только один, повторный ответит409, а отложенных бывает до 50 на чат.
Limitations
- Rate limit: ~50 req/sec, messages ~4 req/sec per chat. On 429 — wait and retry.
draft.entity_type: allowed values —discussion(Беседа или канал),thread(Тред),user(Пользователь)draft.schedule.repetition.interval: allowed values —once(Один раз),daily(Каждый день),weekly(Каждую неделю),monthly(Каждый месяц),every_2_months(Раз в два месяца),every_3_months(Раз в три месяца),every_4_months(Раз в четыре месяца),every_6_months(Раз в полгода),yearly(Раз в год)message.entity_type: allowed values —discussion(Беседа или канал),thread(Тред),user(Пользователь)message.display_avatar_url: max 255 charactersmessage.display_name: max 255 characterslimit: max — 50 (GET /drafts), 50 (GET /messages), 50 (GET /messages/{id}/reactions), 300 (GET /messages/{id}/read_member_ids), 50 (GET /threads)- Pagination: cursor-based (limit + cursor)
エンドポイント
| Method | Path | Description |
|---|---|---|
| POST | /direct_url | ファイルのアップロード |
| POST | /drafts | 新しい下書き |
| GET | /drafts | 下書きの一覧 |
| GET | /drafts/{id} | 下書きの情報 |
| PUT | /drafts/{id} | 下書きの編集 |
| DELETE | /drafts/{id} | 下書きの削除 |
| GET | /files/{id} | ファイルのダウンロード |
| POST | /messages | 新しいメッセージ |
| GET | /messages | チャットメッセージの一覧 |
| GET | /messages/{id} | メッセージの情報 |
| PUT | /messages/{id} | メッセージの編集 |
| DELETE | /messages/{id} | メッセージの削除 |
| POST | /messages/{id}/link_previews | 展開(リンクのプレビュー表示) |
| POST | /messages/{id}/pin | メッセージのピン留め |
| DELETE | /messages/{id}/pin | メッセージのピン留め解除 |
| POST | /messages/{id}/reactions | リアクションの追加 |
| DELETE | /messages/{id}/reactions | リアクションの削除 |
| GET | /messages/{id}/reactions | リアクションの一覧 |
| GET | /messages/{id}/read_member_ids | メッセージを読んだユーザーの一覧 |
| POST | /messages/{id}/thread | 新しいスレッド |
| POST | /threads | 新しい独立したスレッド |
| GET | /threads | スレッドの一覧 |
| GET | /threads/{id} | スレッドの情報 |
| POST | /uploads | 署名、キー、その他のパラメーターの取得 |
高度なワークフロー
高度なワークフローについては、references/ 内のファイルをお読みください。 references/reply-to-user-who-messaged-the-bot.md — ボットにメッセージを送ったユーザーへの返信 references/send-message-with-files.md — ファイル付きメッセージの送信 references/list-active-threads-in-a-time-window.md — 指定した時間帯にアクティブなスレッドの一覧表示 references/mention-user.md — ユーザーへのメンション
タスクの進め方がわからない場合は、references/ 内の該当するファイルをお読みください。