wc_robot
1.0.0
シンプルな機能で使いやすいWeChatロボット
サポートされている機能:
オプション機能:
前提条件を使用する
git clone https://github.com/leantli/wc_robot.git
go mod tidy
を実行します。config.yaml
-> robot_name
およびon_contact_nicknames
の 2 つのフィールドを変更します。go run main.go
実行します。env GOOS=linux GOARCH=amd64 go build -o wc_robot main.go
を実行します。wc_robot
と構成ファイルconfig.yaml
サーバーにアップロードします。どのディレクトリをサーバーにアップロードするかは、ユーザーによって異なります。chmod +x ./wc_robot
ファイルに実行権限を与えますnohup ./wc_robot > robot.log &
バックグラウンドでプログラムを実行し、ログをrobot.log
ファイルに出力します。tail -50f ./robot.log
ログを確認してください。WeChat ログイン QR コードをスキャンして自分でログインします。2022.11.9 TODO(leantli):
weather_msg_handle.city_code
を設定する必要はありません。他の WeChat ユーザーの天気ブロードキャストのメッセージに従って、対応する都市エリアと一致します (☑️)2022.11.11 TODO(リーントリ):
2022.11.28 TODO(リーントリ):
2022.12.9 TODO(leantli):
2023.2.23: このプロジェクトは更新し続ける必要はありません。最近解雇された WeChat ロボットの他の方法を試すために新しいブランチを開始します。
次の構成変更は
config.yaml
に基づいています。
weather_msg_handle.switch_on
このキーワードの自動応答を有効にするかどうか、デフォルトはtrue
covid_msg_handle.switch_on
このキーワードの自動応答を有効にするかどうか。デフォルトはtrue
です。 weather_schedules.switch_on
このスケジュールされたタスクを有効にするかどうか。デフォルトはfalse
で、enable はtrue
に設定されます。weather_schedules.to_nicknames
天気予報を誰に送信するか? 入力された内容は WeChat ユーザーのニックネームです。複数のユーザーを入力する必要がある場合は、英語のカンマ「,」で区切ります。weather_schedules.to_remarknames
天気予報は誰に送信されますか? 入力された内容は WeChat ユーザーの発言です。グループ チャットの発言は、WeChat の通常の通信では返されないため、複数のユーザーが認識する必要があります。入力するには英語のカンマ「,」を使用して区切りますweather_schedules.times
毎日天気予報を送信する特定の時刻です。形式は「00:00:00」です。複数の時刻は英語のカンマ「,」で区切られます。weather_schedules.city_code
この天気予報が放送されるエリアはデフォルトで深センの南山エリアに設定されています。変更する必要がある場合は、https://wis.qq.com/city/like?source=pc&city=Nanshan を参照してください。最後の「南山」を自分で検索し、対応する都市コードを取得しますclock_in_schedules.switch_on
このスケジュールされたタスクを有効にするかどうか。デフォルトはfalse
で、enable はtrue
に設定されます。clock_in_schedules.to_nicknames
このメッセージの送信者? WeChat ユーザーのニックネームを入力します。複数のユーザーを入力する必要がある場合は、英語のカンマ「,」で区切ります。clock_in_schedules.to_remarknames
メッセージは誰に送信されますか? 入力された内容は WeChat ユーザーの発言です。グループ チャットの発言は、WeChat の通常の通信では返されないため、複数のユーザーが認識する必要があります。入力し、英語のカンマ「,」で区切ります。clock_in_schedules.times
、毎日定期的にメッセージを送信するための特定の時刻です。形式は「00:00:00」です。複数の時刻は英語のカンマ「,」で区切られます。clock_in_schedules.text
メッセージの内容 (「妻に会いたい❤️」、「まだ仕事を辞めないの?」など) days_matters.switch_on
このスケジュールされたタスクを有効にするかどうか。デフォルトはfalse
で、enable はtrue
に設定されます。days_matters.to_nicknames
リマインダーの送信先は誰ですか? 入力される内容は WeChat ユーザーのニックネームである必要があります。複数のユーザーを入力する必要がある場合は、英語のカンマ「,」で区切ります。days_matters.to_remarknames
リマインダーは誰に送信されますか? 入力された内容は WeChat ユーザーの発言です。グループ チャットの発言は、WeChat の通常の通信では返されないため、複数のユーザーが認識する必要があります。入力し、英語のカンマ「,」で区切ります。days_matters.times
毎日リマインダーを送信する特定の時刻です。形式は「00:00:00」です。複数の時刻は英語のカンマ「,」で区切られます。days_matters.date
重要な日の特定の日付 (「2021-4-3」など、「yyyy-MM-dd」形式)days_matters.content
「妻と一緒にいる」「給料を支払う」など、大切な日は何ですか?「妻と一緒に」を例に挙げてみましょう
日付が過去の時刻に設定されている場合、メッセージは「%s (妻と) が %d 日経過しました」として送信されます。
日付が時刻に設定されている場合、メッセージは「今日は %s (妻と)」として送信されます。
日付が将来の時刻に設定されている場合、メッセージは「%s (妻と) まであと %d 日です」として送信されます。
alapi.switch_on
このキーワードの自動応答を有効にするかどうか。デフォルトはfalse
です。有効な場合はtrue
に設定し、 token
設定に注意してください。alapi.token
取得するには、ALAPI Web サイトに登録する必要があります。API の無料ユーザーは 1qps 呼び出しをサポートしており、個人使用には十分です。 openai.api_key
: open_ai の認証トークン。openai 公式 Web サイトに登録し、https://beta.openai.com/account/api-keys から取得する必要があります。openai.gpt_text_switch_on
GPT テキスト返信機能を有効にするかどうか、デフォルトはfalse
openai.gpt_text_is_default_reply
gpt テキスト応答をデフォルトの応答として設定するかどうか (つまり、他のキーワードがトリガーされないときに自動的に GPT を呼び出す)、false 閉じている場合、デフォルトで有効になっている「gpt xxx」形式で gpt 応答をトリガーする必要があります。