# 固定メッセージ

## 固定メッセージ <a href="#undefined" id="undefined"></a>

チャットで固定メッセージ(Pinned Message)とは、チャットルームやグループ会話で重要なメッセージをチャンネルや会話ウィンドウの上部に固定する機能を指します。この機能は、参加者がそのチャットを開くたびに簡単に見ることができ、重要な情報や通知を見逃さないようにするのに役立ちます。以下は、固定メッセージの主な特徴と活用方法についての説明です。

### 固定メッセージの活用方法 <a href="#undefined" id="undefined"></a>

* **会議日程のお知らせ** : 定期的な会議や重要なイベントの日程を固定メッセージに設定し、参加者が日程を忘れないようにします。
* **重要文書のリンク** : 重要な文書や資料のリンクを固定して、すべての参加者が簡単にアクセスできるようにします。
* **ルールとガイドラインの共有** : チャットルームのルールやプロジェクトのガイドラインを固定メッセージとして設定し、新しい参加者も簡単にガイドラインを確認できるようにします。
* **緊急速報** : 緊急に伝えるべき内容や変更点を固定メッセージで素早く共有できます。

固定メッセージ機能は様々なコミュニケーションプラットフォームで提供されており、これを効果的に活用することでチームコミュニケーションの効率を大幅に向上させることができます。

### 固定メッセージ作成 <a href="#undefined" id="undefined"></a>

チャットアプリケーションで重要なメッセージをユーザーが簡単に見られるように上部に固定する機能です。以下の C#コードは、チャットチャンネルでメッセージを固定する方法を示しています。

```csharp
var newPin = await nc.createPin(channelId, messageId, pinned, pinnedAt, expiredAt);
```

* `channelId`: メッセージが固定されるチャットチャンネルの固有 IDです。
* `pinned`: 固定するメッセージの内容です。
* `pinnedAt`: メッセージが固定された時刻を示します。
* `expiredAt`: メッセージの固定が解除される時刻です。

この関数を使用すると、特定のチャットチャンネル内で重要なメッセージを簡単にハイライトして表示できます。

### 固定メッセージ変更 <a href="#undefined" id="undefined"></a>

既存の固定メッセージの情報を更新するための機能です。メッセージの内容、固定時刻、または有効期限を変更できます。

```csharp
var updatedPin = await nc.updatePin(id, channelId, pinned, pinnedAt, expiredAt);
```

* `channelId`: 変更するメッセージがあるチャンネルの IDです。
* `pinned`: 変更されたメッセージの内容です。
* `pinnedAt`: メッセージが新しく固定された時刻です。
* `expiredAt`: メッセージ固定の新しい有効期限です。

このコードは、既に固定されたメッセージの詳細を変更するときに使用され、メッセージの重要性が変更されたり固定時間を調整する必要がある場合に便利です。

### 固定メッセージ情報 <a href="#undefined" id="undefined"></a>

特定メッセージの固定関連情報を照会する機能です。これにより、メッセージの固定ステータス、固定時刻、有効期限などを確認できます。

```csharp
var pin = await nc.getPin(channelId, messageId);
```

* `channelId`: 情報を照会するチャンネルの IDです。
* `messageId`: 固定されたメッセージの固有 IDです。

この関数を通じて特定のメッセージが現在どのようなステータスであるかを確認でき、管理者やユーザーがチャンネル内のメッセージをより効果的に管理するのに役立ちます。

### 固定メッセージリスト <a href="#undefined" id="undefined"></a>

チャットチャンネルで現在固定されているすべてのメッセージのリストを照会する機能です。この関数はページングをサポートし、大規模なチャンネルでも効率的にデータを処理できます。`offset`と `per_page`を設定することで、ユーザーは希望する範囲のデータを取得できます。

```csharp
Hashtable filter = new Hashtable
{
    { "channel_id", channelId },
};
Hashtable sort = new Hashtable
{
    { "created_at", -1 },
};
Hashtable option = new Hashtable
{
    { "offset", 0 },
    { "per_page", 10 },
};
var pins = await nc.getPins(channelId, filter, sort, option);
```

#### **パラメータの説明**

* **filter** : 照会するデータをフィルタリングするための条件を定義します。例えば、特定のチャンネルで固定メッセージを照会できます。
* **sort** : 結果リストのソート方法を定義します。ここでは、作成時間(`created_at`)を基準に降順(-1)ソートを使用します。
* **option** : 照会時に使用するオプションを定義します。`offset`は照会開始位置、`per_page`はページごとに表示されるメッセージの数を指定します。

#### **オプションの詳細**

<table><thead><tr><th width="148">ID</th><th width="112">Type</th><th>Description</th></tr></thead><tbody><tr><td>offset</td><td>number</td><td>データをインポートする開始位置です。</td></tr><tr><td>per_page</td><td>number</td><td>1ページあたりに返すメッセージの数、最大100個まで設定可能です。</td></tr></tbody></table>

この機能を使用すると、チャンネル管理者はチャンネル内で重要なメッセージを簡単にモニタリングして管理できます。また、特定のユーザーや時間基準で固定メッセージを素早く検索・ソートでき、チャンネルの効率的な運用に役立ちます。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gamechat.me/basics/game-chat-v3/game-chat-ri-ben-yu/v3nowo/messji-1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
