Робот WeChat на основе wechatbot-webhook, поддерживающий вопросы и ответы GPT, горячий поиск, прогноз погоды, пересылку сообщений, мини-игры, напоминание о веб-перехватчике и другие функции.
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 , что должно соответствовать порту параметра RECV_MSG_API wxbotwebhook Docker. |
Элементы конфигурации | объяснять | Примечание |
---|---|---|
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 | URL-адрес Bark для получения уведомлений об изменении статуса робота | Bark доступен только на iOS и iPadOS. |
Элементы конфигурации | объяснять | Примечание |
---|---|---|
bot_name | Имя робота WeChat | Имя WeChat, а не идентификатор WeChat |
Элементы конфигурации | объяснять | Примечание |
---|---|---|
command_prefix | Префикс команды робота | По умолчанию используется / , который может быть установлен на любой символ, например >> , ! и т. д., и может быть пустым. Если этот элемент пуст, префикс команды не требуется для запуска команды. |
need_mentioned | Требуется ли для команд в групповом чате @bot? | По умолчанию — False |
ban_person_list | Список пользователей черного списка | Боты не будут отвечать на сообщения от пользователей из черного списка. |
ban_group_list | Список групп черного списка | Боты не будут отвечать на сообщения из групп из черного списка. |
Элементы конфигурации | объяснять | Примечание |
---|---|---|
openai_base_api | BaseAPI сервиса OpenAI | По умолчанию https://api.openai.com |
openai_token | Токен OpenAI (ключ) | Строковый ключ, начинающийся с sk_ |
Метод доступа: Модель iFlytek Spark – Модель большого языка AI – Модель Spark – iFlytek
Элементы конфигурации | объяснять | Примечание |
---|---|---|
spark_api | BaseAPI службы больших моделей Spark | По умолчанию используется 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 | BaseAPI для сервиса Grok | По умолчанию 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 | Пользователи WeChat, получившие GitHub Webhook | |
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 | ||
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 | Список правил сообщений, каждое правило содержит три поля: 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 | Список запланированных задач, каждая задача содержит четыре поля: 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 | ||
from_list | Список источников пересылки сообщений, то есть отправителя сообщения. | Вы можете указать несколько имен пользователей или групп. Если вы хотите пересылать все сообщения, используйте ["%ALL"] | |
from_list_exclude | Список исключений источника пересылки сообщений. Пользователи и группы в этом списке не будут пересылаться. | Это вступает в силу только в том случае, если from_list равен ["%ALL"] | |
discord_webhook_url | URL-адрес веб-перехватчика Discord для пересылки сообщений |
Элементы конфигурации | объяснять | Примечание |
---|---|---|
gpt_mode_person_list | Список пользователей по умолчанию для режима вопросов и ответов GPT | То есть сообщения с ключевыми словами команд обычно запускают соответствующие команды, а другие сообщения считаются командами GPT. |
gpt_model | Модель вопросов и ответов GPT по умолчанию | Необязательные значения: gpt35 , gpt4 |
Файлы журналов хранятся в папке logs/
в корневом каталоге проекта.
Уровень ведения журнала по умолчанию — INFO
, а необязательные значения уровня ведения журнала — DEBUG
, INFO
, WARNING
, ERROR
и CRITICAL
.
Если вам нужно настроить уровень ведения журнала, измените переменную среды WECHATTER_LOG_LEVEL
в файле docker-compose.yml
.
Измените переменную среды WECHATTER_LOG_LEVEL
в команде docker run
.
Измените переменную системной среды WECHATTER_LOG_LEVEL
.
export WECHATTER_LOG_LEVEL=DEBUG
Спасибо следующим людям, которые внесли свой вклад в этот проект:
Примечание
В разработке...
Предупреждение
Проект все еще находится в стадии разработки, поэтому предложения и комментарии приветствуются.