mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-07-20 05:27:59 +08:00
Merge branch 'master' into feat/wechatcom-kf-channel
This commit is contained in:
43
docs/ja/channels/index.mdx
Normal file
43
docs/ja/channels/index.mdx
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: チャネル一覧
|
||||
description: CowAgent が対応するチャネルと機能マトリクス
|
||||
---
|
||||
|
||||
CowAgent は複数のチャットチャネルへの接続に対応しており、起動時に `channel_type` で切り替えます。Web コンソールはデフォルトで有効で、他の接続チャネルと並行して動作します。
|
||||
|
||||
## 機能マトリクス
|
||||
|
||||
下表は各チャネルが対応する受信メッセージタイプ、ボットの返信タイプ、グループチャット機能をまとめたものです。シーンに合わせて選択してください。
|
||||
|
||||
| チャネル | テキスト | 画像 | ファイル | 音声 | グループチャット |
|
||||
| --- | :-: | :-: | :-: | :-: | :-: |
|
||||
| [WeChat](/ja/channels/weixin) | ✅ | ✅ | ✅ | ✅ | |
|
||||
| [Web コンソール](/ja/channels/web) | ✅ | ✅ | ✅ | ✅ | |
|
||||
| [Feishu](/ja/channels/feishu) | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| [DingTalk](/ja/channels/dingtalk) | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| [WeCom スマートボット](/ja/channels/wecom-bot) | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| [QQ](/ja/channels/qq) | ✅ | ✅ | ✅ | | ✅ |
|
||||
| [WeCom アプリ](/ja/channels/wecom) | ✅ | ✅ | ✅ | ✅ | |
|
||||
| [WeChat 公式アカウント](/ja/channels/wechatmp) | ✅ | ✅ | | ✅ | |
|
||||
| [Telegram](/ja/channels/telegram) | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| [Slack](/ja/channels/slack) | ✅ | ✅ | ✅ | | ✅ |
|
||||
|
||||
- **画像 / ファイル / 音声**列は対応するメッセージタイプの送受信に対応していることを示します。詳細は各チャネルのドキュメントを参照してください
|
||||
- **グループチャット**列はグループメッセージを認識して応答できることを示します
|
||||
|
||||
<Tip>
|
||||
各チャネルの音声 / 画像機能は、対応するモデルプロバイダーの設定に依存します。詳細は [モデル一覧](/ja/models) を参照してください。
|
||||
</Tip>
|
||||
|
||||
## チャネル一覧
|
||||
|
||||
- [Web コンソール](/ja/channels/web) — 組み込みのブラウザ対話・管理パネル、デフォルトで有効
|
||||
- [WeChat](/ja/channels/weixin) — 個人 WeChat の QR コードログイン
|
||||
- [Feishu](/ja/channels/feishu) — Feishu 自作ボット
|
||||
- [DingTalk](/ja/channels/dingtalk) — DingTalk 自作ボット
|
||||
- [WeCom スマートボット](/ja/channels/wecom-bot) — WeCom スマートボット
|
||||
- [QQ](/ja/channels/qq) — QQ 公式ボットオープンプラットフォーム
|
||||
- [WeCom アプリ](/ja/channels/wecom) — WeCom 自作アプリ接続
|
||||
- [WeChat 公式アカウント](/ja/channels/wechatmp) — WeChat 公式アカウント(購読アカウント / サービスアカウント)
|
||||
- [Telegram](/ja/channels/telegram) — グローバル IM、5 分で接続、公開 IP 不要
|
||||
- [Slack](/ja/channels/slack) — チームコラボレーション IM、Socket Mode 接続、公開 IP 不要
|
||||
118
docs/ja/channels/slack.mdx
Normal file
118
docs/ja/channels/slack.mdx
Normal file
@@ -0,0 +1,118 @@
|
||||
---
|
||||
title: Slack
|
||||
description: Slack App 経由で CowAgent を接続
|
||||
---
|
||||
|
||||
> Slack App の **Socket Mode** を通じて CowAgent を接続します。ダイレクトメッセージ(DM)およびチャンネル(@メンションまたはスレッド内の返信で起動)に対応。Socket Mode は WebSocket の常時接続を使うため公開 IP やコールバック URL は不要で、すぐに利用できます。
|
||||
|
||||
## 1. 接続手順
|
||||
|
||||
### ステップ 1: Slack App を作成
|
||||
|
||||
1. [Slack API アプリ管理ページ](https://api.slack.com/apps) を開き、**Create New App** → **From scratch** をクリックします。
|
||||
2. **App Name**(例: `CowAgent`)を入力し、インストール先の **Workspace** を選択して作成します。
|
||||
|
||||
### ステップ 2: Socket Mode を有効化し App Token を取得
|
||||
|
||||
1. 左メニューの **Settings → Socket Mode** で **Enable Socket Mode** をオンにします。
|
||||
2. `connections:write` スコープを持つ **App-Level Token** の生成を求められます。`xapp-` で始まるこの Token を保存してください。
|
||||
|
||||
<Tip>
|
||||
Socket Mode は WebSocket 接続でイベントを受信するため、公開コールバック URL を公開する必要がありません。ローカルやイントラネットでの運用に最適です。
|
||||
</Tip>
|
||||
|
||||
### ステップ 3: Bot 権限を設定してインストール
|
||||
|
||||
1. **Features → OAuth & Permissions** を開き、**Bot Token Scopes** で **Add an OAuth Scope** をクリックして以下を 1 つずつ追加します:
|
||||
|
||||
```
|
||||
app_mentions:read
|
||||
channels:history
|
||||
chat:write
|
||||
commands
|
||||
files:read
|
||||
files:write
|
||||
groups:history
|
||||
im:history
|
||||
mpim:history
|
||||
users:read
|
||||
```
|
||||
|
||||
<Note>
|
||||
`files:read` / `files:write` は画像・ファイルの送受信に使用します。テキスト会話のみであれば省略可能です。
|
||||
</Note>
|
||||
|
||||
2. **Features → Event Subscriptions** を開き、**Enable Events** をオンにして、**Subscribe to bot events** で **Add Bot User Event** をクリックし、以下を追加します:
|
||||
|
||||
```
|
||||
app_mention
|
||||
message.im
|
||||
message.channels
|
||||
```
|
||||
|
||||
<Note>
|
||||
非公開チャンネルで使用する場合は `message.groups` も追加してください。
|
||||
</Note>
|
||||
3. **Features → App Home** を開き、**Show Tabs** 内の **Messages Tab** を有効にして、下の **Allow users to send Slash commands and messages from the messages tab**(メッセージタブからの送信を許可)にチェックを入れます。これを行わないと DM の入力欄が無効化され、ボットにメッセージを送れません。
|
||||
4. **OAuth & Permissions** に戻り、**Install to Workspace** をクリックしてインストールします。インストール後、`xoxb-` で始まる **Bot User OAuth Token** を取得します。
|
||||
|
||||
<Tip>
|
||||
Slack クライアントで「このアプリへのメッセージ送信は無効です」と表示される場合は、上記の App Home 設定が完了しているか確認し、Slack クライアントを再読み込み/再起動してください(必要に応じてアプリを会話一覧から削除して再度開きます)。
|
||||
</Tip>
|
||||
|
||||
### ステップ 4: CowAgent に接続
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Web コンソール(推奨)">
|
||||
Web コンソール(既定 `http://127.0.0.1:9899`)を開き、**チャネル** メニュー → **チャネルを追加** → **Slack** を選択し、Bot Token(`xoxb-`)と App Token(`xapp-`)を貼り付けて接続をクリックします。
|
||||
</Tab>
|
||||
<Tab title="設定ファイル">
|
||||
`config.json` に以下を追加して Cow を起動します:
|
||||
|
||||
```json
|
||||
{
|
||||
"channel_type": "slack",
|
||||
"slack_bot_token": "xoxb-xxxxxxxxxxxx",
|
||||
"slack_app_token": "xapp-xxxxxxxxxxxx",
|
||||
"slack_group_trigger": "mention_or_reply"
|
||||
}
|
||||
```
|
||||
|
||||
| パラメータ | 説明 | 既定値 |
|
||||
| --- | --- | --- |
|
||||
| `slack_bot_token` | Bot User OAuth Token、`xoxb-...` の形式 | - |
|
||||
| `slack_app_token` | App-Level Token(Socket Mode 有効化後に生成)、`xapp-...` の形式 | - |
|
||||
| `slack_group_trigger` | チャンネルのトリガー方式: `mention_or_reply`(@ またはスレッド返信)/ `mention_only`(@ のみ)/ `all`(全メッセージ) | `mention_or_reply` |
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
ログに以下のような出力が表示されれば接続成功です:
|
||||
|
||||
```
|
||||
[Slack] Bot logged in as user_id=U0XXXXXXX, team=Txxxxxxxx
|
||||
[Slack] ✅ Slack bot ready, listening for events
|
||||
```
|
||||
|
||||
## 2. 機能
|
||||
|
||||
| 機能 | 対応状況 |
|
||||
| --- | --- |
|
||||
| ダイレクトメッセージ(DM) | ✅ |
|
||||
| チャンネル(@bot / スレッド返信) | ✅ |
|
||||
| テキストメッセージ | ✅ 送受信 |
|
||||
| 画像メッセージ | ✅ 送受信 |
|
||||
| ファイルメッセージ | ✅ 送受信(PDF / Word / Excel など) |
|
||||
| スレッド返信 | ✅ 起動メッセージのスレッドに返信を送信 |
|
||||
|
||||
<Note>
|
||||
Slack はスレッドで会話を整理します。Bot は起動メッセージのスレッドに返信を送信するため、チャンネルがすっきりします。
|
||||
</Note>
|
||||
|
||||
## 3. 使い方
|
||||
|
||||
接続が完了したら:
|
||||
|
||||
- **ダイレクトメッセージ(DM)**: Slack の左サイドバー **Apps** からアプリを開き、直接メッセージを送ります。
|
||||
- **チャンネル**: アプリをチャンネルに招待し(`/invite @your-app`)、`@your-app こんにちは` で起動します。以降は同じスレッド内で返信すれば会話を継続できます。
|
||||
|
||||
画像やファイルを送るときは、添付の入力欄に **テキスト説明**(説明・質問)を書いて一緒に送信できます。Bot は添付ファイルと説明を合わせて回答します。先に添付を送り、その後に質問を送る形でも、2 つのメッセージは自動でまとめて処理されます。
|
||||
111
docs/ja/channels/telegram.mdx
Normal file
111
docs/ja/channels/telegram.mdx
Normal file
@@ -0,0 +1,111 @@
|
||||
---
|
||||
title: Telegram
|
||||
description: Telegram Bot API 経由で CowAgent を接続
|
||||
---
|
||||
|
||||
> 公式の Telegram Bot API を通じて CowAgent を接続します。1 対 1 チャットおよびグループチャット(@メンションまたはボットへの返信で起動)に対応。Long Polling 方式のため公開 IP は不要で、すぐに利用できます。
|
||||
|
||||
|
||||
## 1. 接続手順
|
||||
|
||||
### ステップ 1: BotFather で Bot を作成
|
||||
|
||||
1. Telegram で公式アカウント [@BotFather](https://t.me/BotFather) を開きます。
|
||||
2. `/newbot` を送り、案内に従って入力します:
|
||||
- **Bot 名**(表示名、例: `My CowAgent Bot`)
|
||||
- **Bot ユーザー名**(`bot` で終わる必要があります、例: `my_cowagent_bot`)
|
||||
3. 作成完了後、BotFather から **HTTP API Token**(例: `123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ`)が返されます。大切に保管してください。
|
||||
|
||||
<Tip>
|
||||
Token は Bot のパスワードに相当します。漏えいしないよう注意してください。万が一漏れた場合は `@BotFather` に `/revoke` を送って再発行できます。
|
||||
</Tip>
|
||||
|
||||
### ステップ 2:(グループ利用時)Privacy Mode を無効化
|
||||
|
||||
1 対 1 チャットのみ利用する場合はスキップ可能です。Telegram Bot は既定で **Privacy Mode** が有効で、グループ内では `@bot` 接尾辞付きのコマンド(例: `/start@your_bot`)と、Bot メッセージへの返信のみ受信できます。**通常の `@bot こんにちは` のようなテキストメッセージは届きません**。そのままだとグループで反応しないので、必要に応じて以下を設定してください。
|
||||
|
||||
`@BotFather` に対して:
|
||||
|
||||
1. `/setprivacy` を送信
|
||||
2. 作成した Bot を選択
|
||||
3. `Disable` を選択
|
||||
|
||||
<Note>
|
||||
設定後もグループで反応しない場合は、Bot を一度グループから外して再度追加してみてください。
|
||||
</Note>
|
||||
|
||||
### ステップ 3: CowAgent に接続
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Web コンソール(推奨)">
|
||||
Web コンソール(既定 `http://127.0.0.1:9899`)を開き、**チャネル** メニュー → **チャネルを追加** → **Telegram** を選択し、Bot Token を貼り付けて接続をクリックします。
|
||||
</Tab>
|
||||
<Tab title="設定ファイル">
|
||||
`config.json` に以下を追加して Cow を起動します:
|
||||
|
||||
```json
|
||||
{
|
||||
"channel_type": "telegram",
|
||||
"telegram_token": "123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ",
|
||||
"telegram_group_trigger": "mention_or_reply"
|
||||
}
|
||||
```
|
||||
|
||||
| パラメータ | 説明 | 既定値 |
|
||||
| --- | --- | --- |
|
||||
| `telegram_token` | BotFather から発行された HTTP API Token | - |
|
||||
| `telegram_group_trigger` | グループのトリガー方式: `mention_or_reply`(@ または返信)/ `mention_only`(@ のみ)/ `all`(全メッセージ) | `mention_or_reply` |
|
||||
| `telegram_register_commands` | 起動時に BotFather にコマンドメニューを登録するかどうか | `true` |
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
ログに以下のような出力が表示されれば接続成功です:
|
||||
|
||||
```
|
||||
[Telegram] Bot logged in as @my_cowagent_bot (id=123456789)
|
||||
[Telegram] Registered 10 bot commands
|
||||
[Telegram] ✅ Telegram bot ready, polling for updates
|
||||
```
|
||||
|
||||
## 2. 機能
|
||||
|
||||
| 機能 | 対応状況 |
|
||||
| --- | --- |
|
||||
| 1 対 1 チャット | ✅ |
|
||||
| グループチャット(@bot / Bot への返信) | ✅ |
|
||||
| テキストメッセージ | ✅ 送受信 |
|
||||
| 画像メッセージ | ✅ 送受信 |
|
||||
| 音声メッセージ | ✅ 送受信(OGG/Opus) |
|
||||
| 動画メッセージ | ✅ 送受信 |
|
||||
| ファイルメッセージ | ✅ 送受信(PDF / Word / Excel など) |
|
||||
| コマンドメニュー | ✅ Web コンソールの slash コマンドと一致 |
|
||||
|
||||
### コマンドメニュー
|
||||
|
||||
起動時に BotFather へコマンドメニューを自動登録します。Telegram の入力欄で `/` を入力するとサジェストが表示されます:
|
||||
|
||||
| コマンド | 説明 |
|
||||
| --- | --- |
|
||||
| `/help` | コマンドヘルプを表示 |
|
||||
| `/status` | 実行ステータスを確認 |
|
||||
| `/context` | 対話コンテキストを表示(`/context clear` でクリア) |
|
||||
| `/skill` | スキル管理(`/skill list`、`/skill install` など) |
|
||||
| `/memory` | 記憶管理(`/memory dream`) |
|
||||
| `/knowledge` | ナレッジベース管理(`/knowledge list` / `on` / `off`) |
|
||||
| `/config` | 現在の設定を表示 |
|
||||
| `/cancel` | 実行中の Agent タスクを中断 |
|
||||
| `/logs` | 最近のログを表示 |
|
||||
| `/version` | バージョンを表示 |
|
||||
|
||||
<Note>
|
||||
Telegram のコマンドメニューはトップレベルのコマンドのみ表示されます。サブコマンドはスペース区切りで入力します(例: `/skill list`、`/context clear`)。
|
||||
</Note>
|
||||
|
||||
## 3. 使い方
|
||||
|
||||
接続が完了したら:
|
||||
|
||||
- **1 対 1 チャット**: Telegram で Bot のユーザー名(例: `@my_cowagent_bot`)を検索し、`Start` をタップして会話を開始します。
|
||||
- **グループチャット**: Bot をグループに追加し、`@bot こんにちは` または **Bot のメッセージに返信** することで起動します。グループで反応しない場合は [ステップ 2](#ステップ-2-グループ利用時-privacy-mode-を無効化) の Privacy Mode 設定を確認してください。
|
||||
|
||||
画像やファイルを送るときは、添付欄の上の入力欄に **キャプション**(説明・質問)を直接書いて一緒に送信できます。Bot は添付ファイルとキャプションを合わせて回答します。先に添付を送り、その後に質問を送る形でも、2 つのメッセージは自動でまとめて処理されます。
|
||||
@@ -3,56 +3,65 @@ title: Web コンソール
|
||||
description: Web コンソールで CowAgent を使用する
|
||||
---
|
||||
|
||||
Web コンソールは CowAgent のデフォルトチャネルです。起動後に自動的に開始され、ブラウザを通じて Agent とチャットしたり、モデル、Skill、メモリ、チャネルなどの設定をオンラインで管理できます。
|
||||
Web コンソールは CowAgent のデフォルトチャネルです。起動後に自動的に実行され、ブラウザを通じて Agent と対話できるほか、モデル、Skill、メモリ、チャネルなどの設定をオンラインで管理できます。
|
||||
|
||||
## 設定
|
||||
|
||||
```json
|
||||
{
|
||||
"channel_type": "web",
|
||||
"web_port": 9899
|
||||
"web_host": "0.0.0.0",
|
||||
"web_port": 9899,
|
||||
"web_password": "",
|
||||
"enable_thinking": false
|
||||
}
|
||||
```
|
||||
|
||||
| パラメータ | 説明 | デフォルト値 |
|
||||
| --- | --- | --- |
|
||||
| `channel_type` | `web` に設定 | `web` |
|
||||
| `web_host` | Web サービスのリスンアドレス。デフォルトは `127.0.0.1`(ローカルのみ)。公開アクセスが必要な場合は `0.0.0.0` に変更してパスワードを設定してください | `""` |
|
||||
| `web_port` | Web サービスのリスンポート | `9899` |
|
||||
| `web_password` | アクセスパスワード。空欄の場合はパスワード保護が無効。`0.0.0.0` でリスンする場合は設定を推奨 | `""` |
|
||||
| `web_session_expire_days` | ログインセッションの有効日数 | `30` |
|
||||
| `enable_thinking` | 深い思考モードを有効化するか | `false` |
|
||||
|
||||
パスワード設定後、コンソールへアクセスする際にはまずパスワード入力によるログインが必要です。ログイン状態はデフォルトで 30 日間保持され、その間はサービスを再起動しても再ログインは不要です。パスワードはコンソールの「設定」ページからオンラインで変更することもできます。
|
||||
|
||||
## アクセス URL
|
||||
|
||||
プロジェクト起動後、以下にアクセスしてください:
|
||||
|
||||
- ローカル: `http://localhost:9899`
|
||||
- サーバー: `http://<server-ip>:9899`
|
||||
- ローカル実行: `http://localhost:9899`
|
||||
- サーバー実行: `http://<server-ip>:9899`
|
||||
|
||||
<Note>
|
||||
サーバーのファイアウォールとセキュリティグループで該当ポートが許可されていることを確認してください。
|
||||
</Note>
|
||||
|
||||
## 機能
|
||||
## 機能紹介
|
||||
|
||||
### チャット画面
|
||||
|
||||
ストリーミング出力に対応しており、Agent の推論プロセスやツール呼び出しをリアルタイムで表示し、Agent の意思決定を直感的に観察できます:
|
||||
ストリーミング出力に対応しており、Agent の思考プロセス(Reasoning)とツール呼び出しプロセス(Tool Calls)をリアルタイムで表示でき、Agent の意思決定をより直感的に観察できます。深い思考機能は設定またはコンソールの「Agent 設定」スイッチで制御できます。
|
||||
|
||||
<img width="850" src="https://cdn.link-ai.tech/doc/20260227180120.png" />
|
||||
|
||||
#### マルチセッション管理
|
||||
|
||||
チャット画面はマルチセッション管理に対応しています。すべてのセッション記録は SQLite データベースに永続的に保存されます:
|
||||
チャット画面はマルチセッション(Session)管理に対応しています。すべてのセッション記録はデータベースに永続化されます:
|
||||
|
||||
- **セッション一覧**:左側の履歴アイコンをクリックしてセッション一覧パネルを展開/折りたたみでき、スクロールですべての履歴セッションを読み込めます
|
||||
- **AI によるタイトル生成**:新しいセッションの最初のやり取りが完了すると、自動的にモデルを呼び出して短い要約タイトルを生成します
|
||||
- **新規セッション**:セッション一覧上部の「新しい会話」ボタン、または入力エリアの `+` ボタンをクリックして新しいセッションを作成します
|
||||
- **セッション一覧**:左側の履歴セッションアイコンをクリックするとセッション一覧パネルを展開/折りたたみでき、スクロールですべての履歴セッションを読み込めます
|
||||
- **AI によるタイトル生成**:新しいセッションの初回対話完了後、自動的にモデルを呼び出して短いセッション要約タイトルを生成します
|
||||
- **新規セッション**:セッション一覧上部の「新しい会話」ボタンまたは入力エリアの `+` ボタンをクリックして新しいセッションを作成します
|
||||
- **セッション削除**:セッション項目の削除ボタンをクリックし、確認後にそのセッションとすべてのメッセージを完全に削除します
|
||||
- **コンテキストクリア**:入力エリアのクリアボタンをクリックすると、現在のセッションに区切り線が挿入されます。区切り線より上のメッセージは表示されたままですが、モデルのコンテキストには含まれなくなります
|
||||
- **コンテキストクリア**:入力エリアのクリアボタンをクリックすると、現在のセッションに区切り線が挿入されます。区切り線より上のメッセージは表示されたままですが、モデルのコンテキスト入力には含まれなくなります
|
||||
|
||||
### モデル管理
|
||||
|
||||
設定ファイルを手動で編集せずに、オンラインでモデル設定を管理できます:
|
||||
設定ファイルを手動で編集することなく、異なるモデルプロバイダーのテキスト、画像、音声、埋め込みモデル設定をオンラインで管理できます:
|
||||
|
||||
<img width="850" src="https://cdn.link-ai.tech/doc/20260227173811.png" />
|
||||
<img width="850" src="https://cdn.link-ai.tech/doc/20260521212949.png" />
|
||||
|
||||
### Skill 管理
|
||||
|
||||
@@ -68,18 +77,18 @@ Agent のメモリをオンラインで閲覧・管理できます:
|
||||
|
||||
### チャネル管理
|
||||
|
||||
接続中のチャネルをオンラインで管理し、リアルタイムで接続・切断操作を行えます:
|
||||
接続中のチャネルをオンラインで管理でき、リアルタイムでの接続・切断操作に対応しています:
|
||||
|
||||
<img width="850" src="https://cdn.link-ai.tech/doc/20260227173331.png" />
|
||||
|
||||
### スケジュールタスク
|
||||
|
||||
スケジュールタスクをオンラインで閲覧・管理できます。一回限りのタスク、固定間隔、Cron 式に対応しています:
|
||||
スケジュールタスクをオンラインで閲覧・管理できます。一回限りのタスク、固定間隔、Cron 式など複数のスケジューリング方式を可視化管理できます:
|
||||
|
||||
<img width="850" src="https://cdn.link-ai.tech/doc/20260227173704.png" />
|
||||
|
||||
### ログ
|
||||
|
||||
Agent のランタイムログをリアルタイムで確認でき、監視やトラブルシューティングに活用できます:
|
||||
Agent のランタイムログをオンラインでリアルタイムに確認でき、実行状態の監視やトラブルシューティングに便利です:
|
||||
|
||||
<img width="850" src="https://cdn.link-ai.tech/doc/20260227173514.png" />
|
||||
|
||||
Reference in New Issue
Block a user