wechatbot-webhook に基づいた WeChat ロボット。GPT Q&A、ホットサーチプッシュ、天気予報、メッセージ転送、ミニゲーム、Webhook リマインダー、その他の機能をサポートします。
WeChatter は、Docker Compose デプロイメント、Docker デプロイメント、およびローカル デプロイメントをサポートしています。
ヒント
デプロイには Docker-compose を使用することをお勧めします。
mkdir WeChatter && cd WeChatter
wget -O config_cps.yaml https://cdn.jsdelivr.net/gh/cassius0924/wechatter@master/config_cps.yaml.example
config_cps.yaml
構成ファイルを編集します。 vim config_cps.yaml
wget https://cdn.jsdelivr.net/gh/cassius0924/wechatter@master/docker-compose.yml
docker-compose -f docker-compose.yml up
WeChatを使用して、端末から出力されたQRコードをスキャンしてWeChatにログインします。
別の WeChat アカウントを使用してロボットを撫でたり、 /help
コマンドをロボットに送信したりしてください。
ヒント
コマンドのヘルプについては、 /help
コマンドを使用してコマンド機能の表示を照会または表示してください。
オフライン リマインダー: ロボットがオフラインになると、Bark を通じてリマインダー メッセージがプッシュされます。
メッセージを引用して返信できる: ユーザーは、コマンド メッセージを引用して返信することで、メッセージの内容をさらに取得できます。 (可引用:***)
が付いたボット メッセージは、さらに対話できる引用可能なメッセージです。
メッセージ転送: ユーザーまたはグループから他のユーザーまたはグループにメッセージを転送し、引用応答の転送メッセージをサポートします。設定が必要です。
パブリック アカウント リマインダー: 指定されたパブリック アカウントが新しい記事を公開すると、ロボットは指定されたユーザーまたはグループにリマインダーを送信します。設定が必要です。
スケジュールされたタスク: ほとんどのコマンドはスケジュールされたタスクをサポートします。設定が必要です。
Discord メッセージ転送: Discord Webhook に基づいて、WeChat メッセージを Discord チャネルに転送します。設定が必要です。
ヒント
ゲーム関連のコマンドのヘルプについては、「基本ゲーム コマンドの表示」をご利用ください。
プロジェクトのルート ディレクトリにあるconfig.yaml.example
は、構成ファイルのテンプレートです。プロジェクトを初めて開始する前に、構成ファイルをコピーし、 config.yaml
名前を付ける必要があります。 config.yaml
を編集します。
次の表では、設定項目について説明します。
設定項目 | 説明する | 述べる |
---|---|---|
wechatter_port | WeChatterサーバーのポート、メッセージを受信するためのポート | デフォルトは4000 で、これはwxbotwebhook Docker のRECV_MSG_API パラメータのポートと一致している必要があります。 |
設定項目 | 説明する | 述べる |
---|---|---|
wx_webhook_base_api | メッセージ送信用のBaseAPI | デフォルトはhttp://localhost:3001 で、これはwxBotWebhook Docker のアドレスです。 Docker Compose デプロイメントのデフォルト値はhttp://wxbotwebhook:3001 です。 |
wx_webhook_recv_api_path | メッセージを受信するためのインターフェイス パス | デフォルトは/receive_msg で、このパスは Docker パラメータRECVD_MSG_API のパスです。 |
wx_webhook_token | wxBotWebhookのトークン | Docker Compose はデプロイ時にデフォルトでwechatter になります |
設定項目 | 説明する | 述べる |
---|---|---|
admin_list | ロボットのステータス変更通知を受信するように管理者を設定する | 管理者の WeChat 名を入力します (備考ではありません)。 |
admin_group_list | admin_list と同様に、ロボットのステータス変更通知を受け取ります | グループ名を入力します(グループの備考ではありません) |
bark_url | ロボットの状態変化通知を受信するための Bark URL | Bark は iOS と iPadOS でのみ利用可能です |
設定項目 | 説明する | 述べる |
---|---|---|
bot_name | WeChatロボット名 | WeChat IDではなくWeChat名 |
設定項目 | 説明する | 述べる |
---|---|---|
command_prefix | ロボットコマンドプレフィックス | デフォルトは/ で、 >> ! などの任意の文字に設定でき、この項目が空の場合、コマンドをトリガーするためにコマンド接頭辞は必要ありません。 |
need_mentioned | グループ チャットのコマンドには @bot が必要ですか? | デフォルトはFalse です |
ban_person_list | ブラックリストユーザーリスト | ボットはブラックリストに登録されたユーザーからのメッセージに応答しません |
ban_group_list | ブラックリストグループリスト | ボットはブラックリストに登録されたグループからのメッセージに応答しません |
設定項目 | 説明する | 述べる |
---|---|---|
openai_base_api | OpenAIサービスのBaseAPI | デフォルトはhttps://api.openai.com |
openai_token | OpenAIトークン(キー) | sk_ で始まる文字列キー |
アクセス方法:iFlytek Sparkモデル - AIラージ言語モデル - Sparkモデル - iFlytek
設定項目 | 説明する | 述べる |
---|---|---|
spark_api | Spark Big ModelサービスのBaseAPI | デフォルトはhttps://spark-api-open.xf-yun.com/v1/chat/completions です。 |
spark_model | アクセスするモデルのバージョンを指定します | lite は Lite バージョンを指します。4.0Ultra は 4.0 Ultra バージョンを指します。 |
spark_token | トークンオブスパーク ラージモデル | 文字列キー |
アクセス方法:https://console.x.ai/
設定項目 | 説明する | 述べる |
---|---|---|
grok_api | Grok サービスの BaseAPI | デフォルトはhttps://api.x.ai/v1/chat/completions です |
grok_model | アクセスするモデルのバージョンを指定します | デフォルトはgrok-betaです |
grok_token | グロクのトークン | 文字列キー |
設定項目 | 説明する | 述べる |
---|---|---|
github_webhook_enabled | 機能スイッチ、GitHub Webhookを受け入れるかどうか | デフォルトはFalse です |
github_webhook_api_path | GitHub Webhookのインターフェースパスを取得する | デフォルトは/webhook/github です |
github_webhook_receiver_list | GitHub Webhook を受信する WeChat ユーザー | |
github_webhook_receive_group_list | GitHub Webhook WeChat グループを受信する |
設定項目 | 子供 | 説明する | 述べる |
---|---|---|---|
message_forwarding_enabled | 機能スイッチ、メッセージ転送を有効にするかどうか | デフォルトはFalse です | |
message_forwarding_rule_list | メッセージ ルールのリスト。各ルールには、 from_list 、 from_list_exclude 、 to_person_list 、およびto_group_list の 4 つのフィールドが含まれます。 | ||
from_list | メッセージ転送元、つまりメッセージ送信者のリスト | すべてのメッセージを転送する場合は、 ["%ALL"] を使用して、複数のユーザー名またはグループ名を入力できます。 | |
from_list_exclude | メッセージ転送元除外リスト。このリスト内のユーザーとグループは転送されません。 | from_list が["%ALL"] の場合にのみ有効になります。 | |
to_person_list | メッセージ転送対象ユーザー、つまりメッセージ受信ユーザーのリスト | 複数のユーザー名または空のリストを入力できます | |
to_group_list | メッセージ転送対象グループリスト、つまりメッセージ受信グループ | 複数のグループ名または空のリストを入力できます。 |
設定項目 | 子供 | 説明する | 述べる |
---|---|---|---|
official_account_reminder_enabled | 機能スイッチ、メッセージ転送を有効にするかどうか | デフォルトはTrue です | |
official_account_reminder_rule_list | メッセージ ルールのリスト。各ルールには 3 つのフィールドが含まれます: oa_name_list 、 to_person_list 、およびto_group_list | ||
oa_name_list | 公式アカウント名一覧 | 複数の公式アカウント名を入力できます | |
to_person_list | メッセージ転送対象ユーザー、つまりメッセージ受信ユーザーのリスト | 複数のユーザー名または空のリストを入力できます | |
to_group_list | メッセージ転送対象グループリスト、つまりメッセージ受信グループ | 複数のグループ名または空のリストを入力できます。 |
設定項目 | 説明する | 述べる |
---|---|---|
all_task_cron_enabled | スケジュールされたすべてのタスクのマスター スイッチ | デフォルトはTrue です |
task_cron_list | スケジュールされたタスクのリスト。各タスクには次の 4 つのフィールドが含まれます: task 、 enabled 、 cron およびcommands |
スケジュールされたタスクの構成の詳細については、「スケジュールされたタスクの構成の詳細」を参照してください。
設定項目 | 説明する | 述べる |
---|---|---|
custom_command_key_dict | カスタム コマンド キーワード辞書、形式はcommand: [key1, key2, ...] 、 command はコマンド名、 key1 とkey2 はカスタム コマンド キーワードです。 |
コマンド名のオプション値については、カスタムコマンドのキーワード設定詳細を参照してください。
設定項目 | 子供 | 説明する | 述べる |
---|---|---|---|
discord_message_forwarding_enabled | 機能スイッチ、Discord メッセージ転送を有効にするかどうか | デフォルトはFalse です | |
discord_message_forwarding_rule_list | メッセージ ルールのリスト。各ルールには、 from_list 、 to_discord_webhook_url 、 to_discord_webhook_name の 3 つのフィールドが含まれます。 | ||
from_list | メッセージ転送元、つまりメッセージ送信者のリスト | すべてのメッセージを転送する場合は、 ["%ALL"] を使用して、複数のユーザー名またはグループ名を入力できます。 | |
from_list_exclude | メッセージ転送元除外リスト。このリスト内のユーザーとグループは転送されません。 | from_list が["%ALL"] の場合にのみ有効になります。 | |
discord_webhook_url | メッセージ転送先の Discord Webhook URL |
設定項目 | 説明する | 述べる |
---|---|---|
gpt_mode_person_list | GPT Q&A モードのデフォルトのユーザー リスト | つまり、コマンド キーワードを含むメッセージは通常、対応するコマンドをトリガーし、その他のメッセージは GPT コマンドであると判断されます。 |
gpt_model | デフォルトの GPT Q&A モデル | オプションの値はgpt35 、 gpt4 です |
ログ ファイルは、プロジェクトのルート ディレクトリのlogs/
フォルダーに保存されます。
デフォルトのログ レベルはINFO
で、オプションのログ レベル値はDEBUG
、 INFO
、 WARNING
、 ERROR
、およびCRITICAL
です。
ログ レベルを調整する必要がある場合は、 docker-compose.yml
ファイルのWECHATTER_LOG_LEVEL
環境変数を変更してください。
docker run
コマンドのWECHATTER_LOG_LEVEL
環境変数を変更してください。
システム環境変数WECHATTER_LOG_LEVEL
を変更してください。
export WECHATTER_LOG_LEVEL=DEBUG
このプロジェクトに貢献してくれた次の人々に感謝します。
注記
開発中...
警告
このプロジェクトはまだ開発中のため、提案やコメントを歓迎します。