wxserver
ver v0.3.4
C++-Header-nur-Unternehmens-WeChat-Nachrichten-Push-Server
ws::Server server;
server.load_config( " config.czh " );
server.add_msg_handle(
[&server]( const ws::Request &req, ws::Message &res)
{
res. set_content (ws::MsgType::text, " hello, world " );
});
server.run();
Fügen Sie eine Rückruffunktion hinzu, wenn eine Nachricht empfangen wird
[&server]( const ws::Request &req, ws::Message &res){}
user_id
Die ID des Nachrichtensenderscontent
. set_user(user_id)
Geben Sie den Benutzer an, dem geantwortet werden soll. Der Standardwert ist der Absender der Nachricht
set_content(MsgType, data)
Geben Sie den Inhalt der Nachrichtenantwort an
Nachrichtentyp | Info |
---|---|
Text | Text |
Abschlag | Markdown-Teilmenge |
Bild | Bild(Pfad) |
Datei | Datei(Pfad) |
server.add_msg_handle(
[&server]( const ws::Request &req, ws::Message &res)
{
std::thread (
[req, &server]()
{
// do something
res. set_content (ws::MsgType::text, ret);
}). detach ();
});
server.send_message({ws::MsgType::text, " hello " , " caozhanhao " });
server.send_message({ws::MsgType::file, " LICENSE " , " caozhanhao " });
server.send_message({ws::MsgType::image, " example.jpg " , " caozhanhao " });
server.send_message({ws::MsgType::markdown, " `hello world` " , " caozhanhao " });
// ... 同set_content
Server (std::string host, int port_, int agent_id, const std::string& token, const std::string encoding_aes_key,
const std::string corp_id, const std::string corp_secret,
bool enable_console_logger, const std::string& logging_path = " " )
ws::Server server;
server.load_config( " config.czh " );
// or
// auto config = ws::parse_config("config.czh");
// server.load_config(config);
Server | Info |
---|---|
Gastgeber | Laufadresse |
Hafen | laufenden Port |
enable_console_logger | Konsolenausgabe protokollieren, false wird nicht ausgegeben |
logging_path | Protokolldatei, Null wird nicht in eine Datei ausgegeben |
weixin | Info |
---|---|
AgentId | Befindet sich unter mybusiness/xxx/AgentId |
CorpID | Befindet sich unter „Mein Unternehmen/Geschäftsinformationen/Geschäfts-ID“. |
CorpSecret | Befindet sich in Application Management/xxx/Secret |
Token und CodierungAESKey | Befindet sich in Application Management/xxx/Function/Settings API Receive/ |
Hinweis: Im Folgenden sind die im Beispiel erforderlichen Konfigurationsdateien aufgeführt, die für wxserver nicht erforderlich sind
bot | Info |
---|---|
bot | „hugging_face“ oder „chatgpt“ |
Proxy | HTTP-Proxy-Adresse, auf null gesetzt, wenn nicht erforderlich |
Proxy-Port | HTTP-Proxy-Port, auf Null gesetzt, wenn nicht erforderlich |
Hugging_face | Info |
---|---|
Modell | Konversation erforderlich, z. B. ingen51/DialoGPT-medium-GPT4 |
Token | HuggingFace-Token |
openai | Info |
---|---|
Modell | Wie zum Beispiel „gpt-3.5-turbo“ |
Token | OpenAI-Token |
g++ examples/src/main.cpp -I examples/src -I include -I thirdparty -I thirdparty/json/include -I thirdparty/libczh/include -lssl -lcrypto -lpthread -O2 -std=c++2a -o wxserver-linux
g++ examples/src/main.cpp -I examples/src -I " C:Program FilesOpenSSL-Win64include " -I include -I thirdparty -I thirdparty/json/include -I thirdparty/libczh/include -L " C:Program FilesOpenSSL-Win64lib " -lssl -lcrypto -l ws2_32 -l crypt32 -lpthread -O2 -std=c++2a -o wxserver-windows.exe