
Security News
libxml2 Maintainer Ends Embargoed Vulnerability Reports, Citing Unsustainable Burden
Libxml2’s solo maintainer drops embargoed security fixes, highlighting the burden on unpaid volunteers who keep critical open source software secure.
⭐ Star us on GitHub — it motivates us a lot!
Waha Net is a .NET C# client library for interacting with WAHA (WhatsApp HTTP API)
. It simplifies the integration of WAHA services into your .NET applications.
To install the Waha
library, run the following command in your .NET project:
dotnet add package Waha
Or, use the NuGet Package Manager in Visual Studio.
This section demonstrates how to integrate Waha Net into your .NET projects to retrieve WhatsApp chats. This assumes that a WAHA session has been started and the QR code has been scanned and validated.
First, ensure you have WAHA (WhatsApp HTTP API) running. Follow these steps to set it up as a Docker container:
Prerequisite: Ensure Docker is installed on your system.
docker pull devlikeapro/waha
Run the container:
docker run -it --rm -p 3000:3000/tcp --name waha devlikeapro/waha
# It prints logs and the last line must be
# WhatsApp HTTP API is running on: http://[::1]:3000
Open the link in your browser http://localhost:3000/ and you'll see API documentation (Swagger).
Here's a sample code snippet for an ASP.NET Core application that lists WhatsApp chats from the logged-in user:
using Waha;
var builder = WebApplication.CreateBuilder(args);
//This method will look for "Waha" settings configuration section or connectionstring in your appsettings.json
//It also will use Waha default endpoint value ("localhost:3000") if can´t find a valid configuration
builder.AddWahaApiClient("Waha");
var app = builder.Build();
app.MapDefaultEndpoints();
app.MapGet("/chats", async (
IWahaApiClient wahaApiClient, CancellationToken cancellationToken,
[FromHeader] int limit = 5, [FromHeader] int offset = 0, [FromHeader] string sortBy = "", [FromHeader] string sortOrder = "")
{
var sessions = await wahaApiClient.GetSessionsAsync(true, cancellationToken);
var session = sessions.FirstOrDefault();
if (session == null)
{
return Results.Json(new { Message = "No active session found." }, statusCode: StatusCodes.Status412PreconditionFailed);
}
var chats = await wahaApiClient.GetChatsAsync(session.Name, limit, offset, sortBy, sortOrder, cancellationToken);
return Results.Ok(chats);
}).WithName("GetChats");
using Waha;
var wahaApiClient = new WahaApiClient(new HttpClient() { BaseAddress = WahaSettings.Default.Endpoint });
var sessions = await wahaApiClient.GetSessionsAsync(true, cancellationToken);
var session = sessions.FirstOrDefault();
if (session != null)
{
var chats = await wahaApiClient.GetChatsAsync(session.Name, 10, 0, "", "", null);
// Process the chats as needed...
}
We welcome and appreciate contributions from the community. You can open a pull request or report issues through our GitHub Issues. Please review our contribution guidelines for details on coding standards and development practices.
For any questions, issues, or ideas, feel free to reach out via:
Your feedback helps us make Waha
library even better!
FAQs
Package Description
We found that waha demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Libxml2’s solo maintainer drops embargoed security fixes, highlighting the burden on unpaid volunteers who keep critical open source software secure.
Research
Security News
Socket investigates hidden protestware in npm packages that blocks user interaction and plays the Ukrainian anthem for Russian-language visitors.
Research
Security News
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.