首次推送

This commit is contained in:
sansen
2026-07-20 19:01:03 +08:00
parent ea01b9cf99
commit ef1bf61f9f
4484 changed files with 937163 additions and 1 deletions
@@ -0,0 +1,50 @@
#include "helpers.hpp"
#include <teamspeak/clientlib.h>
#include <teamspeak/public_errors.h>
#ifdef _WIN32
#define _CRT_SECURE_NO_WARNINGS
#include <Windows.h>
#else
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#endif
namespace com::teamspeak {
void print_error(uint32_t error, const std::string& msg, uint64_t connection_id)
{
if (error == ERROR_ok)
return;
char* errormsg = nullptr;
if (ts3client_getErrorMessage(error, &errormsg) == ERROR_ok)
{
auto error_msg = msg + " " + std::string(errormsg);
ts3client_freeMemory(errormsg);
ts3client_logMessage(error_msg.c_str(), LogLevel_ERROR, "", connection_id);
return;
}
ts3client_logMessage(msg.c_str(), LogLevel_ERROR, "", connection_id);
}
auto create_identity() -> std::string
{
/* Create a new client identity */
/* In your real application you should do this only once, store the assigned identity locally and then reuse it. */
auto result = std::string();
char* identity = nullptr;
if (auto error = ts3client_createIdentity(&identity); error != ERROR_ok)
{
print_error(error, "Error creating identity", 0);
}
else
{
result = std::string(identity);
ts3client_freeMemory(identity); /* Release dynamically allocated memory */
identity = nullptr;
}
return result;
}
}