├── src └── whatsapp.dotnet │ ├── whatsapp.console │ ├── obj │ │ ├── Debug │ │ │ └── net5.0 │ │ │ │ ├── whatsapp.console.csproj.CopyComplete │ │ │ │ ├── whatsapp.console.genruntimeconfig.cache │ │ │ │ ├── whatsapp.console.AssemblyInfoInputs.cache │ │ │ │ ├── whatsapp.console.csproj.CoreCompileInputs.cache │ │ │ │ ├── apphost.exe │ │ │ │ ├── whatsapp.console.dll │ │ │ │ ├── whatsapp.console.pdb │ │ │ │ ├── ref │ │ │ │ └── whatsapp.console.dll │ │ │ │ ├── whatsapp.console.assets.cache │ │ │ │ ├── whatsapp.console.csproj.AssemblyReference.cache │ │ │ │ ├── .NETCoreApp,Version=v5.0.AssemblyAttributes.cs │ │ │ │ ├── whatsapp.console.GeneratedMSBuildEditorConfig.editorconfig │ │ │ │ └── whatsapp.console.AssemblyInfo.cs │ │ ├── Release │ │ │ └── net5.0 │ │ │ │ ├── whatsapp.console.AssemblyInfoInputs.cache │ │ │ │ ├── whatsapp.console.assets.cache │ │ │ │ ├── whatsapp.console.csproj.AssemblyReference.cache │ │ │ │ ├── .NETCoreApp,Version=v5.0.AssemblyAttributes.cs │ │ │ │ ├── whatsapp.console.GeneratedMSBuildEditorConfig.editorconfig │ │ │ │ └── whatsapp.console.AssemblyInfo.cs │ │ ├── whatsapp.console.csproj.nuget.g.targets │ │ ├── whatsapp.console.csproj.nuget.g.props │ │ └── whatsapp.console.csproj.nuget.dgspec.json │ ├── bin │ │ └── Debug │ │ │ └── net5.0 │ │ │ ├── PuppeteerSharp.dll │ │ │ ├── NETCore.Encrypt.dll │ │ │ ├── Newtonsoft.Json.dll │ │ │ ├── System.Reactive.dll │ │ │ ├── whatsapp.console.dll │ │ │ ├── whatsapp.console.exe │ │ │ ├── whatsapp.console.pdb │ │ │ ├── whatsapp.dotnet.dll │ │ │ ├── whatsapp.dotnet.pdb │ │ │ ├── ref │ │ │ └── whatsapp.console.dll │ │ │ ├── Microsoft.Net.Http.Headers.dll │ │ │ ├── Microsoft.Bcl.AsyncInterfaces.dll │ │ │ ├── Microsoft.Extensions.Logging.dll │ │ │ ├── Microsoft.Extensions.Options.dll │ │ │ ├── Microsoft.Extensions.Primitives.dll │ │ │ ├── Microsoft.AspNetCore.WebUtilities.dll │ │ │ ├── whatsapp.console.runtimeconfig.json │ │ │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ │ │ ├── mod │ │ │ ├── m-p.mode │ │ │ ├── n-p.mode │ │ │ ├── f-b.mode │ │ │ ├── a-b.mode │ │ │ ├── u-p.mode │ │ │ ├── fact.infr │ │ │ ├── i-l.mode │ │ │ ├── s-o.mode │ │ │ ├── o-l.mode │ │ │ ├── r-c.mode │ │ │ ├── t-p.mode │ │ │ ├── d-c.mode │ │ │ ├── h-g.mode │ │ │ ├── l-m.mode │ │ │ ├── lay.ctr │ │ │ ├── cons.infr │ │ │ └── p-e.mode │ │ │ ├── whatsapp.console.runtimeconfig.dev.json │ │ │ └── Microsoft.Extensions.DependencyInjection.Abstractions.dll │ ├── artefatos │ │ └── lib │ │ │ └── js │ │ │ ├── model │ │ │ ├── m-private-chat.js │ │ │ ├── n-private-contact.js │ │ │ ├── f-businessContact.js │ │ │ ├── a-base.js │ │ │ ├── u-product-meta.js │ │ │ ├── i-location.js │ │ │ ├── s-order.js │ │ │ ├── o-label.js │ │ │ ├── r-call.js │ │ │ ├── t-product.js │ │ │ ├── d-clientInfo.js │ │ │ ├── l-message-media.js │ │ │ ├── h-groupNotification.js │ │ │ ├── p-event.js │ │ │ └── e-contact.js │ │ │ ├── infrastructure │ │ │ ├── factory.js │ │ │ ├── constants.js │ │ │ └── util.js │ │ │ └── interface │ │ │ └── layout.js │ ├── mod │ │ ├── m-p.mode │ │ ├── n-p.mode │ │ ├── f-b.mode │ │ ├── a-b.mode │ │ ├── u-p.mode │ │ ├── fact.infr │ │ ├── i-l.mode │ │ ├── s-o.mode │ │ ├── o-l.mode │ │ ├── r-c.mode │ │ ├── t-p.mode │ │ ├── d-c.mode │ │ ├── h-g.mode │ │ ├── l-m.mode │ │ ├── lay.ctr │ │ ├── cons.infr │ │ └── p-e.mode │ ├── Program.cs │ ├── infra │ │ └── JsFile.cs │ └── whatsapp.console.csproj │ ├── whatsapp.dotnet │ ├── obj │ │ ├── Debug │ │ │ ├── net5.0 │ │ │ │ ├── whatsapp.dotnet.AssemblyInfoInputs.cache │ │ │ │ ├── whatsapp.dotnet.csproj.CoreCompileInputs.cache │ │ │ │ ├── whatsapp.dotnet.dll │ │ │ │ ├── whatsapp.dotnet.pdb │ │ │ │ ├── ref │ │ │ │ │ └── whatsapp.dotnet.dll │ │ │ │ ├── whatsapp.dotnet.assets.cache │ │ │ │ ├── .NETCoreApp,Version=v5.0.AssemblyAttributes.cs │ │ │ │ ├── whatsapp.dotnet.GeneratedMSBuildEditorConfig.editorconfig │ │ │ │ ├── whatsapp.dotnet.AssemblyInfo.cs │ │ │ │ └── whatsapp.dotnet.csproj.FileListAbsolute.txt │ │ │ ├── WhatsApp.DotNet.1.0.6.nuspec │ │ │ └── WhatsApp.DotNet.1.0.7.nuspec │ │ ├── Release │ │ │ ├── net5.0 │ │ │ │ ├── whatsapp.dotnet.AssemblyInfoInputs.cache │ │ │ │ ├── whatsapp.dotnet.csproj.CoreCompileInputs.cache │ │ │ │ ├── whatsapp.dotnet.dll │ │ │ │ ├── whatsapp.dotnet.pdb │ │ │ │ ├── ref │ │ │ │ │ └── whatsapp.dotnet.dll │ │ │ │ ├── whatsapp.dotnet.assets.cache │ │ │ │ ├── .NETCoreApp,Version=v5.0.AssemblyAttributes.cs │ │ │ │ ├── whatsapp.dotnet.GeneratedMSBuildEditorConfig.editorconfig │ │ │ │ ├── whatsapp.dotnet.csproj.FileListAbsolute.txt │ │ │ │ └── whatsapp.dotnet.AssemblyInfo.cs │ │ │ └── WhatsApp.DotNet.1.0.7.nuspec │ │ ├── whatsapp.dotnet.csproj.nuget.g.targets │ │ ├── whatsapp.dotnet.csproj.nuget.g.props │ │ └── whatsapp.dotnet.csproj.nuget.dgspec.json │ ├── icon.png │ ├── images │ │ └── icon.png │ ├── bin │ │ ├── Debug │ │ │ ├── net5.0 │ │ │ │ ├── whatsapp.dotnet.dll │ │ │ │ ├── whatsapp.dotnet.pdb │ │ │ │ └── ref │ │ │ │ │ └── whatsapp.dotnet.dll │ │ │ └── WhatsApp.DotNet.1.0.7.nupkg │ │ └── Release │ │ │ └── net5.0 │ │ │ ├── whatsapp.dotnet.dll │ │ │ ├── whatsapp.dotnet.pdb │ │ │ └── ref │ │ │ └── whatsapp.dotnet.dll │ ├── entity │ │ ├── MessageMedia.cs │ │ ├── QrCode.cs │ │ ├── ContentMessage.cs │ │ ├── Location.cs │ │ ├── ProfilePicThumbObj.cs │ │ ├── WsResult.cs │ │ ├── Instance.cs │ │ ├── GroupCreatedResult.cs │ │ ├── Batery.cs │ │ ├── MessageResume.cs │ │ ├── MessageOption.cs │ │ ├── Group.cs │ │ ├── GroupNotification.cs │ │ ├── Enum.cs │ │ ├── Chat.cs │ │ ├── Contact.cs │ │ └── Message.cs │ ├── infra │ │ ├── Provider.cs │ │ ├── Notification.cs │ │ ├── Infrastructure.cs │ │ ├── JsLoad.cs │ │ ├── Help.cs │ │ ├── AsyncHelpers.cs │ │ └── EnviromentJs.cs │ ├── whatsapp.dotnet.csproj │ └── core │ │ └── Qrcode.cs │ └── whatsapp.dotnet.sln ├── example ├── WhatsAppDotNet │ ├── loading.gif │ ├── WhatsAppDotNet.csproj │ ├── WhatsAppDotNet.csproj.bak │ ├── help.cs │ ├── Program.cs │ └── Demo.cs └── WhatsAppDotNet.sln └── README.md /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.csproj.CopyComplete: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/WhatsAppDotNet/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/example/WhatsAppDotNet/loading.gif -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | c9c4d7616dbe5525e88abe673c06e5620c274d77 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 2a74f184f5f58c8669de0f6ab5084a818472b37e 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 58616187f7778eddad76cc7f55be7e82cd1a99a8 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Release/net5.0/whatsapp.console.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 0c832d4d0e7d053ece6413c67fdec1fa7538a286 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | ff5c9d7753653a2c92381d68e1b9db7743043cdc 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | e762f4a1b53a5f2a8d6496e81af08f3e4af153cb 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 7ca1870b7285f1e38441a96b05d8a95746dbe0e4 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 9c796ab9876c2125f22d7aba478ee04621009c99 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/icon.png -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/images/icon.png -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/apphost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/apphost.exe -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/PuppeteerSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/PuppeteerSharp.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/bin/Debug/net5.0/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/bin/Debug/net5.0/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/bin/Debug/net5.0/whatsapp.dotnet.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/bin/Debug/net5.0/whatsapp.dotnet.pdb -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.pdb -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/NETCore.Encrypt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/NETCore.Encrypt.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/System.Reactive.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/System.Reactive.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.console.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.console.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.console.exe -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.console.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.console.pdb -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.dotnet.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.dotnet.pdb -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.pdb -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/bin/Debug/WhatsApp.DotNet.1.0.7.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/bin/Debug/WhatsApp.DotNet.1.0.7.nupkg -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/bin/Release/net5.0/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/bin/Release/net5.0/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/bin/Release/net5.0/whatsapp.dotnet.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/bin/Release/net5.0/whatsapp.dotnet.pdb -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.pdb -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/bin/Debug/net5.0/ref/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/bin/Debug/net5.0/ref/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/ref/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/ref/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/ref/whatsapp.console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/ref/whatsapp.console.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/ref/whatsapp.console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/ref/whatsapp.console.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/bin/Release/net5.0/ref/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/bin/Release/net5.0/ref/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/ref/whatsapp.dotnet.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/ref/whatsapp.dotnet.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/whatsapp.dotnet.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/whatsapp.console.csproj.nuget.g.targets: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.assets.cache -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Net.Http.Headers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Net.Http.Headers.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.assets.cache -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Release/net5.0/whatsapp.console.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/obj/Release/net5.0/whatsapp.console.assets.cache -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.assets.cache -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Bcl.AsyncInterfaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Bcl.AsyncInterfaces.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.Logging.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.Options.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.Options.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.Primitives.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/m-private-chat.js: -------------------------------------------------------------------------------- 1 | () => { 2 | /** 3 | * Represents a Private Chat on WhatsApp 4 | * @extends {Chat} 5 | */ 6 | window.PrivateChat = class PrivateChat extends Chat { 7 | 8 | }; 9 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.AspNetCore.WebUtilities.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.AspNetCore.WebUtilities.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.console.runtimeconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "tfm": "net5.0", 4 | "framework": { 5 | "name": "Microsoft.NETCore.App", 6 | "version": "5.0.0" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/m-p.mode: -------------------------------------------------------------------------------- 1 | +Rzym7XrDziUbYc6iJj2QKbm/FQMtpkSMISl+eEpVEAUnTIPA+JMqoVaUJj5whaE4exj6npNw5hUL8wGNrOVjP2THTFLMhOyoVoCqdpHfhSQqPZJbBuwFun6xY1XsXtAfOKSYqbNgIed0kNBkJLNBB+V4Po+ZZ1tK1U5/V1YBholkkGIx07mjzJFpphLF5kK5tUPvMhXMhumy7L7Eb5auw== -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Release/net5.0/whatsapp.console.csproj.AssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/obj/Release/net5.0/whatsapp.console.csproj.AssemblyReference.cache -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/m-p.mode: -------------------------------------------------------------------------------- 1 | +Rzym7XrDziUbYc6iJj2QKbm/FQMtpkSMISl+eEpVEAUnTIPA+JMqoVaUJj5whaE4exj6npNw5hUL8wGNrOVjP2THTFLMhOyoVoCqdpHfhSQqPZJbBuwFun6xY1XsXtAfOKSYqbNgIed0kNBkJLNBB+V4Po+ZZ1tK1U5/V1YBholkkGIx07mjzJFpphLF5kK5tUPvMhXMhumy7L7Eb5auw== -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/n-private-contact.js: -------------------------------------------------------------------------------- 1 | 2 | () => { 3 | /** 4 | * Represents a Private Contact on WhatsApp 5 | * @extends {Contact} 6 | */ 7 | window.PrivateContact = class PrivateContact extends Contact { 8 | 9 | }; 10 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/whatsapp.console.runtimeconfig.dev.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeOptions": { 3 | "additionalProbingPaths": [ 4 | "C:\\Users\\italo\\.dotnet\\store\\|arch|\\|tfm|", 5 | "C:\\Users\\italo\\.nuget\\packages" 6 | ] 7 | } 8 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/n-p.mode: -------------------------------------------------------------------------------- 1 | 2Bt4WYcMPan30VG+9OqyA6rodAjJeeXp5XSgFpHOc108fZzsqg5K7sA3yGgwErE19EUyM7MBazE1FP2WhnQKeKdDmlgOa+F7H6vvGuc91XxYUXsCeTrR9NyaT4NZiQhw6EOKcsJ79UrDY1G+rJH4o71Q6OWHxsExdr3fUE4HIrIW4VIBIJ0s9GOhsM77k1q+vR5UQ8/0eJH/5MRD5S7tEMdo20JtTUEdlKpjwm3yB8U= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ItaloAndrade/whatsapp-api-dotnet/HEAD/src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/MessageMedia.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class MessageMedia 4 | { 5 | public string mimetype { get; set; } 6 | public string data { get; set; } 7 | public string filename { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/n-p.mode: -------------------------------------------------------------------------------- 1 | 2Bt4WYcMPan30VG+9OqyA6rodAjJeeXp5XSgFpHOc108fZzsqg5K7sA3yGgwErE19EUyM7MBazE1FP2WhnQKeKdDmlgOa+F7H6vvGuc91XxYUXsCeTrR9NyaT4NZiQhw6EOKcsJ79UrDY1G+rJH4o71Q6OWHxsExdr3fUE4HIrIW4VIBIJ0s9GOhsM77k1q+vR5UQ8/0eJH/5MRD5S7tEMdo20JtTUEdlKpjwm3yB8U= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/QrCode.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class QrCode 4 | { 5 | public string base64 { get; set; } 6 | 7 | public string code { get; set; } 8 | 9 | public string clientId { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Release/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")] 5 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/ContentMessage.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class ContentMessage 4 | { 5 | public MessageMedia messageMedia { get; set; } 6 | public Location location { get; set; } 7 | public string msg { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/Location.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class Location 4 | { 5 | public string latitude { get; set; } 6 | 7 | public string longitude { get; set; } 8 | 9 | public string description { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/ProfilePicThumbObj.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class ProfilePicThumbObj 4 | { 5 | public string eurl { get; set; } 6 | 7 | public string img { get; set; } 8 | 9 | public string imgFull { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/WsResult.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class WsResult 4 | { 5 | public ContentTypeWS ContentTypeWS { get; set; } 6 | 7 | public object Result { get; set; } 8 | 9 | public StatusTransaction StatusTransaction { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/Instance.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class Instance 4 | { 5 | public string id { get; set; } 6 | public QrCode QrCode { get; set; } = new QrCode(); 7 | 8 | public InstanceType StatusInstance { get; set; } = InstanceType.notstarted; 9 | } 10 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/GroupCreatedResult.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace whatsapp.dotnet 4 | { 5 | public class GroupCreatedResult 6 | { 7 | public string status { get; set; } 8 | public GroupId gid { get; set; } 9 | public List participants { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/Batery.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class Batery 4 | { 5 | public string batteryValue { get; set; } 6 | 7 | public bool isPlugged { get; set; } 8 | } 9 | 10 | public class BateryInfo 11 | { 12 | public string battery { get; set; } 13 | public string plugged { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /example/WhatsAppDotNet/WhatsAppDotNet.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WinExe 5 | net5.0-windows 6 | true 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/infra/Provider.cs: -------------------------------------------------------------------------------- 1 | using System.Reactive.Subjects; 2 | using PuppeteerSharp; 3 | using whatsapp.dotnet; 4 | 5 | namespace whatsapp.dotnet 6 | { 7 | public class Provider 8 | { 9 | public string id { get; set; } 10 | public Page page { get; set; } 11 | public Browser browser { get; set; } 12 | public Subject eventNotification { get; set; } 13 | public Instance instance { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/infra/Notification.cs: -------------------------------------------------------------------------------- 1 | using whatsapp.dotnet; 2 | 3 | namespace whatsapp.dotnet 4 | { 5 | public class Notification 6 | { 7 | public EventsMessage EventsMessage { get; set; } 8 | public ProcessingType ProcessingType { get; set; } 9 | 10 | public SubNotificationType SubNotificationType { get; set; } 11 | 12 | public object Container { get; set; } 13 | 14 | public Instance Instance { get; set; } 15 | 16 | } 17 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/f-businessContact.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | () => { 3 | /** 4 | * Represents a Business Contact on WhatsApp 5 | * @extends {Contact} 6 | */ 7 | window.BusinessContact = class BusinessContact extends Contact { 8 | _patch(data) { 9 | /** 10 | * The contact's business profile 11 | */ 12 | this.businessProfile = data.businessProfile; 13 | 14 | return super._patch(data); 15 | } 16 | 17 | }; 18 | } -------------------------------------------------------------------------------- /example/WhatsAppDotNet/WhatsAppDotNet.csproj.bak: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WinExe 5 | net5.0-windows 6 | true 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/a-base.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | 3 | () => { 4 | window.Base = class Base { 5 | constructor(client) { 6 | /** 7 | * The client that instantiated this 8 | * @readonly 9 | */ 10 | Object.defineProperty(this, "client", { value: client }); 11 | } 12 | 13 | _clone() { 14 | return Object.assign(Object.create(this), this); 15 | } 16 | 17 | _patch(data) { 18 | return data; 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/f-b.mode: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUtgbeFmHDD2p99FRvvTqsgOq6HQIyXnl6eV0oBaRznNdXAye3OQIrIStHNLsppylpqQUSffrgI9oPTgo3jGcQU5mD8qjIi6VP4Ih1r4Oy5b/H+700yuot+zVeyW2yx3pS/1VLtKtyHknDJMUpQxx6rdU8d6ZvsC8jcs/02RhyL0yTSqCB0xtDYxp0ZeykKjXQnuZgeC4cwjWSA5KB4Wi1rH0r3eqJ8BVYBhCS7+ourDPIb/LiMTgk9wxGe9ySqiHdoicVfxryhdCdW4+bW/G4ok5kXxYoiYIriHJVAacXIe+X+EU80SkmeXdHOpK/tAiW4AVvJ2qdJtAF64I9jWHKaxNIbwTEzhxqyJ2WT1ZoTONmbTwlYrAKqXVSnXWi3P7oXvH1lJWUfu5VXTs8LbaYP+ZHX3qvULE3cwBeBk6EWa7J+uv0pt2uEgoAH8Mw/7t/ankk6EjdZokh5r6PLM4KPUZznr3aGD9YsYxQmsgNAm8UOHb1Rews7yRRYwg/wTV1YNeOw2s8QWAwTtTNhyFzsM= -------------------------------------------------------------------------------- /example/WhatsAppDotNet/help.cs: -------------------------------------------------------------------------------- 1 | using System.Drawing; 2 | 3 | namespace WhatsAppDotNet 4 | { 5 | public static class help 6 | { 7 | public static Bitmap generateQr(int width, int height, string text) 8 | { 9 | 10 | 11 | var bw = new ZXing.BarcodeWriter(); 12 | var encodeOptons = new ZXing.Common.EncodingOptions() { Width = width, Height = height, Margin = 0 }; 13 | bw.Options = encodeOptons; 14 | bw.Format = ZXing.BarcodeFormat.QR_CODE; 15 | return new Bitmap(bw.Write(text)); 16 | 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/f-b.mode: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUtgbeFmHDD2p99FRvvTqsgOq6HQIyXnl6eV0oBaRznNdXAye3OQIrIStHNLsppylpqQUSffrgI9oPTgo3jGcQU5mD8qjIi6VP4Ih1r4Oy5b/H+700yuot+zVeyW2yx3pS/1VLtKtyHknDJMUpQxx6rdU8d6ZvsC8jcs/02RhyL0yTSqCB0xtDYxp0ZeykKjXQnuZgeC4cwjWSA5KB4Wi1rH0r3eqJ8BVYBhCS7+ourDPIb/LiMTgk9wxGe9ySqiHdoicVfxryhdCdW4+bW/G4ok5kXxYoiYIriHJVAacXIe+X+EU80SkmeXdHOpK/tAiW4AVvJ2qdJtAF64I9jWHKaxNIbwTEzhxqyJ2WT1ZoTONmbTwlYrAKqXVSnXWi3P7oXvH1lJWUfu5VXTs8LbaYP+ZHX3qvULE3cwBeBk6EWa7J+uv0pt2uEgoAH8Mw/7t/ankk6EjdZokh5r6PLM4KPUZznr3aGD9YsYxQmsgNAm8UOHb1Rews7yRRYwg/wTV1YNeOw2s8QWAwTtTNhyFzsM= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net5.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property._SupportedPlatformList = Linux,macOS,Windows 9 | build_property.RootNamespace = whatsapp.dotnet 10 | build_property.ProjectDir = C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\ 11 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Release/net5.0/whatsapp.console.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net5.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property._SupportedPlatformList = Linux,macOS,Windows 9 | build_property.RootNamespace = whatsapp.console 10 | build_property.ProjectDir = C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.console\ 11 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net5.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property._SupportedPlatformList = Linux,macOS,Windows 9 | build_property.RootNamespace = whatsapp.dotnet 10 | build_property.ProjectDir = C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\ 11 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = net5.0 3 | build_property.TargetPlatformMinVersion = 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = 6 | build_property.InvariantGlobalization = 7 | build_property.PlatformNeutralAssembly = 8 | build_property._SupportedPlatformList = Linux,macOS,Windows 9 | build_property.RootNamespace = whatsapp.console 10 | build_property.ProjectDir = C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.console\ 11 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/MessageResume.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace whatsapp.dotnet 4 | { 5 | public class MessageResume 6 | { 7 | public string Id { get; set; } 8 | public string To { get; set; } 9 | public string Type { get; set; } 10 | public bool HasMedia { get; set; } 11 | public DateTime CreatedIn { get; set; } 12 | public string Body { get; set; } 13 | public string ChatFk { get; set; } 14 | public bool FromMe { get; set; } 15 | public string AsFrom { get; set; } 16 | public string AsTo { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/a-b.mode: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUtuqmGgdYiaaFjFo8OT1UdR2jH3fd6mV0A/14Ka2sWDj1Dry9b47VIUhBUOVSXKP4Lse0BpyBL887IECF/458lxGUeRl0xjUKV2WuY1rtvg98NtHRjmVcRnf4Tj5ahaYWiU+G4VQe0Z7x9/3acpeLXd9bAIpvRNxoM6VVCR13b4sRdZcUnp6YNFGgZ6Y9H/EN8rkM5EJcsEkBLRZTASOvSh44IZbvfTnChjxdrQ+qfzE2zhzec7fPapspuRIxNZRjNU/ryU47k1T+oiPWOE4OTK3W5I9ylrZiyUXDhMnUXKOKRnvPKUext5xk9y3X/S/mA9hV8f6+0VFrD1Ki8phHhuAUOiKllwfVHB2PeZrXBslUQylQ3e5PwkLyQgYqkLUP29Z/4IhjzMnepxmX/lNXAZTmcRHV1o/TUpOyfTxUHEv31v3EJlrA2G2umfYJfKYqTYdTL7kwEkzxHQyqPNyxTyN9gLI+Zj7kbpjis19k3X+Bfdf8VuCTk3xccHmetDkvg//FC+A/yQmDRhl56pqT2nDZs0VQpUPGN44NKnQyObka2t2I69U8tYATGit3i/4WpfCDUQVVZwm9UAk1dOspgc= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/a-b.mode: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUtuqmGgdYiaaFjFo8OT1UdR2jH3fd6mV0A/14Ka2sWDj1Dry9b47VIUhBUOVSXKP4Lse0BpyBL887IECF/458lxGUeRl0xjUKV2WuY1rtvg98NtHRjmVcRnf4Tj5ahaYWiU+G4VQe0Z7x9/3acpeLXd9bAIpvRNxoM6VVCR13b4sRdZcUnp6YNFGgZ6Y9H/EN8rkM5EJcsEkBLRZTASOvSh44IZbvfTnChjxdrQ+qfzE2zhzec7fPapspuRIxNZRjNU/ryU47k1T+oiPWOE4OTK3W5I9ylrZiyUXDhMnUXKOKRnvPKUext5xk9y3X/S/mA9hV8f6+0VFrD1Ki8phHhuAUOiKllwfVHB2PeZrXBslUQylQ3e5PwkLyQgYqkLUP29Z/4IhjzMnepxmX/lNXAZTmcRHV1o/TUpOyfTxUHEv31v3EJlrA2G2umfYJfKYqTYdTL7kwEkzxHQyqPNyxTyN9gLI+Zj7kbpjis19k3X+Bfdf8VuCTk3xccHmetDkvg//FC+A/yQmDRhl56pqT2nDZs0VQpUPGN44NKnQyObka2t2I69U8tYATGit3i/4WpfCDUQVVZwm9UAk1dOspgc= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/u-product-meta.js: -------------------------------------------------------------------------------- 1 | () => { 2 | /** 3 | * Represents a Business Contact on WhatsApp 4 | * @extends {Contact} 5 | */ 6 | window.Order = class Order extends Base { 7 | _patch(data) { 8 | 9 | /** Product ID */ 10 | this.id = data.id; 11 | /** Retailer ID */ 12 | this.retailer_id = data.retailer_id; 13 | /** Product Name */ 14 | this.name = data.name; 15 | /** Product Description */ 16 | this.description = data.description; 17 | 18 | return super._patch(data); 19 | } 20 | }; 21 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/MessageOption.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace whatsapp.dotnet 4 | { 5 | public class MessageOption 6 | { 7 | public bool? linkPreview { get; set; } 8 | public bool? sendAudioAsVoice { get; set; } 9 | public bool? sendMediaAsSticker { get; set; } 10 | public bool? sendMediaAsDocument { get; set; } 11 | public string caption { get; set; } 12 | public string quotedMessageId { get; set; } 13 | public List mentions { get; set; } 14 | public bool sendSeen { get; set; } 15 | public MessageMedia media { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /example/WhatsAppDotNet/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace WhatsAppDotNet 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.SetHighDpiMode(HighDpiMode.SystemAware); 18 | Application.EnableVisualStyles(); 19 | Application.SetCompatibleTextRenderingDefault(false); 20 | Application.Run(new Demo()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using whatsapp.console.infra; 3 | 4 | namespace whatsapp.console 5 | { 6 | class Program 7 | { 8 | /// 9 | /// TO ASSIST IN THE GENERATION AND UPDATE OF JS 10 | /// REFERENCE AND CREDITS https://github.com/pedroslopez/whatsapp-web.js/ 11 | /// 12 | /// 13 | static void Main(string[] args) 14 | { 15 | // JsFile.GenerateEncripty(); /* CONVERTS JAVASCRIPTS FROM THE "ARTIFACTS/LIB/JS" FOLDER TO "ARTIFACTS/LIB/ENC" */ 16 | // dotnet.JsFile.Build(); /*GENERATES STRUCTURE FOR DLL*/ 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/infrastructure/factory.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | () => { 3 | 4 | window.ChatFactory = class ChatFactory { 5 | static create(client, data) { 6 | if (data.isGroup) { 7 | return new GroupChat(client, data); 8 | } 9 | 10 | return new PrivateChat(client, data); 11 | } 12 | }; 13 | 14 | window.ContactFactory = class ContactFactory { 15 | static create(client, data) { 16 | if (data.isBusiness) { 17 | return new BusinessContact(client, data); 18 | } 19 | 20 | return new PrivateContact(client, data); 21 | } 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/u-p.mode: -------------------------------------------------------------------------------- 1 | +GxHmuoFjHf/5CWnQ2wtVe0vQAcTEpqDp1YupJ/C8PbYbiC21ByaRYsiRKI3pRjmaizgqMDizPhbGqE+cgOYMBTvN/RW+SDgk5BnpMAVob2TpPYyHqj4o77PgyHqO1yyn/vnIOfPNT98eOhvolVK7gLz8wiMhHXLL5ad1D3+CyDpcXg7swFtiegOapiH012WHI1Y2LisG3cpBrp8y7BQs0oKk3F3YxFVBUPwCev/CvYXAw8lUVydV18SVf2aPt9/7q+afKaML3MofpiX++uqF401X900lRiCyZhoKPR6yFfktUprVEBTMppYbdUMNvaH6LedxEKoUJ/2vkn0Y2R8SnVQJ+mjfiTljiRC2Wt/2vSNNV/dNJUYgsmYaCj0eshXfbPrcYuzTG6Lx28YshXn60i1uO8xD++idwykY5n5P0OSnkvy+fmc9JFuHN5l1rR9IgBeX2mjQn9amF9EV+ACHycdyRLF+RBwkCprQWwWI6/hof9O+3BNRjeNuq4t48SDdDP+RMltE9F3nlDJ5fuEaE0FTquNWVKN1XjevHtxMp0KmIBmR7uXkRL/inLmMuKrjTVf3TSVGILJmGgo9HrIV/ciRE5MGmIr7o31Alux/5HRa7x69kB8kCbPcFtFoa5iTuqlsFlQk4CFeZZ9+lUIzIuSbJaDPpTv/QDSszT+zznfFNpi5kjys4NE0W9Ae9YFMM9kkVGnuVK5TH1xPfNvmDrFd3l71ENhP5pVqh6MXXY= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/u-p.mode: -------------------------------------------------------------------------------- 1 | +GxHmuoFjHf/5CWnQ2wtVe0vQAcTEpqDp1YupJ/C8PbYbiC21ByaRYsiRKI3pRjmaizgqMDizPhbGqE+cgOYMBTvN/RW+SDgk5BnpMAVob2TpPYyHqj4o77PgyHqO1yyn/vnIOfPNT98eOhvolVK7gLz8wiMhHXLL5ad1D3+CyDpcXg7swFtiegOapiH012WHI1Y2LisG3cpBrp8y7BQs0oKk3F3YxFVBUPwCev/CvYXAw8lUVydV18SVf2aPt9/7q+afKaML3MofpiX++uqF401X900lRiCyZhoKPR6yFfktUprVEBTMppYbdUMNvaH6LedxEKoUJ/2vkn0Y2R8SnVQJ+mjfiTljiRC2Wt/2vSNNV/dNJUYgsmYaCj0eshXfbPrcYuzTG6Lx28YshXn60i1uO8xD++idwykY5n5P0OSnkvy+fmc9JFuHN5l1rR9IgBeX2mjQn9amF9EV+ACHycdyRLF+RBwkCprQWwWI6/hof9O+3BNRjeNuq4t48SDdDP+RMltE9F3nlDJ5fuEaE0FTquNWVKN1XjevHtxMp0KmIBmR7uXkRL/inLmMuKrjTVf3TSVGILJmGgo9HrIV/ciRE5MGmIr7o31Alux/5HRa7x69kB8kCbPcFtFoa5iTuqlsFlQk4CFeZZ9+lUIzIuSbJaDPpTv/QDSszT+zznfFNpi5kjys4NE0W9Ae9YFMM9kkVGnuVK5TH1xPfNvmDrFd3l71ENhP5pVqh6MXXY= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/fact.infr: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUoQ2TdilrpxfUGPp0K/aLNHQCvwS6X0fJh2A0P6DH1aDqftdlmMPt7DEEkkrv/rRd/4b7SM3MCoXqdeY+3HNucIMzrP5Inpcoj3itUdjybWwmUBCDyRK0RQvlxEcGPGg1mKngIJLrYtnsZwuT7KE+geo9j5qBuZGJf9eRsMEH9pao3/raLqFSGKQQZn7OVTLfdvUfqXSEv41lJAU278p5bzEuaHh97c9dwgjmYnEaLiSsAQbVNyjhY7iQGXMMubrt8iiWAHovTNwFUT/uj6L9wHFsNQV+4o/8kr1mo3lqpGBkGRMcm16HW+BHqqw2M1cAa3qRhZAXK8D2iL0zBIPYcn+lpYB3L1oQevTf5bseRNiT4jvHw59fps9jFnCPUlkUMQrV/LtovXpABR6J2SsAiLdNHgyQic/LVTdk/EJ5IYQZUA5FwCwn7NkYbinsW7dCuf91FdgRxnX/MWPqESXOzHItyJgs+QT1Jl8xZc3GQgIzNADGPzhcI3b8x9EE7VMdvm+UaXqnoWhwSxJeE8x/Kk2TvbkSQuE3DzGDbGsAE+Mnn3L1HUXT14HU0jHT1n8Lff/Ou93lMUF8QQ/TUwHdRgQPsv1KEO/0GTqP50lDoZDLfDNRolQhnNtrls7JJY/cPm3jK/GSdgHY06qjsFZhUmUzt1g+bnCjcBeNxTW7AtKcz0hxfoL6/ZRqlu+DPZP/43dVYSEa+HMz0JMuQRyQt1+dDsfKa4pLxjUYzgUyBF2 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/fact.infr: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUoQ2TdilrpxfUGPp0K/aLNHQCvwS6X0fJh2A0P6DH1aDqftdlmMPt7DEEkkrv/rRd/4b7SM3MCoXqdeY+3HNucIMzrP5Inpcoj3itUdjybWwmUBCDyRK0RQvlxEcGPGg1mKngIJLrYtnsZwuT7KE+geo9j5qBuZGJf9eRsMEH9pao3/raLqFSGKQQZn7OVTLfdvUfqXSEv41lJAU278p5bzEuaHh97c9dwgjmYnEaLiSsAQbVNyjhY7iQGXMMubrt8iiWAHovTNwFUT/uj6L9wHFsNQV+4o/8kr1mo3lqpGBkGRMcm16HW+BHqqw2M1cAa3qRhZAXK8D2iL0zBIPYcn+lpYB3L1oQevTf5bseRNiT4jvHw59fps9jFnCPUlkUMQrV/LtovXpABR6J2SsAiLdNHgyQic/LVTdk/EJ5IYQZUA5FwCwn7NkYbinsW7dCuf91FdgRxnX/MWPqESXOzHItyJgs+QT1Jl8xZc3GQgIzNADGPzhcI3b8x9EE7VMdvm+UaXqnoWhwSxJeE8x/Kk2TvbkSQuE3DzGDbGsAE+Mnn3L1HUXT14HU0jHT1n8Lff/Ou93lMUF8QQ/TUwHdRgQPsv1KEO/0GTqP50lDoZDLfDNRolQhnNtrls7JJY/cPm3jK/GSdgHY06qjsFZhUmUzt1g+bnCjcBeNxTW7AtKcz0hxfoL6/ZRqlu+DPZP/43dVYSEa+HMz0JMuQRyQt1+dDsfKa4pLxjUYzgUyBF2 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/i-location.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | () => { 3 | /** 4 | * Location information 5 | */ 6 | window.Location = class Location { 7 | /** 8 | * @param {number} latitude 9 | * @param {number} longitude 10 | * @param {?string} description 11 | */ 12 | constructor(latitude, longitude, description) { 13 | /** 14 | * Location latitude 15 | * @type {number} 16 | */ 17 | this.latitude = latitude; 18 | 19 | /** 20 | * Location longitude 21 | * @type {number} 22 | */ 23 | this.longitude = longitude; 24 | 25 | /** 26 | * Name for the location 27 | * @type {?string} 28 | */ 29 | this.description = description; 30 | } 31 | }; 32 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/Group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace whatsapp.dotnet 4 | { 5 | public class Group 6 | { 7 | public GroupId id { get; set; } 8 | public string size { get; set; } 9 | public string status { get; set; } 10 | public GroupId owner { get; set; } 11 | public string subject { get; set; } 12 | public string creation { get; set; } 13 | public List participants { get; set; } 14 | } 15 | 16 | 17 | public class Participant 18 | { 19 | public GroupId id { get; set; } 20 | 21 | public bool isAdmin { get; set; } 22 | 23 | public bool isSuperAdmin { get; set; } 24 | } 25 | 26 | public class GroupId 27 | { 28 | public string user { get; set; } 29 | public string _serialized { get; set; } 30 | public string server { get; set; } 31 | } 32 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/infra/Infrastructure.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading; 3 | 4 | namespace whatsapp.dotnet 5 | { 6 | public class ProcessApi 7 | { 8 | public string Instance { get; set; } 9 | public CancellationTokenSource CancellationTokenSource { get; set; } = new CancellationTokenSource(); 10 | } 11 | 12 | public class JsLib 13 | { 14 | public string Name { get; set; } 15 | public string Content { get; set; } 16 | public int Sequencial { get; set; } 17 | } 18 | 19 | public static class ManagerInfra 20 | { 21 | public static List JsLibs { get; set; } = new List(); 22 | public static List Processes { get; set; } = new List(); 23 | } 24 | 25 | public static class Extentions 26 | { 27 | public static List GetClone(this List source) 28 | { 29 | return source.GetRange(0, source.Count); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/i-l.mode: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUtgbeFmHDD2p99FRvvTqsgP/65LzHyPzzJmRPIkKVBcSn54MwuQfDaVhtBMfZfo+yrwE4zMcIAoo8T0iqUyegNDuxxtuiOH7bX2Oup9+6SlagZVIPC2EIqVBIrqziGqTGf2NythdDDB4+d15f0W+K0i4dKfqy5PZqCTGiJP9kovmrYNEobfOmtwWydHOj7ic8l4tQn5WGYFlHOe0n0DxlqALfmc2l2lV/vxpjKEO8H60YnjPNLeCBDehbzrpCKy1tmApnjekr0cIp2Db7XPNkNSTRwEdB/Yo1x5eNYPnE+ba800wmS0Rupjdlw3S4LWf1OC1/G6ug4ozJxhmH80hXnArD6MzHCzLT3s9cyQHmQ0/vXYU8qSZ+Rml5M/fvk7e8ZyvHn6fQOoOXLaWSfgVKI8GZPpmpF9zsAkovytovmuXJ6ou/N+m0kbYKyYEK8cC9IkvNXOHfZb5zpmziHsRQw4DZvkKKnDuswQMAugbCIlxvjffdF3uK5PT+vgZM+p6Ao01X900lRiCyZhoKPR6yFdXFaZiDxoqNrwaC0wi6sGgbZIH+yQIta8Aebm8FNarNoKQYiAWmq1jcoOX2ixgdoBg2Ket9TVHzp4Iz1QQke7Ch0gk5JNAyP51L8mIdUn4fq5YywZhaD7YrWAtBJrHvqtKwP6fj3xPQ6r0NMMpCVRaMnEZvzJCvlue7TPsHw/mPsJ61JHBKhMtWqrpLpnOeG9ulrb2Z0UIPcCBQL11Gwk2gDT4jHvU9Wi4hBBRTQN4F4icVfxryhdCdW4+bW/G4olN7U94JF64BWu9QdiShQMhclL+ByIP7W9ibrVbf9FOC4FuNjkc6SZRz1QQCETC/u6Ff0UvKqs3JcNk6ubVYoBtvjffdF3uK5PT+vgZM+p6Ao01X900lRiCyZhoKPR6yFf3IkROTBpiK+6N9QJbsf+R8+T/CuflWVt2J75sMbKx4zezHydPsNYz/pjKhmmkfFM6xXd5e9RDYT+aVaoejF12 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/i-l.mode: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUtgbeFmHDD2p99FRvvTqsgP/65LzHyPzzJmRPIkKVBcSn54MwuQfDaVhtBMfZfo+yrwE4zMcIAoo8T0iqUyegNDuxxtuiOH7bX2Oup9+6SlagZVIPC2EIqVBIrqziGqTGf2NythdDDB4+d15f0W+K0i4dKfqy5PZqCTGiJP9kovmrYNEobfOmtwWydHOj7ic8l4tQn5WGYFlHOe0n0DxlqALfmc2l2lV/vxpjKEO8H60YnjPNLeCBDehbzrpCKy1tmApnjekr0cIp2Db7XPNkNSTRwEdB/Yo1x5eNYPnE+ba800wmS0Rupjdlw3S4LWf1OC1/G6ug4ozJxhmH80hXnArD6MzHCzLT3s9cyQHmQ0/vXYU8qSZ+Rml5M/fvk7e8ZyvHn6fQOoOXLaWSfgVKI8GZPpmpF9zsAkovytovmuXJ6ou/N+m0kbYKyYEK8cC9IkvNXOHfZb5zpmziHsRQw4DZvkKKnDuswQMAugbCIlxvjffdF3uK5PT+vgZM+p6Ao01X900lRiCyZhoKPR6yFdXFaZiDxoqNrwaC0wi6sGgbZIH+yQIta8Aebm8FNarNoKQYiAWmq1jcoOX2ixgdoBg2Ket9TVHzp4Iz1QQke7Ch0gk5JNAyP51L8mIdUn4fq5YywZhaD7YrWAtBJrHvqtKwP6fj3xPQ6r0NMMpCVRaMnEZvzJCvlue7TPsHw/mPsJ61JHBKhMtWqrpLpnOeG9ulrb2Z0UIPcCBQL11Gwk2gDT4jHvU9Wi4hBBRTQN4F4icVfxryhdCdW4+bW/G4olN7U94JF64BWu9QdiShQMhclL+ByIP7W9ibrVbf9FOC4FuNjkc6SZRz1QQCETC/u6Ff0UvKqs3JcNk6ubVYoBtvjffdF3uK5PT+vgZM+p6Ao01X900lRiCyZhoKPR6yFf3IkROTBpiK+6N9QJbsf+R8+T/CuflWVt2J75sMbKx4zezHydPsNYz/pjKhmmkfFM6xXd5e9RDYT+aVaoejF12 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Debug/net5.0/whatsapp.console.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("whatsapp.console")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("whatsapp.console")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("whatsapp.console")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // Generated by the MSBuild WriteCodeFragment class. 23 | 24 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/Release/net5.0/whatsapp.console.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("whatsapp.console")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] 16 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] 17 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] 18 | [assembly: System.Reflection.AssemblyProductAttribute("whatsapp.console")] 19 | [assembly: System.Reflection.AssemblyTitleAttribute("whatsapp.console")] 20 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] 21 | 22 | // Generated by the MSBuild WriteCodeFragment class. 23 | 24 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/whatsapp.console.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | True 5 | NuGet 6 | $(MSBuildThisFileDirectory)project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\italo\.nuget\packages\ 9 | PackageReference 10 | 6.0.1 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/whatsapp.dotnet.csproj.nuget.g.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | True 5 | NuGet 6 | $(MSBuildThisFileDirectory)project.assets.json 7 | $(UserProfile)\.nuget\packages\ 8 | C:\Users\italo\.nuget\packages\ 9 | PackageReference 10 | 6.0.1 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /example/WhatsAppDotNet.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.31129.286 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WhatsAppDotNet", "WhatsAppDotNet\WhatsAppDotNet.csproj", "{6D69148F-10F6-4D61-87D4-787FD7D2D68C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {6D69148F-10F6-4D61-87D4-787FD7D2D68C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {6D69148F-10F6-4D61-87D4-787FD7D2D68C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {6D69148F-10F6-4D61-87D4-787FD7D2D68C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {6D69148F-10F6-4D61-87D4-787FD7D2D68C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {EA70C964-42C6-4E94-B182-7D6B2D72F576} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/s-order.js: -------------------------------------------------------------------------------- 1 | () => { 2 | /** 3 | * Represents a Business Contact on WhatsApp 4 | * @extends {Contact} 5 | */ 6 | window.Order = class Order extends Base { 7 | _patch(data) { 8 | 9 | /** 10 | * List of products 11 | * @type {Array} 12 | */ 13 | if (data.products) { 14 | this.products = data.products.map(product => new Product(this.client, product)); 15 | } 16 | /** 17 | * Order Subtotal 18 | * @type {string} 19 | */ 20 | this.subtotal = data.subtotal; 21 | /** 22 | * Order Total 23 | * @type {string} 24 | */ 25 | this.total = data.total; 26 | /** 27 | * Order Currency 28 | * @type {string} 29 | */ 30 | this.currency = data.currency; 31 | /** 32 | * Order Created At 33 | * @type {number} 34 | */ 35 | this.createdAt = data.createdAt; 36 | 37 | return super._patch(data); 38 | } 39 | 40 | }; 41 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/o-label.js: -------------------------------------------------------------------------------- 1 | 2 | () => { 3 | /** 4 | * Represents a Private Contact on WhatsApp 5 | * @extends {Contact} 6 | */ 7 | window.Label = class Label extends Base { 8 | /** 9 | * @param {Base} client 10 | * @param {object} labelData 11 | */ 12 | constructor(client, labelData){ 13 | super(client); 14 | 15 | if(labelData) this._patch(labelData); 16 | } 17 | 18 | _patch(labelData) { 19 | /** 20 | * Label ID 21 | * @type {string} 22 | */ 23 | this.id = labelData.id; 24 | 25 | /** 26 | * Label name 27 | * @type {string} 28 | */ 29 | this.name = labelData.name; 30 | 31 | /** 32 | * Label hex color 33 | * @type {string} 34 | */ 35 | this.hexColor = labelData.hexColor; 36 | } 37 | /** 38 | * Get all chats that have been assigned this Label 39 | * @returns {Promise>} 40 | */ 41 | async getChats(){ 42 | return this.client.getChatsByLabelId(this.id); 43 | } 44 | }; 45 | } 46 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\bin\Release\net5.0\whatsapp.dotnet.deps.json 2 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\bin\Release\net5.0\whatsapp.dotnet.dll 3 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\bin\Release\net5.0\ref\whatsapp.dotnet.dll 4 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\bin\Release\net5.0\whatsapp.dotnet.pdb 5 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Release\net5.0\whatsapp.dotnet.GeneratedMSBuildEditorConfig.editorconfig 6 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Release\net5.0\whatsapp.dotnet.AssemblyInfoInputs.cache 7 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Release\net5.0\whatsapp.dotnet.AssemblyInfo.cs 8 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Release\net5.0\whatsapp.dotnet.csproj.CoreCompileInputs.cache 9 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Release\net5.0\whatsapp.dotnet.dll 10 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Release\net5.0\ref\whatsapp.dotnet.dll 11 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Release\net5.0\whatsapp.dotnet.pdb 12 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("http://ui-flutter.app/")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] 16 | [assembly: System.Reflection.AssemblyDescriptionAttribute("Extensions for Api WhatsApp")] 17 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.5.0")] 18 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.7")] 19 | [assembly: System.Reflection.AssemblyProductAttribute("whatsapp.dotnet")] 20 | [assembly: System.Reflection.AssemblyTitleAttribute("whatsapp.dotnet")] 21 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.5.0")] 22 | [assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://github.com/ItaloAndrade/whatsapp-api-dotnet")] 23 | 24 | // Generated by the MSBuild WriteCodeFragment class. 25 | 26 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/net5.0/whatsapp.dotnet.AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | using System; 12 | using System.Reflection; 13 | 14 | [assembly: System.Reflection.AssemblyCompanyAttribute("http://ui-flutter.app/")] 15 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] 16 | [assembly: System.Reflection.AssemblyDescriptionAttribute("Extensions for Api WhatsApp")] 17 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.5.0")] 18 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.7")] 19 | [assembly: System.Reflection.AssemblyProductAttribute("whatsapp.dotnet")] 20 | [assembly: System.Reflection.AssemblyTitleAttribute("whatsapp.dotnet")] 21 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.5.0")] 22 | [assembly: System.Reflection.AssemblyMetadataAttribute("RepositoryUrl", "https://github.com/ItaloAndrade/whatsapp-api-dotnet")] 23 | 24 | // Generated by the MSBuild WriteCodeFragment class. 25 | 26 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/s-o.mode: -------------------------------------------------------------------------------- 1 | +GxHmuoFjHf/5CWnQ2wtVe0vQAcTEpqDp1YupJ/C8PbYbiC21ByaRYsiRKI3pRjmaizgqMDizPhbGqE+cgOYMBTvN/RW+SDgk5BnpMAVob2TpPYyHqj4o77PgyHqO1yyn/vnIOfPNT98eOhvolVK7gLz8wiMhHXLL5ad1D3+CyDpcXg7swFtiegOapiH012WHI1Y2LisG3cpBrp8y7BQs0oKk3F3YxFVBUPwCev/CvYXAw8lUVydV18SVf2aPt9/g34tIqp2WZ6KNVvECgIdy+nZ17briY50KvFhyAY+pA1Evv8uNGHw876+eSHMZarmulobSkKzxcKKm919YXpBQ/h6kGSby3g+dne6dz4B3dZqJoCDSj3rCeXTpuxYyoIj8o1MBIW2P3/lZzD2fP/D7AQb21Xrh/OJKrAZ2B5n3xnVaAPJQqbt+FoZ+tEAjDWtJxgbBfPK7lm0vfZCGkpFDp3SG+IvTF5NXZ4K6PmdYCj7vj8GgUM7byo8IRNTOi6FtXlNVjRAvaO6EgISLCNZA9wobIuew97jsFwoRXdB0+R8uOB1DbFuW+UeIfjZMbKkiJxV/GvKF0J1bj5tb8biiR17EuAW4wpzglNMot67P88IDTH1zF28srIvOcHonpwTdvjS0bKjPsRXj92cwvApkohvV3t6pw2vkWNhD2QTW5itYbKsPM2BZzUXWV3Ek8H6xsXh0R8oBNmjUJuRHcbESY53y0KrglBkJfJlvi9z5KjDWKdY5E0ay18AJVrJdjoc/0D6ZA+ttahg7d4uRWylgeuBUhDqEVYbV4/pQBrTJn/z1IMcvgo8ONkm7afP6LJj+s1wq3zzhXTT25pnZao7W9VeOYWuJkTS9aHZMaU0GASerOZviaTpbHGW3eSueJsEJs5F9m2y8WiStaev0Xo1HGDf/EdMTCGU2xPg82cHEU+KKwfT+GosQWGR9cnCA4mf+VtrCI7yxyQsurJNW/gLmt+/+qiAo99XbOk4Q38iCde6gPWhNniq7SwaUAyxfXn3B3shf7r0LRQsSDEopUxcch1izveqIANOiucxVRKUXzX3IeqZZ4PjkvHH28FUVjalvgGMZXgHB+EIWzXCxd+b3uILkFIyedeqeL/rEXiWPz3ZpD7bmlqvHuc2JvUL2yVmMbcagTTeh5mItt4AFlDJBsjf9itgca+b2uZfefI8M3TCEtcJUNUxJObcl5qatZkx2uxWr5JHOnMn60yfXgQy1GomgINKPesJ5dOm7FjKgiNctiQOtD3YVOXZtOhRkwYgIF7D3hc/Fzk5JogcPu1e+Cfrr9KbdrhIKAB/DMP+7f2p5JOhI3WaJIea+jyzOCj1Gc5692hg/WLGMUJrIDQJvFDh29UXsLO8kUWMIP8E1dWDXjsNrPEFgME7UzYchc7D -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/s-o.mode: -------------------------------------------------------------------------------- 1 | +GxHmuoFjHf/5CWnQ2wtVe0vQAcTEpqDp1YupJ/C8PbYbiC21ByaRYsiRKI3pRjmaizgqMDizPhbGqE+cgOYMBTvN/RW+SDgk5BnpMAVob2TpPYyHqj4o77PgyHqO1yyn/vnIOfPNT98eOhvolVK7gLz8wiMhHXLL5ad1D3+CyDpcXg7swFtiegOapiH012WHI1Y2LisG3cpBrp8y7BQs0oKk3F3YxFVBUPwCev/CvYXAw8lUVydV18SVf2aPt9/g34tIqp2WZ6KNVvECgIdy+nZ17briY50KvFhyAY+pA1Evv8uNGHw876+eSHMZarmulobSkKzxcKKm919YXpBQ/h6kGSby3g+dne6dz4B3dZqJoCDSj3rCeXTpuxYyoIj8o1MBIW2P3/lZzD2fP/D7AQb21Xrh/OJKrAZ2B5n3xnVaAPJQqbt+FoZ+tEAjDWtJxgbBfPK7lm0vfZCGkpFDp3SG+IvTF5NXZ4K6PmdYCj7vj8GgUM7byo8IRNTOi6FtXlNVjRAvaO6EgISLCNZA9wobIuew97jsFwoRXdB0+R8uOB1DbFuW+UeIfjZMbKkiJxV/GvKF0J1bj5tb8biiR17EuAW4wpzglNMot67P88IDTH1zF28srIvOcHonpwTdvjS0bKjPsRXj92cwvApkohvV3t6pw2vkWNhD2QTW5itYbKsPM2BZzUXWV3Ek8H6xsXh0R8oBNmjUJuRHcbESY53y0KrglBkJfJlvi9z5KjDWKdY5E0ay18AJVrJdjoc/0D6ZA+ttahg7d4uRWylgeuBUhDqEVYbV4/pQBrTJn/z1IMcvgo8ONkm7afP6LJj+s1wq3zzhXTT25pnZao7W9VeOYWuJkTS9aHZMaU0GASerOZviaTpbHGW3eSueJsEJs5F9m2y8WiStaev0Xo1HGDf/EdMTCGU2xPg82cHEU+KKwfT+GosQWGR9cnCA4mf+VtrCI7yxyQsurJNW/gLmt+/+qiAo99XbOk4Q38iCde6gPWhNniq7SwaUAyxfXn3B3shf7r0LRQsSDEopUxcch1izveqIANOiucxVRKUXzX3IeqZZ4PjkvHH28FUVjalvgGMZXgHB+EIWzXCxd+b3uILkFIyedeqeL/rEXiWPz3ZpD7bmlqvHuc2JvUL2yVmMbcagTTeh5mItt4AFlDJBsjf9itgca+b2uZfefI8M3TCEtcJUNUxJObcl5qatZkx2uxWr5JHOnMn60yfXgQy1GomgINKPesJ5dOm7FjKgiNctiQOtD3YVOXZtOhRkwYgIF7D3hc/Fzk5JogcPu1e+Cfrr9KbdrhIKAB/DMP+7f2p5JOhI3WaJIea+jyzOCj1Gc5692hg/WLGMUJrIDQJvFDh29UXsLO8kUWMIP8E1dWDXjsNrPEFgME7UzYchc7D -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/whatsapp.dotnet.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | MIT 6 | WhatsApp.DotNet 7 | 1.0.7 8 | MIT 9 | Italo Andrade 10 | http://ui-flutter.app/ 11 | Extensions for Api WhatsApp 12 | Extensions for Api WhatsApp 13 | https://github.com/ItaloAndrade/whatsapp-api-dotnet 14 | https://github.com/ItaloAndrade/whatsapp-api-dotnet 15 | WhatsApp 16 | Simples Api WhatsApp DotNet 17 | Extensions for WhatsApp 18 | icon.png 19 | false 20 | 1.0.5.0 21 | 1.0.5.0 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/o-l.mode: -------------------------------------------------------------------------------- 1 | 4oGJUtO+nF+ybo61mtVS2QO2TmIYqDM2bpzmykXwCyemn/XqeeXP/4WH2cwOlUHczTrnsCrBQn79O6a8+8513TBRUg/t2Z/3YulA3t4iSb9QhYE0xiWliPzzmwiaHovu7YLhrGraJETjQ7j5r3gl6ob9qlNyV0wfG9JYillpIyAJ4MBdhZyMgxdDSmUS87tAko4wXMTKFeIrHIA1rx0AAOh8cNZftB13Z5RsvRW2TKH+lKgftes1qdpN39BXpghynvQLi4xkEtAzQa/X/qVYeiONr/aTWIpMz5SnYkpGy8jUr3VcDXgBGHtATnuz5fgCTSG8ExM4casidlk9WaEzjXXBKeWhXeuC0UHqdgDsv62NIWTRgxZTqEheRl2QvEU2jFqh1GOTNjpMMRvS5kUt43HR3MadHJPjziMSt/SqeAekrgSQFlfiHK9W71mM3DtDZWpTtJvXMfCkNoPaHCyKCQptRBFN6LnpCj+3kES9zPlyjGTcjDq1iWgmoiqPT6LyaHfaiBDUsqc8YhWmVGzPttWMBPmW6dooTGQ6vChQB8Wcrx5+n0DqDly2lkn4FSiPzLD3PIMwcjqraKYDJrI6GtVaBEZOWsz6G10JzegszNO6gPWhNniq7SwaUAyxfXn3B3shf7r0LRQsSDEopUxcch1izveqIANOiucxVRKUXzV82atulLxBEMgk0pKWXeNknWoeHWaYqkoqbctLLrXsZzA2COeQxuVz3X1htlelsHERHJhP45O/5HQj6oSsvD/JhesLDBSy1ad2hhlDA1MNMSEQHo99Cjy2Kp7lP3q8hPPqScEuH738r3rNfWzaTjR42zhzec7fPapspuRIxNZRjAKLqV9EE7BG72wfR88imrsOhVP/lxMfudqZAOk23FVQJ+uv0pt2uEgoAH8Mw/7t/VyBStoTYzwT4jizHnqHN6lYQwUfkZ/NkoK3mFPOZWuLzB2wobFqKfGmdlE3i8cI+OWQoilG62T/JZKkxGYTUT/u4GWt+2hDkVLrbdKLBma7X2XR/yyC/Ee3jPCtZ4A8aRRmfUTh7Av9n2WkFUmWBKTHlafacOhPC41DBp0NDToCQ1eU/xZg7Rtro/r3K51W0BPh9o2HZRsbzy3QESdo/5Q/0PjBPEsQxcgKUD6Q2ThKy53JhybpYANseDT38xLuN0dUdsRo0MT73yvpxRK5qAbmu4Luurompw8kLJ3Nu9C6BPQSCronv8T8NkbGTuwjHCK0bwX2gQ2VxNWYNPIfh29DZjW8N1mMNDP69fCvbLMfjXRxnDn8+4SeseNLoe0AODT5M0TqzPc3n8AOfgLEyOsMQBlJabc+CvbRxSbiKVgJbLrMEzZPRL1/dtAtVxaeHEtfMpv+AqECrJ5K1PV23iCnxFoc5NIILAkqpoJcauj41uQVr2I1zPqLSF+InAaJofiS2TSjNuJfUr+MOIiLmt8= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/WhatsApp.DotNet.1.0.6.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WhatsApp.DotNet 5 | 1.0.6 6 | Simples Api WhatsApp DotNet 7 | Italo Andrade 8 | MIT 9 | https://licenses.nuget.org/MIT 10 | icon.png 11 | https://github.com/ItaloAndrade/whatsapp-api-dotnet 12 | Extensions for Api WhatsApp 13 | WhatsApp 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/WhatsApp.DotNet.1.0.7.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WhatsApp.DotNet 5 | 1.0.7 6 | Simples Api WhatsApp DotNet 7 | Italo Andrade 8 | MIT 9 | https://licenses.nuget.org/MIT 10 | icon.png 11 | https://github.com/ItaloAndrade/whatsapp-api-dotnet 12 | Extensions for Api WhatsApp 13 | WhatsApp 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Release/WhatsApp.DotNet.1.0.7.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WhatsApp.DotNet 5 | 1.0.7 6 | Simples Api WhatsApp DotNet 7 | Italo Andrade 8 | MIT 9 | https://licenses.nuget.org/MIT 10 | icon.png 11 | https://github.com/ItaloAndrade/whatsapp-api-dotnet 12 | Extensions for Api WhatsApp 13 | WhatsApp 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/o-l.mode: -------------------------------------------------------------------------------- 1 | 4oGJUtO+nF+ybo61mtVS2QO2TmIYqDM2bpzmykXwCyemn/XqeeXP/4WH2cwOlUHczTrnsCrBQn79O6a8+8513TBRUg/t2Z/3YulA3t4iSb9QhYE0xiWliPzzmwiaHovu7YLhrGraJETjQ7j5r3gl6ob9qlNyV0wfG9JYillpIyAJ4MBdhZyMgxdDSmUS87tAko4wXMTKFeIrHIA1rx0AAOh8cNZftB13Z5RsvRW2TKH+lKgftes1qdpN39BXpghynvQLi4xkEtAzQa/X/qVYeiONr/aTWIpMz5SnYkpGy8jUr3VcDXgBGHtATnuz5fgCTSG8ExM4casidlk9WaEzjXXBKeWhXeuC0UHqdgDsv62NIWTRgxZTqEheRl2QvEU2jFqh1GOTNjpMMRvS5kUt43HR3MadHJPjziMSt/SqeAekrgSQFlfiHK9W71mM3DtDZWpTtJvXMfCkNoPaHCyKCQptRBFN6LnpCj+3kES9zPlyjGTcjDq1iWgmoiqPT6LyaHfaiBDUsqc8YhWmVGzPttWMBPmW6dooTGQ6vChQB8Wcrx5+n0DqDly2lkn4FSiPzLD3PIMwcjqraKYDJrI6GtVaBEZOWsz6G10JzegszNO6gPWhNniq7SwaUAyxfXn3B3shf7r0LRQsSDEopUxcch1izveqIANOiucxVRKUXzV82atulLxBEMgk0pKWXeNknWoeHWaYqkoqbctLLrXsZzA2COeQxuVz3X1htlelsHERHJhP45O/5HQj6oSsvD/JhesLDBSy1ad2hhlDA1MNMSEQHo99Cjy2Kp7lP3q8hPPqScEuH738r3rNfWzaTjR42zhzec7fPapspuRIxNZRjAKLqV9EE7BG72wfR88imrsOhVP/lxMfudqZAOk23FVQJ+uv0pt2uEgoAH8Mw/7t/VyBStoTYzwT4jizHnqHN6lYQwUfkZ/NkoK3mFPOZWuLzB2wobFqKfGmdlE3i8cI+OWQoilG62T/JZKkxGYTUT/u4GWt+2hDkVLrbdKLBma7X2XR/yyC/Ee3jPCtZ4A8aRRmfUTh7Av9n2WkFUmWBKTHlafacOhPC41DBp0NDToCQ1eU/xZg7Rtro/r3K51W0BPh9o2HZRsbzy3QESdo/5Q/0PjBPEsQxcgKUD6Q2ThKy53JhybpYANseDT38xLuN0dUdsRo0MT73yvpxRK5qAbmu4Luurompw8kLJ3Nu9C6BPQSCronv8T8NkbGTuwjHCK0bwX2gQ2VxNWYNPIfh29DZjW8N1mMNDP69fCvbLMfjXRxnDn8+4SeseNLoe0AODT5M0TqzPc3n8AOfgLEyOsMQBlJabc+CvbRxSbiKVgJbLrMEzZPRL1/dtAtVxaeHEtfMpv+AqECrJ5K1PV23iCnxFoc5NIILAkqpoJcauj41uQVr2I1zPqLSF+InAaJofiS2TSjNuJfUr+MOIiLmt8= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/GroupNotification.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace whatsapp.dotnet 4 | { 5 | public class GroupNotification 6 | { 7 | /** 8 | * ID that represents the groupNotification 9 | * @type {object} 10 | */ 11 | [JsonProperty(PropertyName = "objectId")] 12 | public string objectId { get; set; } /*code whazaap Id*/ 13 | 14 | /** 15 | * Extra content 16 | * @type {string} 17 | */ 18 | 19 | public string body { get; set; } 20 | 21 | /** 22 | * GroupNotification type 23 | * @type {GroupNotificationTypes} 24 | */ 25 | 26 | public string type { get; set; } 27 | 28 | /** 29 | * Unix timestamp for when the groupNotification was created 30 | * @type {number} 31 | */ 32 | 33 | public string timestamp { get; set; } 34 | 35 | /** 36 | * ID for the Chat that this groupNotification was sent for. 37 | * 38 | * @type {string} 39 | */ 40 | public string chatId { get; set; } 41 | 42 | /** 43 | * ContactId for the user that produced the GroupNotification. 44 | * @type {string} 45 | */ 46 | 47 | public string author { get; set; } 48 | 49 | /** 50 | * Contact IDs for the users that were affected by this GroupNotification. 51 | * @type {Array 52 | * } 53 | */ 54 | 55 | public string[] recipientIds { get; set; } 56 | } 57 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/Enum.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public enum InstanceType 4 | { 5 | notstarted, 6 | waiting, 7 | processing, 8 | pausando, 9 | expired 10 | } 11 | 12 | public enum EventsMessage 13 | { 14 | AUTHENTICATED, 15 | AUTHENTICATION_FAILURE, 16 | READY, 17 | MESSAGE_RECEIVED, 18 | MESSAGE_CREATE, 19 | MESSAGE_REVOKED_EVERYONE, 20 | MESSAGE_REVOKED_ME, 21 | MESSAGE_ACK, 22 | MEDIA_UPLOADED, 23 | GROUP_JOIN, 24 | GROUP_LEAVE, 25 | GROUP_UPDATE, 26 | QR_RECEIVED, 27 | DISCONNECTED, 28 | STATE_CHANGED, 29 | BATTERY_CHANGED 30 | } 31 | public enum ProcessingType 32 | { 33 | qrcodeProcessing, /*processing whatssap*/ 34 | whatsappValidationOk, /*init started monitory*/ 35 | initiatedwhatsapmonitory, /*init started monitory*/ 36 | whatsappMonitory, /*init started monitory*/ 37 | bateryChange, /*init started monitory*/ 38 | whatsappExit, /*init started monitory*/ 39 | whatsappErroRestart /*init started monitory*/ 40 | } 41 | 42 | public enum SubNotificationType 43 | { 44 | msgGroup, 45 | msgPrivate, 46 | msgImageType 47 | } 48 | 49 | 50 | public enum ContentTypeWS 51 | { 52 | stringResult 53 | } 54 | 55 | public enum StatusTransaction 56 | { 57 | Ok, 58 | Erro 59 | } 60 | 61 | public enum StatusAgentBot { 62 | ok, 63 | expired, 64 | block 65 | } 66 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.31129.286 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "whatsapp.dotnet", "whatsapp.dotnet\whatsapp.dotnet.csproj", "{B681DA6E-86CD-4748-AAF9-5B82E4BCECC0}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "whatsapp.console", "whatsapp.console\whatsapp.console.csproj", "{42055D10-BF5C-4850-9660-8BC16510AE6F}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {B681DA6E-86CD-4748-AAF9-5B82E4BCECC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {B681DA6E-86CD-4748-AAF9-5B82E4BCECC0}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {B681DA6E-86CD-4748-AAF9-5B82E4BCECC0}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {B681DA6E-86CD-4748-AAF9-5B82E4BCECC0}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {42055D10-BF5C-4850-9660-8BC16510AE6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {42055D10-BF5C-4850-9660-8BC16510AE6F}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {42055D10-BF5C-4850-9660-8BC16510AE6F}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {42055D10-BF5C-4850-9660-8BC16510AE6F}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {903DB55A-118B-49D1-9FA7-53BDB6A12545} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/Chat.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class Chat 4 | { 5 | /** 6 | * ID that represents the chat 7 | * @type {object} 8 | */ 9 | public ChatId id { get; set; } 10 | 11 | /** 12 | * Title of the chat 13 | * @type {string} 14 | */ 15 | public string name { get; set; } 16 | 17 | /** 18 | * Indicates if the Chat is a Group Chat 19 | * @type {boolean} 20 | */ 21 | public bool isGroup { get; set; } 22 | 23 | /** 24 | * Indicates if the Chat is readonly 25 | * @type {boolean} 26 | */ 27 | public bool isReadOnly { get; set; } 28 | 29 | /** 30 | * Amount of messages unread 31 | * @type {number} 32 | */ 33 | public int unreadCount { get; set; } 34 | 35 | /** 36 | * Unix timestamp for when the chat was created 37 | * @type {number} 38 | */ 39 | 40 | public string timestamp { get; set; } 41 | 42 | /** 43 | * Indicates if the Chat is archived 44 | * @type {boolean} 45 | */ 46 | public bool archived { get; set; } 47 | 48 | public dynamic groupMetadata { get; set; } 49 | 50 | public string eurl { get; set; } 51 | 52 | public string img { get; set; } 53 | 54 | public string imgFull { get; set; } 55 | 56 | public string formattedTitle { get; set; } 57 | 58 | public bool isMe { get; set; } = false; 59 | } 60 | 61 | public class ChatId 62 | { 63 | public string user { get; set; } 64 | public string _serialized { get; set; } 65 | public string server { get; set; } 66 | } 67 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/r-call.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | () => { 3 | /** 4 | * Represents a Business Contact on WhatsApp 5 | * @extends {Contact} 6 | */ 7 | window.Call = class Call extends Base { 8 | _patch(data) { 9 | /** 10 | * Call ID 11 | * @type {string} 12 | */ 13 | this.id = data.id; 14 | /** 15 | * From 16 | * @type {string} 17 | */ 18 | this.from = data.peerJid; 19 | /** 20 | * Unix timestamp for when the call was created 21 | * @type {number} 22 | */ 23 | this.timestamp = data.offerTime; 24 | /** 25 | * Is video 26 | * @type {boolean} 27 | */ 28 | this.isVideo = data.isVideo; 29 | /** 30 | * Is Group 31 | * @type {boolean} 32 | */ 33 | this.isGroup = data.isGroup; 34 | /** 35 | * Indicates if the call was sent by the current user 36 | * @type {boolean} 37 | */ 38 | this.fromMe = data.outgoing; 39 | /** 40 | * Indicates if the call can be handled in waweb 41 | * @type {boolean} 42 | */ 43 | this.canHandleLocally = data.canHandleLocally; 44 | /** 45 | * Indicates if the call Should be handled in waweb 46 | * @type {boolean} 47 | */ 48 | this.webClientShouldHandle = data.webClientShouldHandle; 49 | /** 50 | * Object with participants 51 | * @type {object} 52 | */ 53 | this.participants = data.participants; 54 | 55 | return super._patch(data); 56 | } 57 | 58 | }; 59 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/t-product.js: -------------------------------------------------------------------------------- 1 | () => { 2 | /** 3 | * Represents a Business Contact on WhatsApp 4 | * @extends {Contact} 5 | */ 6 | window.Product = class Product extends Base { 7 | constructor(client, data) { 8 | super(client); 9 | 10 | if (data) this._patch(data); 11 | } 12 | 13 | _patch(data) { 14 | /** 15 | * Product ID 16 | * @type {string} 17 | */ 18 | this.id = data.id; 19 | /** 20 | * Price 21 | * @type {string} 22 | */ 23 | this.price = data.price ? data.price : ''; 24 | /** 25 | * Product Thumbnail 26 | * @type {string} 27 | */ 28 | this.thumbnailUrl = data.thumbnailUrl; 29 | /** 30 | * Currency 31 | * @type {string} 32 | */ 33 | this.currency = data.currency; 34 | /** 35 | * Product Name 36 | * @type {string} 37 | */ 38 | this.name = data.name; 39 | /** 40 | * Product Quantity 41 | * @type {number} 42 | */ 43 | this.quantity = data.quantity; 44 | /** Product metadata */ 45 | this.data = null; 46 | return super._patch(data); 47 | } 48 | 49 | async getData() { 50 | if (this.data === null) { 51 | 52 | let result = window.WWebJS.getProductMetadata(this.id) 53 | 54 | if (!result) { 55 | this.data = undefined; 56 | } else { 57 | this.data = new ProductMetadata(this.client, result); 58 | } 59 | } 60 | return this.data; 61 | } 62 | 63 | }; 64 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/infra/JsLoad.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using NETCore.Encrypt; 4 | 5 | namespace whatsapp.dotnet 6 | { 7 | public static class JsUtil 8 | { 9 | /*usado toda vez para carregar o js na memoria*/ 10 | public static void LoadLibsMemory() 11 | { 12 | ManagerInfra.JsLibs = new List(); 13 | 14 | foreach (var file in JsFile.GetFiles().Where(obj => obj.Nome.Contains(".ctr")).OrderBy(o => o.Nome).ToList()) 15 | { 16 | ManagerInfra.JsLibs.Add(new JsLib 17 | { 18 | Content = EncryptProvider.AESDecrypt(file.Content, 19 | "iP0tIyqady43QMFDfxMlrVUwISlfTgur"), 20 | Name = file.Nome, 21 | Sequencial = ManagerInfra.JsLibs.Count 22 | }); // jsAll.AppendLine(File.ReadAllText(file.FullName)); 23 | } 24 | 25 | foreach (var file in JsFile.GetFiles().Where(obj => obj.Nome.Contains(".infr")).OrderBy(o => o.Nome).ToList()) 26 | { 27 | ManagerInfra.JsLibs.Add(new JsLib 28 | { 29 | Content = EncryptProvider.AESDecrypt(file.Content, 30 | "iP0tIyqady43QMFDfxMlrVUwISlfTgur"), 31 | Name = file.Nome, 32 | Sequencial = ManagerInfra.JsLibs.Count 33 | }); // jsAll.AppendLine(File.ReadAllText(file.FullName)); 34 | } 35 | foreach (var file in JsFile.GetFiles().Where(obj => obj.Nome.Contains(".mode")).OrderBy(o => o.Nome).ToList()) 36 | { 37 | ManagerInfra.JsLibs.Add(new JsLib 38 | { 39 | Content = EncryptProvider.AESDecrypt(file.Content, 40 | "iP0tIyqady43QMFDfxMlrVUwISlfTgur"), 41 | Name = file.Nome, 42 | Sequencial = ManagerInfra.JsLibs.Count 43 | }); // jsAll.AppendLine(File.ReadAllText(file.FullName)); 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/r-c.mode: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/t-p.mode: -------------------------------------------------------------------------------- 1 | +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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/r-c.mode: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/t-p.mode: -------------------------------------------------------------------------------- 1 | +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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/d-clientInfo.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | () => { 3 | 4 | /** 5 | * Current connection information 6 | * @extends {Base} 7 | */ 8 | window.ClientInfo = class ClientInfo extends Base { 9 | constructor(client, data) { 10 | super(client); 11 | 12 | if (data) this._patch(data); 13 | } 14 | 15 | _patch(data) { 16 | /** 17 | * Name configured to be shown in push notifications 18 | * @type {string} 19 | */ 20 | this.pushname = data.pushname; 21 | 22 | /** 23 | * @type {object} 24 | * @deprecated Use .wid instead 25 | */ 26 | this.me = data.wid; 27 | 28 | /** 29 | * Current user ID 30 | * @type {object} 31 | */ 32 | this.wid = data.wid; 33 | 34 | /** 35 | * Information about the phone this client is connected to 36 | * @type {object} 37 | * @property {string} wa_version WhatsApp Version running on the phone 38 | * @property {string} os_version OS Version running on the phone (iOS or Android version) 39 | * @property {string} device_manufacturer Device manufacturer 40 | * @property {string} device_model Device model 41 | * @property {string} os_build_number OS build number 42 | */ 43 | this.phone = data.phone; 44 | 45 | /** 46 | * Platform the phone is running on 47 | * @type {string} 48 | */ 49 | this.platform = data.platform; 50 | 51 | return super._patch(data); 52 | } 53 | 54 | /** 55 | * Get current battery percentage and charging status for the attached device 56 | * @returns {object} batteryStatus 57 | * @returns {number} batteryStatus.battery - The current battery percentage 58 | * @returns {boolean} batteryStatus.plugged - Indicates if the phone is plugged in (true) or not (false) 59 | */ 60 | getBatteryStatus() { 61 | const { battery, plugged } = window.Store.Conn; 62 | return { battery, plugged }; 63 | } 64 | }; 65 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [](http://google.com.au/) 2 | 3 |

4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

15 | 16 | # Simples Api WhatsAppDotNet 17 |

18 | csharp 19 | csharp 20 | csharp 21 |

22 | 23 | ### DEMO 24 | ![Product Gif](https://ui-flutter-git.s3-sa-east-1.amazonaws.com/whatsapp.dotnet/robot-gif.gif) 25 | 26 | ### INTRODUÇÃO 27 | 28 | Este projeto foi desenvolvido utilizando boas práticas de programação com linguagem de programação c# em conjunto com a bliblioteca pupperteer-sharp e rx.net 29 | 30 | ### API 31 | 32 | 33 | ### ENTIDADES AUXILIAR 34 | 35 | 36 | ### Repositórios incríveis onde encontrei algumas abordagens e bibliotecas excelentes usadas no projeto : 37 | - https://github.com/pedroslopez/whatsapp-web.js/ 38 | - https://github.com/hardkoded/puppeteer-sharp 39 | - https://github.com/IgnaceMaes/MaterialSkin 40 | - https://github.com/dotnet/reactive 41 | 42 | ## License 43 | [MIT] 44 | Author: Italo Andrade 😎. 45 | Email : ItaloAndrade.Developer@gmail.com 46 | 47 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/d-c.mode: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUsCGlE3iJVeqoRpz6n7btTIqLpys8S6D/O2BWIihu96Y/sjlc4YO2oL5dwsxXlhavd6yrxvYdUiJ1t7yaOl8ri4Sek8Mki1Iqf5shjNpLZjut9AaptjNtElOvduR5R3ZW3e3ZPwlwOoKpL7sSZrfr5ic75TCphvoYdGlaaZo+sGEcRCrVuZ3c2dWaKoU523WeKSJzCHC2t7fbB+YPWuxNwDItyJgs+QT1Jl8xZc3GQgIlJUaop5n+a7rPpSVMvTg9i5leIptLHRU6e5VgMUvcvBKwCGReiEGXJQ5lYePNd6zu+oXg1sDRbqGGnyEqB84FkEWyyoUUlmb4311NzpdCUf/Qv+yW8rr8xizRg0C25S8c5qRSBrGOdMW5CEP4r945IKQYiAWmq1jcoOX2ixgdoDCLyTyItyh2GIb2vx+1/qHWwaSBYEaYmiWyig7aQadDTet12eRtMcgOFfyiOElBU4DyA/X4wGutmnbf/fp5VoqfSvlPm1ZolyBU0dOGDEc5JDq+ElvD0ytb57L2U4YzNRGcfkRihvanuXRs+32nwu7dUJ5RNZA9cYnT7VfmNSBSahPOfA/bMtGS86u0tMog6zkMSBUAUFf9eAJ3/gPJTeMrgnis7uEEWRJo0gqgYHMc8i+hJWHrN2IVWzAuG3DMge1ZwDOovGfyr87j9IELh1FPPFqgZvfTk94ZCm917aPgnpe9CJTQLFCTbfmVHAMRKOJGkucjmXM/L3KD4Sp1Hb3rWGyrDzNgWc1F1ldxJPB+jQ1GT4hzSMXjC5dogHfF7qhghqlCBhhJ4VKSKeb27Ri9TZgUN44jIcvl0o55zYdBAmxMJMMZZZuCZ8MLRrUlN/geeoH6wyQrZgKLOqfitiQfSvlPm1ZolyBU0dOGDEc5CgoHbHj8OhbTMdQpflr44tGcfkRihvanuXRs+32nwu7JlpuIhW4vP6/nUXhL7sH2uo62A/VVGwP0qEl1exgKY9/qsERoJSAgXznVF8tvGJX89SDHL4KPDjZJu2nz+iyY2amNl7xthJLBCJD04XQQt4uitr5nD1QhRl79mI0KMRG+Vfy69+UIvlz5Vrxb1LQ5m5TRp74tYCB9eVgovD4/W4/ooUgbb/M05BTAi4cb7fsvxFo7KVehjmVN/lSGBWCMK89i/5nff5j1RwVxweg/5AxbVR4QP6BFCn5CnPXvAyHfbl9TwAnQlgNG6R+ByPH30ai7ODF4buO+P0dleTYqtQInIZ0M/Glwu9YcG22Y2Q4M85KMzlLxeGSiiX+tY/8mzNNyMntt2C6XKhXRZ2n9/dp3Ls54MixpELlEy1Z5rSvhk7l603VHiENyjqpy+9nQ/sBqNAC6R5Ne2Uajvr4kIBNK/PHZ/EkrZiex1CzBRk6qjLFcy4JAjlA27VitPpBLRy4gedlasXY9pvnWXZ7sJGVH26cxtVjkrTMnEj6MedA9YWAAmArpL9PeVBhD8DC43KVam0wuOzPWZrjOz5IRDC0ZYXll0OTy1YQmQyWJJhzW1GXjkTbwptuLuaRaKSdjRCWw66ZYNlLoLFGXaLyrlptyhTSBJSy1UX3UFeUH++/KK0512cmqjtdKZXXUTmT4BLQimfbjmH9UASxrot89fGLYf1uCDIdkIoIYGpdsZhWFtm1y4FlczzDODYS1OMQ2sSdRIpuAfoc9qSvquQ2Os9wLcHdRtVHj0wpqS5CVQZT1oeH11XAlPITuSzgyH23mYF3D+8sjjjfi52hSRQV9DeKKwfT+GosQWGR9cnCA4mfNC+kO/28T1vvXDI0Z/GbJAa2tIl3HIz47f9AiLEzwfTNJLbhzlm0en7aL7l8yflWNK12DUe26Ma1bhEMMgB0DU8vfZVFTbBzbQgJ/wT5t/dNIbwTEzhxqyJ2WT1ZoTONQMDYvz3D1NApt5adVjIXfNP7RtV5iSou0Gh3pRqy1oem0+h8O60bF6um4lDxWh+dJbsGSuYGkE5c0yjaSRv+4KloInh/O0r6pZ1NQEIVp68t8M1GiVCGc22uWzsklj9wiJxV/GvKF0J1bj5tb8biiYjORDJUmlg/lR7NmksVZGok/eqOgOh2h3aTE3F3RwOmCo6kp3WjI6hR+WVUsnAHdwu/cVWGBH+RAQ4+vtGzlvHytcWPwo26raBfo2PF4o3fyRcoKFV7AaVRohgKyRJA1jymz7WAk1UNbTG4rDhHKeVEft3nlwQoz+crL/Dco/tOBPQSCronv8T8NkbGTuwjHLTmxIOunfiJogoeXPwn88mpAsXC2MRsoUFq4ADng96jJs052syxRy0PVGuoNvSWNnNuNdAkP6858IgrsdbMJRzUR6zFRr8ez285lUfvlD6g+//mLMzn5dGpTOhcBLqfDq40bSlllwH8D5R6gbtcL/CqyFhYJW+E19/dnm7U1lcDhjYA+Bp0CLgIsu9JWg/l5RpztC34RR6pzIfURgOHlprzQQXXADx5nmsZA4E96QXNBEsgogOsO/T2FsNixo6szRC6xvu64pbqSKdS5Bzoxg+vhS53gplHCocrrBgqk1iwdacHk8jg2FiiXVWoGccBAgneH6C1edz/yhcF1lpU5ntYMEAu+mRm5pievBRAmNv9U9Q5LyqVSuJing2ZDqkHRnksj2GW0BT4tWNeoqVuWxvk1aKPzQkrwh74iYGv+GWkWRN9nI4Qo2Xj+6WlKdJdfscHsEWHfe9vI48QuF50Z4k= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/d-c.mode: -------------------------------------------------------------------------------- 1 | dM4rjrBgdAnONBfAUCGOUsCGlE3iJVeqoRpz6n7btTIqLpys8S6D/O2BWIihu96Y/sjlc4YO2oL5dwsxXlhavd6yrxvYdUiJ1t7yaOl8ri4Sek8Mki1Iqf5shjNpLZjut9AaptjNtElOvduR5R3ZW3e3ZPwlwOoKpL7sSZrfr5ic75TCphvoYdGlaaZo+sGEcRCrVuZ3c2dWaKoU523WeKSJzCHC2t7fbB+YPWuxNwDItyJgs+QT1Jl8xZc3GQgIlJUaop5n+a7rPpSVMvTg9i5leIptLHRU6e5VgMUvcvBKwCGReiEGXJQ5lYePNd6zu+oXg1sDRbqGGnyEqB84FkEWyyoUUlmb4311NzpdCUf/Qv+yW8rr8xizRg0C25S8c5qRSBrGOdMW5CEP4r945IKQYiAWmq1jcoOX2ixgdoDCLyTyItyh2GIb2vx+1/qHWwaSBYEaYmiWyig7aQadDTet12eRtMcgOFfyiOElBU4DyA/X4wGutmnbf/fp5VoqfSvlPm1ZolyBU0dOGDEc5JDq+ElvD0ytb57L2U4YzNRGcfkRihvanuXRs+32nwu7dUJ5RNZA9cYnT7VfmNSBSahPOfA/bMtGS86u0tMog6zkMSBUAUFf9eAJ3/gPJTeMrgnis7uEEWRJo0gqgYHMc8i+hJWHrN2IVWzAuG3DMge1ZwDOovGfyr87j9IELh1FPPFqgZvfTk94ZCm917aPgnpe9CJTQLFCTbfmVHAMRKOJGkucjmXM/L3KD4Sp1Hb3rWGyrDzNgWc1F1ldxJPB+jQ1GT4hzSMXjC5dogHfF7qhghqlCBhhJ4VKSKeb27Ri9TZgUN44jIcvl0o55zYdBAmxMJMMZZZuCZ8MLRrUlN/geeoH6wyQrZgKLOqfitiQfSvlPm1ZolyBU0dOGDEc5CgoHbHj8OhbTMdQpflr44tGcfkRihvanuXRs+32nwu7JlpuIhW4vP6/nUXhL7sH2uo62A/VVGwP0qEl1exgKY9/qsERoJSAgXznVF8tvGJX89SDHL4KPDjZJu2nz+iyY2amNl7xthJLBCJD04XQQt4uitr5nD1QhRl79mI0KMRG+Vfy69+UIvlz5Vrxb1LQ5m5TRp74tYCB9eVgovD4/W4/ooUgbb/M05BTAi4cb7fsvxFo7KVehjmVN/lSGBWCMK89i/5nff5j1RwVxweg/5AxbVR4QP6BFCn5CnPXvAyHfbl9TwAnQlgNG6R+ByPH30ai7ODF4buO+P0dleTYqtQInIZ0M/Glwu9YcG22Y2Q4M85KMzlLxeGSiiX+tY/8mzNNyMntt2C6XKhXRZ2n9/dp3Ls54MixpELlEy1Z5rSvhk7l603VHiENyjqpy+9nQ/sBqNAC6R5Ne2Uajvr4kIBNK/PHZ/EkrZiex1CzBRk6qjLFcy4JAjlA27VitPpBLRy4gedlasXY9pvnWXZ7sJGVH26cxtVjkrTMnEj6MedA9YWAAmArpL9PeVBhD8DC43KVam0wuOzPWZrjOz5IRDC0ZYXll0OTy1YQmQyWJJhzW1GXjkTbwptuLuaRaKSdjRCWw66ZYNlLoLFGXaLyrlptyhTSBJSy1UX3UFeUH++/KK0512cmqjtdKZXXUTmT4BLQimfbjmH9UASxrot89fGLYf1uCDIdkIoIYGpdsZhWFtm1y4FlczzDODYS1OMQ2sSdRIpuAfoc9qSvquQ2Os9wLcHdRtVHj0wpqS5CVQZT1oeH11XAlPITuSzgyH23mYF3D+8sjjjfi52hSRQV9DeKKwfT+GosQWGR9cnCA4mfNC+kO/28T1vvXDI0Z/GbJAa2tIl3HIz47f9AiLEzwfTNJLbhzlm0en7aL7l8yflWNK12DUe26Ma1bhEMMgB0DU8vfZVFTbBzbQgJ/wT5t/dNIbwTEzhxqyJ2WT1ZoTONQMDYvz3D1NApt5adVjIXfNP7RtV5iSou0Gh3pRqy1oem0+h8O60bF6um4lDxWh+dJbsGSuYGkE5c0yjaSRv+4KloInh/O0r6pZ1NQEIVp68t8M1GiVCGc22uWzsklj9wiJxV/GvKF0J1bj5tb8biiYjORDJUmlg/lR7NmksVZGok/eqOgOh2h3aTE3F3RwOmCo6kp3WjI6hR+WVUsnAHdwu/cVWGBH+RAQ4+vtGzlvHytcWPwo26raBfo2PF4o3fyRcoKFV7AaVRohgKyRJA1jymz7WAk1UNbTG4rDhHKeVEft3nlwQoz+crL/Dco/tOBPQSCronv8T8NkbGTuwjHLTmxIOunfiJogoeXPwn88mpAsXC2MRsoUFq4ADng96jJs052syxRy0PVGuoNvSWNnNuNdAkP6858IgrsdbMJRzUR6zFRr8ez285lUfvlD6g+//mLMzn5dGpTOhcBLqfDq40bSlllwH8D5R6gbtcL/CqyFhYJW+E19/dnm7U1lcDhjYA+Bp0CLgIsu9JWg/l5RpztC34RR6pzIfURgOHlprzQQXXADx5nmsZA4E96QXNBEsgogOsO/T2FsNixo6szRC6xvu64pbqSKdS5Bzoxg+vhS53gplHCocrrBgqk1iwdacHk8jg2FiiXVWoGccBAgneH6C1edz/yhcF1lpU5ntYMEAu+mRm5pievBRAmNv9U9Q5LyqVSuJing2ZDqkHRnksj2GW0BT4tWNeoqVuWxvk1aKPzQkrwh74iYGv+GWkWRN9nI4Qo2Xj+6WlKdJdfscHsEWHfe9vI48QuF50Z4k= -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/Debug/net5.0/whatsapp.dotnet.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\bin\Debug\net5.0\whatsapp.dotnet.deps.json 2 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\bin\Debug\net5.0\whatsapp.dotnet.dll 3 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\bin\Debug\net5.0\ref\whatsapp.dotnet.dll 4 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\bin\Debug\net5.0\whatsapp.dotnet.pdb 5 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.GeneratedMSBuildEditorConfig.editorconfig 6 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.AssemblyInfoInputs.cache 7 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.AssemblyInfo.cs 8 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.csproj.CoreCompileInputs.cache 9 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.dll 10 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\ref\whatsapp.dotnet.dll 11 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.pdb 12 | C:\Src\whatsapp.dotnet\nuget\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.csproj.AssemblyReference.cache 13 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\bin\Debug\net5.0\whatsapp.dotnet.deps.json 14 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\bin\Debug\net5.0\whatsapp.dotnet.dll 15 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\bin\Debug\net5.0\ref\whatsapp.dotnet.dll 16 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\bin\Debug\net5.0\whatsapp.dotnet.pdb 17 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.GeneratedMSBuildEditorConfig.editorconfig 18 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.AssemblyInfoInputs.cache 19 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.AssemblyInfo.cs 20 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.csproj.CoreCompileInputs.cache 21 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.dll 22 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\ref\whatsapp.dotnet.dll 23 | C:\Src\git_sources\whatsapp-api-dotnet\src\whatsapp.dotnet\whatsapp.dotnet\obj\Debug\net5.0\whatsapp.dotnet.pdb 24 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/obj/whatsapp.dotnet.csproj.nuget.dgspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "format": 1, 3 | "restore": { 4 | "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj": {} 5 | }, 6 | "projects": { 7 | "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj": { 8 | "version": "1.0.7", 9 | "restore": { 10 | "projectUniqueName": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj", 11 | "projectName": "WhatsApp.DotNet", 12 | "projectPath": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj", 13 | "packagesPath": "C:\\Users\\italo\\.nuget\\packages\\", 14 | "outputPath": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\obj\\", 15 | "projectStyle": "PackageReference", 16 | "configFilePaths": [ 17 | "C:\\Users\\italo\\AppData\\Roaming\\NuGet\\NuGet.Config", 18 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 19 | ], 20 | "originalTargetFrameworks": [ 21 | "net5.0" 22 | ], 23 | "sources": { 24 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 25 | "https://api.nuget.org/v3/index.json": {} 26 | }, 27 | "frameworks": { 28 | "net5.0": { 29 | "targetAlias": "net5.0", 30 | "projectReferences": {} 31 | } 32 | }, 33 | "warningProperties": { 34 | "warnAsError": [ 35 | "NU1605" 36 | ] 37 | } 38 | }, 39 | "frameworks": { 40 | "net5.0": { 41 | "targetAlias": "net5.0", 42 | "dependencies": { 43 | "NETCore.Encrypt": { 44 | "target": "Package", 45 | "version": "[2.0.9, )" 46 | }, 47 | "PuppeteerSharp": { 48 | "target": "Package", 49 | "version": "[2.0.4, )" 50 | }, 51 | "System.Reactive": { 52 | "target": "Package", 53 | "version": "[5.0.0, )" 54 | } 55 | }, 56 | "imports": [ 57 | "net461", 58 | "net462", 59 | "net47", 60 | "net471", 61 | "net472", 62 | "net48" 63 | ], 64 | "assetTargetFallback": true, 65 | "warn": true, 66 | "frameworkReferences": { 67 | "Microsoft.NETCore.App": { 68 | "privateAssets": "all" 69 | } 70 | }, 71 | "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json" 72 | } 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/Contact.cs: -------------------------------------------------------------------------------- 1 | namespace whatsapp.dotnet 2 | { 3 | public class Contact 4 | { 5 | /** 6 | * Contact's phone number 7 | */ 8 | public string number { get; set; } 9 | 10 | /** 11 | * Indicates if the contact is a business contact 12 | */ 13 | public bool isBusiness { get; set; } 14 | 15 | /** 16 | * ID that represents the contact 17 | */ 18 | public ContactId id { get; set; } 19 | 20 | /** 21 | * Indicates if the contact is an enterprise contact 22 | */ 23 | public bool isEnterprise { get; set; } 24 | 25 | /** 26 | * Indicates if the contact is a group contact 27 | */ 28 | public bool isGroup { get; set; } 29 | 30 | /** 31 | * Indicates if the contact is the current user's contact 32 | */ 33 | public bool isMe { get; set; } 34 | 35 | /** 36 | * Indicates if the number is saved in the current phone's contacts 37 | */ 38 | public bool isMyContact { get; set; } 39 | 40 | /** 41 | * Indicates if the contact is a user contact 42 | */ 43 | public bool isUser { get; set; } 44 | 45 | /** 46 | * Indicates if the number is registered on WhatsApp 47 | */ 48 | public bool isWAContact { get; set; } 49 | 50 | /** 51 | * @todo verify labels type. didn't have any documentation 52 | */ 53 | public string[] labels { get; set; } 54 | 55 | /** 56 | * The contact's name, as saved by the current user 57 | */ 58 | public string name { get; set; } 59 | 60 | /** 61 | * The name that the contact has configured to be shown publically 62 | */ 63 | public string pushname { get; set; } 64 | 65 | /** 66 | * @todo missing documentation 67 | */ 68 | public string sectionHeader { get; set; } 69 | 70 | /** 71 | * A shortened version of name 72 | */ 73 | public string shortName { get; set; } 74 | 75 | /** 76 | * Indicates if the status from the contact is muted 77 | */ 78 | public bool statusMute { get; set; } 79 | 80 | /** 81 | * @todo missing documentation 82 | */ 83 | public string type { get; set; } 84 | 85 | /** 86 | * @todo missing documentation 87 | */ 88 | public string verifiedLevel { get; set; } 89 | 90 | /** 91 | * @todo missing documentation 92 | */ 93 | public string verifiedName { get; set; } 94 | } 95 | 96 | public class ContactId 97 | { 98 | public string server { get; set; } 99 | public string user { get; set; } 100 | public string _serialized { get; set; } 101 | } 102 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/core/Qrcode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | using Newtonsoft.Json; 5 | using whatsapp.dotnet; 6 | using whatsapp.dotnet; 7 | 8 | namespace whatsapp.dotnet 9 | { 10 | public class Qrcode 11 | { 12 | public Qrcode(Provider provider) 13 | { 14 | _provider = provider; 15 | } 16 | 17 | public Provider _provider { get; set; } 18 | 19 | private async Task WaitQr() 20 | { 21 | try 22 | { 23 | await _provider.page.WaitForSelectorAsync("div[data-ref]"); 24 | } 25 | catch 26 | { 27 | //Console.WriteLine("Erro metodo WaitQr."); 28 | } 29 | } 30 | 31 | public async Task QrProcessing(EnviromentJs _enviroment) 32 | { 33 | var isQrCode = true; 34 | var qrCodeOld = string.Empty; 35 | var countErro = 0; 36 | while (isQrCode) 37 | try 38 | { 39 | countErro++; 40 | var isInternet = 41 | await _provider.page.EvaluateFunctionAsync( 42 | "() => Array.from(document.querySelectorAll('div')).find(el => el.textContent === 'Tentando conectar ao celular') == undefined"); 43 | 44 | if (!isInternet) 45 | { 46 | Console.WriteLine(JsonConvert.SerializeObject(new {type = 0, data = 1})); 47 | Console.Out.Flush(); 48 | Thread.Sleep(5000); 49 | continue; 50 | } 51 | 52 | var qrCodeResult = await GetQrCode(); 53 | 54 | 55 | if (string.Empty == qrCodeResult && isInternet) 56 | { 57 | var statusProcess = await _enviroment.GetStatusProcessAsync(); 58 | 59 | if (statusProcess == ProcessingType.whatsappMonitory) isQrCode = false; 60 | } 61 | else if (qrCodeResult != qrCodeOld) 62 | { 63 | _provider.eventNotification.OnNext(new Notification 64 | { 65 | ProcessingType = ProcessingType.qrcodeProcessing, 66 | Container = qrCodeResult, 67 | Instance = _provider.instance 68 | }); 69 | } 70 | 71 | qrCodeOld = qrCodeResult ?? qrCodeOld; 72 | Thread.Sleep(500); 73 | } 74 | catch 75 | { 76 | Thread.Sleep(1000); 77 | if (countErro < 5) continue; 78 | } 79 | } 80 | 81 | private async Task GetQrCode() 82 | { 83 | try 84 | { 85 | var qrCode = 86 | await _provider.page.EvaluateFunctionAsync("async ()=>await Util.getQrCode()"); 87 | return qrCode; 88 | } 89 | catch 90 | { 91 | return null; 92 | } 93 | } 94 | } 95 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/l-message-media.js: -------------------------------------------------------------------------------- 1 | () => { 2 | /** 3 | * Media attached to a message 4 | * @param {string} mimetype MIME type of the attachment 5 | * @param {string} data Base64-encoded data of the file 6 | * @param {?string} filename Document file name 7 | */ 8 | window.MessageMedia = class MessageMedia { 9 | constructor(mimetype, data, filename) { 10 | /** 11 | * MIME type of the attachment 12 | * @type {string} 13 | */ 14 | this.mimetype = mimetype; 15 | 16 | /** 17 | * Base64 encoded data that represents the file 18 | * @type {string} 19 | */ 20 | this.data = data; 21 | 22 | /** 23 | * Name of the file (for documents) 24 | * @type {?string} 25 | */ 26 | this.filename = filename; 27 | } 28 | 29 | /** 30 | * Creates a MessageMedia instance from a local file path 31 | * @param {string} b64data 32 | * @param {string} mimetype 33 | * @param {string} filename 34 | * @returns {MessageMedia} 35 | */ 36 | static fromFilePath(b64data, mimetype, filename) { 37 | return new MessageMedia(mimetype, b64data, filename); 38 | } 39 | 40 | /** 41 | * Creates a MessageMedia instance from a URL 42 | * @param {string} url 43 | * @param {Object} [options] 44 | * @param {number} [options.unsafeMime=false] 45 | * @param {object} [options.client] 46 | * @param {object} [options.reqOptions] 47 | * @param {number} [options.reqOptions.size=0] 48 | * @returns {Promise} 49 | */ 50 | static async fromUrl(url, options = {}) { 51 | let mimetype; 52 | 53 | if (!options.unsafeMime) { 54 | const pUrl = new URL(url); 55 | mimetype = mime.getType(pUrl.pathname); 56 | 57 | if (!mimetype) 58 | throw new Error('Unable to determine MIME type'); 59 | } 60 | 61 | async function fetchData(url, options) { 62 | const reqOptions = Object.assign({ headers: { accept: 'image/* video/* text/* audio/*' } }, options); 63 | const response = await fetch(url, reqOptions); 64 | const mime = response.headers.get('Content-Type'); 65 | let data = ''; 66 | 67 | if (response.buffer) { 68 | data = (await response.buffer()).toString('base64'); 69 | } else { 70 | const bArray = new Uint8Array(await response.arrayBuffer()); 71 | bArray.forEach((b) => { 72 | data += String.fromCharCode(b); 73 | }); 74 | data = btoa(data); 75 | } 76 | 77 | return { data, mime }; 78 | } 79 | 80 | const res = options.client 81 | ? (await options.client.pupPage.evaluate(fetchData, url, options.reqOptions)) 82 | : (await fetchData(url, options.reqOptions)); 83 | 84 | if (!mimetype) 85 | mimetype = res.mime; 86 | 87 | return new MessageMedia(mimetype, res.data, null); 88 | } 89 | }; 90 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/infra/JsFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using NETCore.Encrypt; 7 | using whatsapp.dotnet; 8 | 9 | namespace whatsapp.console.infra 10 | { 11 | public static class JsFile 12 | { 13 | 14 | /// 15 | /// when it is necessary to make a change to the js lib 16 | /// 17 | public static void GenerateEncripty() 18 | { 19 | ManagerInfra.JsLibs = new List(); 20 | var controller = 21 | Path.Combine(Environment.CurrentDirectory.Replace("\\bin\\Debug\\net5.0", ""), 22 | "artefatos\\lib\\js\\interface"); 23 | var infrastructure = 24 | Path.Combine(Environment.CurrentDirectory.Replace("\\bin\\Debug\\net5.0", ""), 25 | "artefatos\\lib\\js\\infrastructure"); 26 | var model = Path.Combine(Environment.CurrentDirectory.Replace("\\bin\\Debug\\net5.0", ""), 27 | "artefatos\\lib\\js\\model"); 28 | 29 | var controllerDirectory = new DirectoryInfo(controller); 30 | var infrastructureDirectory = new DirectoryInfo(infrastructure); 31 | var modelDirectory = new DirectoryInfo(model); 32 | var files = new List(); 33 | 34 | files.AddRange(controllerDirectory.GetFiles("*.js")); 35 | foreach (var file in files.OrderBy(o => o.Name).ToList()) 36 | System.IO.File.WriteAllText( 37 | file.FullName.Replace("interface", "").Replace(file.Name, file.Name.Substring(0, 3) + ".js") 38 | .Replace(".js", ".ctr") 39 | .Replace("js", "enc"), 40 | EncryptProvider.AESEncrypt(System.IO.File.ReadAllText(file.FullName), 41 | "iP0tIyqady43QMFDfxMlrVUwISlfTgur")); 42 | 43 | files.Clear(); 44 | 45 | files.AddRange(infrastructureDirectory.GetFiles("*.js")); 46 | foreach (var file in files.OrderBy(o => o.Name).ToList()) 47 | System.IO.File.WriteAllText( 48 | file.FullName.Replace("infrastructure", "").Replace(file.Name, file.Name.Substring(0, 4) + ".js") 49 | .Replace(".js", ".infr") 50 | .Replace("js", "enc"), 51 | EncryptProvider.AESEncrypt(System.IO.File.ReadAllText(file.FullName), 52 | "iP0tIyqady43QMFDfxMlrVUwISlfTgur")); 53 | 54 | files.Clear(); 55 | files.AddRange(modelDirectory.GetFiles("*.js")); 56 | foreach (var file in files.OrderBy(o => o.Name).ToList()) 57 | System.IO.File.WriteAllText( 58 | file.FullName.Replace("model", "").Replace(file.Name, file.Name.Substring(0, 3) + ".js") 59 | .Replace(".js", ".mode") 60 | .Replace("js", "enc"), 61 | EncryptProvider.AESEncrypt(System.IO.File.ReadAllText(file.FullName), 62 | "iP0tIyqady43QMFDfxMlrVUwISlfTgur")); 63 | 64 | files.Clear(); 65 | } 66 | } 67 | 68 | public class File 69 | { 70 | public string Nome { get; set; } 71 | 72 | public string Content { get; set; } 73 | } 74 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/interface/layout.js: -------------------------------------------------------------------------------- 1 | () => { 2 | 3 | class InterfaceController { 4 | 5 | constructor() { 6 | } 7 | 8 | /** 9 | * Opens the Chat Window 10 | * @param {string} chatId ID of the chat window that will be opened 11 | */ 12 | openChatWindow = async (chatId) => { 13 | let chatWid = window.Store.WidFactory.createWid(chatId); 14 | let chat = await window.Store.Chat.find(chatWid); 15 | await window.Store.Cmd.openChatAt(chat); 16 | } 17 | 18 | /** 19 | * Opens the Chat Drawer 20 | * @param {string} chatId ID of the chat drawer that will be opened 21 | */ 22 | openChatDrawer = async (chatId) => { 23 | let chat = await window.Store.Chat.get(chatId); 24 | await window.Store.Cmd.chatInfoDrawer(chat); 25 | } 26 | 27 | /** 28 | * Opens the Chat Search 29 | * @param {string} chatId ID of the chat search that will be opened 30 | */ 31 | openChatSearch = async (chatId) => { 32 | let chat = await window.Store.Chat.get(chatId); 33 | await window.Store.Cmd.chatSearch(chat); 34 | } 35 | 36 | /** 37 | * Opens or Scrolls the Chat Window to the position of the message 38 | * @param {string} msgId ID of the message that will be scrolled to 39 | */ 40 | openChatWindowAt = async (msgId) => { 41 | let msg = await window.Store.Msg.get(msgId); 42 | await window.Store.Cmd.openChatAt(msg.chat, msg.chat.getSearchContext(msg)); 43 | } 44 | 45 | /** 46 | * Opens the Message Drawer 47 | * @param {string} msgId ID of the message drawer that will be opened 48 | */ 49 | openMessageDrawer = async (msgId) => { 50 | let msg = await window.Store.Msg.get(msgId); 51 | await window.Store.Cmd.msgInfoDrawer(msg); 52 | } 53 | 54 | /** 55 | * Closes the Right Drawer 56 | */ 57 | closeRightDrawer = async () => { 58 | await window.Store.Cmd.closeDrawerRight(); 59 | } 60 | 61 | /** 62 | * Get all Features 63 | */ 64 | async getFeatures() { 65 | return window.Store.Features.F; 66 | } 67 | 68 | /** 69 | * Check if Feature is enabled 70 | * @param {string} feature status to check 71 | */ 72 | async checkFeatureStatus(feature) { 73 | return window.Store.Features.supportsFeature(feature); 74 | } 75 | 76 | /** 77 | * Enable Features 78 | * @param {string[]} features to be enabled 79 | */ 80 | async enableFeatures(features) { 81 | for (const feature in features) { 82 | window.Store.Features.setFeature(features[feature], true); 83 | } 84 | } 85 | 86 | /** 87 | * Disable Features 88 | * @param {string[]} features to be disabled 89 | */ 90 | async disableFeatures(features) { 91 | for (const feature in features) { 92 | window.Store.Features.setFeature(features[feature], false); 93 | } 94 | } 95 | } 96 | 97 | window.InterfaceController = new InterfaceController(); 98 | } 99 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/infra/Help.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Security.Cryptography; 4 | using System.Text; 5 | using System.Text.RegularExpressions; 6 | using whatsapp.dotnet; 7 | 8 | namespace whatsapp.dotnet 9 | { 10 | public static class Help 11 | { 12 | public static string Descript(string strInput) 13 | { 14 | try 15 | { 16 | var keyString = "5A6365D620864B9CB2FCC04979A4B815"; //replace with your key 17 | var ivString = "A3ECD63F16654D21"; //replace with your iv 18 | 19 | var key = Encoding.ASCII.GetBytes(keyString); 20 | var iv = Encoding.ASCII.GetBytes(ivString); 21 | 22 | using (var rijndaelManaged = 23 | new RijndaelManaged {Key = key, IV = iv, Mode = CipherMode.CBC}) 24 | { 25 | rijndaelManaged.BlockSize = 128; 26 | rijndaelManaged.KeySize = 256; 27 | using (var memoryStream = 28 | new MemoryStream(System.Convert.FromBase64String(strInput))) 29 | using (var cryptoStream = 30 | new CryptoStream(memoryStream, 31 | rijndaelManaged.CreateDecryptor(key, iv), 32 | CryptoStreamMode.Read)) 33 | { 34 | return new StreamReader(cryptoStream).ReadToEnd(); 35 | } 36 | } 37 | } 38 | catch (Exception ex) 39 | { 40 | return string.Empty; 41 | } 42 | } 43 | 44 | public static MessageResume Convert(Message message) 45 | { 46 | return new MessageResume 47 | { 48 | Id = message.objectId, 49 | AsFrom = message.from, 50 | AsTo = message.to, 51 | FromMe = message.fromMe, 52 | Type = message.type, 53 | HasMedia = message.hasMedia, 54 | CreatedIn = UnixTimeStampToDateTime(message.timestamp.ToDouble(0)), 55 | Body = removeInvalid(message.body), 56 | ChatFk = message.from 57 | }; 58 | } 59 | 60 | public static double ToDouble(this object self, double defaultvalue) 61 | { 62 | var s = System.Convert.ToString(self); 63 | if (string.IsNullOrWhiteSpace(s)) 64 | return defaultvalue; 65 | var result = 0.0; 66 | return !double.TryParse(s, out result) ? defaultvalue : result; 67 | } 68 | public static string removeInvalid(string caracter) 69 | { 70 | var regexSearch = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()); 71 | var r = new Regex(string.Format("[{0}]", Regex.Escape(regexSearch))); 72 | caracter = r.Replace(caracter, ""); 73 | return caracter; 74 | } 75 | public static DateTime UnixTimeStampToDateTime(double unixTimeStamp) 76 | { 77 | // Unix timestamp is seconds past epoch 78 | var dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); 79 | dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime(); 80 | return dtDateTime; 81 | } 82 | } 83 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/whatsapp.console.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net5.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Always 15 | 16 | 17 | Always 18 | 19 | 20 | Always 21 | 22 | 23 | Always 24 | 25 | 26 | Always 27 | 28 | 29 | Always 30 | 31 | 32 | Always 33 | 34 | 35 | Always 36 | 37 | 38 | Always 39 | 40 | 41 | Always 42 | 43 | 44 | Always 45 | 46 | 47 | Always 48 | 49 | 50 | Always 51 | 52 | 53 | Always 54 | 55 | 56 | Always 57 | 58 | 59 | Always 60 | 61 | 62 | Always 63 | 64 | 65 | Always 66 | 67 | 68 | Always 69 | 70 | 71 | Always 72 | 73 | 74 | Always 75 | 76 | 77 | Always 78 | 79 | 80 | Always 81 | 82 | 83 | Always 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/h-groupNotification.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | () => { 3 | 4 | 5 | /** 6 | * Represents a GroupNotification on WhatsApp 7 | * @extends {Base} 8 | */ 9 | window.GroupNotification = class GroupNotification extends Base { 10 | constructor(client, data) { 11 | super(client); 12 | 13 | if (data) this._patch(data); 14 | } 15 | 16 | _patch(data) { 17 | /** 18 | * ID that represents the groupNotification 19 | * @type {object} 20 | */ 21 | this.id = data.id; 22 | 23 | /** 24 | * Extra content 25 | * @type {string} 26 | */ 27 | this.body = data.body || ''; 28 | 29 | /** 30 | * GroupNotification type 31 | * @type {GroupNotificationTypes} 32 | */ 33 | this.type = data.subtype; 34 | 35 | /** 36 | * Unix timestamp for when the groupNotification was created 37 | * @type {number} 38 | */ 39 | this.timestamp = data.t; 40 | 41 | /** 42 | * ID for the Chat that this groupNotification was sent for. 43 | * 44 | * @type {string} 45 | */ 46 | this.chatId = typeof (data.from) === 'object' ? data.from._serialized : data.from; 47 | 48 | /** 49 | * ContactId for the user that produced the GroupNotification. 50 | * @type {string} 51 | */ 52 | this.author = typeof (data.author) === 'object' ? data.author._serialized : data.author; 53 | 54 | /** 55 | * Contact IDs for the users that were affected by this GroupNotification. 56 | * @type {Array} 57 | */ 58 | this.recipientIds = []; 59 | 60 | if (data.recipients) { 61 | this.recipientIds = data.recipients; 62 | } 63 | 64 | return super._patch(data); 65 | } 66 | 67 | /** 68 | * Returns the Chat this groupNotification was sent in 69 | * @returns {Promise} 70 | */ 71 | getChat() { 72 | return this.client.getChatById(this.chatId); 73 | } 74 | 75 | /** 76 | * Returns the Contact this GroupNotification was produced by 77 | * @returns {Promise} 78 | */ 79 | getContact() { 80 | return this.client.getContactById(this.author); 81 | } 82 | 83 | /** 84 | * Returns the Contacts affected by this GroupNotification. 85 | * @returns {Promise>} 86 | */ 87 | async getRecipients() { 88 | return await Promise.all(this.recipientIds.map(async m => await this.client.getContactById(m))); 89 | } 90 | 91 | /** 92 | * Sends a message to the same chat this GroupNotification was produced in. 93 | * 94 | * @param {string|MessageMedia|Location} content 95 | * @param {object} options 96 | * @returns {Promise} 97 | */ 98 | async reply(content, options={}) { 99 | return this.client.sendMessage(this.chatId, content, options); 100 | } 101 | 102 | 103 | }; 104 | } 105 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/entity/Message.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace whatsapp.dotnet 4 | { 5 | public class Message 6 | { 7 | /** 8 | * ID that represents the message 9 | * @type {object} 10 | */ 11 | [JsonProperty(PropertyName = "objectId")] 12 | public string objectId { get; set; } /*code whazaap Id*/ 13 | 14 | /** 15 | * ACK status for the message 16 | * @type {MessageAck} 17 | */ 18 | 19 | public string ack { get; set; } 20 | 21 | /** 22 | * MediaKey that represents the sticker 'ID' 23 | * @type {string} 24 | */ 25 | 26 | 27 | public string mediaKey { get; set; } 28 | 29 | /** 30 | * Indicates if the message has media available for download 31 | * @type {boolean} 32 | */ 33 | 34 | public bool hasMedia { get; set; } 35 | 36 | /** 37 | * Message content 38 | * @type {string} 39 | */ 40 | 41 | public string body { get; set; } 42 | 43 | 44 | /** 45 | * Message type 46 | * @type {MessageTypes} 47 | */ 48 | 49 | public string type { get; set; } 50 | 51 | /** 52 | * Unix timestamp for when the message was created 53 | * @type {number} 54 | */ 55 | 56 | public string timestamp { get; set; } 57 | 58 | /** 59 | * ID for the Chat that this message was sent to, except if the message was sent by the current user. 60 | * @type {string} 61 | */ 62 | 63 | 64 | public string from { get; set; } 65 | 66 | 67 | /** 68 | * ID for who this message is for. 69 | * 70 | * If the message is sent by the current user, it will be the Chat to which the message is being sent. 71 | * If the message is sent by another user, it will be the ID for the current user. 72 | * @type {string} 73 | */ 74 | 75 | public string to { get; set; } 76 | 77 | /** 78 | * If the message was sent to a group, this field will contain the user that sent the message. 79 | * @type {string} 80 | */ 81 | 82 | public string author { get; set; } 83 | 84 | 85 | /** 86 | * Indicates if the message was forwarded 87 | * @type {boolean} 88 | */ 89 | 90 | public bool isForwarded { get; set; } 91 | 92 | /** 93 | * Indicates if the message was a broadcast 94 | * @type {boolean} 95 | */ 96 | 97 | public bool broadcast { get; set; } 98 | 99 | /** 100 | * Indicates if the message was sent by the current user 101 | * @type {boolean} 102 | */ 103 | 104 | public bool fromMe { get; set; } 105 | 106 | /** 107 | * Indicates if the message was sent as a reply to another message. 108 | * @type {boolean} 109 | */ 110 | 111 | public bool hasQuotedMsg { get; set; } 112 | 113 | /** 114 | * Location information contained in the message, if the message is type "location" 115 | * @type {Location} 116 | */ 117 | 118 | public Location location { get; set; } 119 | 120 | ///** 121 | // * Indicates the mentions in the message body. 122 | // * @type {Array 123 | // * } 124 | // */ 125 | 126 | public MessageMedia MessageMedia { get; set; } 127 | } 128 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/h-g.mode: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/h-g.mode: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /example/WhatsAppDotNet/Demo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reactive.Subjects; 3 | using System.Threading; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | using whatsapp.dotnet; 7 | 8 | namespace WhatsAppDotNet 9 | { 10 | public partial class Demo : Form 11 | { 12 | 13 | #region 14 | private ws _ws; 15 | private readonly Subject rxSubject = new(); 16 | delegate void SetTextMessage(string message); 17 | delegate void SetChangeMode(bool value); 18 | #endregion 19 | 20 | public Demo() 21 | { 22 | InitializeComponent(); 23 | 24 | 25 | changeMode(true); 26 | 27 | Thread.Sleep(3000); 28 | _ = Task.Run(() => line()); 29 | } 30 | 31 | public Task line() 32 | { 33 | subscribeNotification(rxSubject); 34 | _ws = new ws(rxSubject, true, true); 35 | while (true) Thread.Sleep(int.MaxValue); 36 | } 37 | 38 | private void subscribeNotification(IObservable observable) 39 | { 40 | _ = observable.Subscribe(notification => 41 | { 42 | 43 | switch (notification.ProcessingType) 44 | { 45 | case ProcessingType.qrcodeProcessing: 46 | 47 | var qrCode = (string)notification.Container; 48 | qrCodeImage.Image = help.generateQr(200, 200, qrCode); 49 | break; 50 | case ProcessingType.whatsappValidationOk: 51 | if (qrCodeImage.InvokeRequired) 52 | Invoke((new SetChangeMode(changeMode)), new object[] { false }); 53 | else 54 | changeMode(false); 55 | break; 56 | case ProcessingType.whatsappMonitory: 57 | var content = whatsapp.dotnet.Help.Convert((whatsapp.dotnet.Message)notification.Container); 58 | if (txtMessages.InvokeRequired) 59 | Invoke((new SetTextMessage(setMessage)), new object[] { content.Body }); 60 | else 61 | setMessage(content.Body); 62 | break; 63 | case ProcessingType.bateryChange: 64 | var bate = (Batery)notification.Container; 65 | Console.WriteLine(bate.batteryValue); 66 | break; 67 | case ProcessingType.whatsappExit: 68 | Close(); 69 | break; 70 | case ProcessingType.whatsappErroRestart: 71 | break; 72 | default: 73 | break; 74 | } 75 | }); 76 | } 77 | 78 | 79 | public async Task Logout() 80 | { 81 | await _ws.Logout(); 82 | Close(); 83 | } 84 | 85 | public void changeMode(bool value) 86 | { 87 | qrCodeImage.Visible = value; 88 | txtMensagem.Visible = txtMessages.Visible = btnSend.Visible = txtPhone.Visible = !value; 89 | } 90 | 91 | public void setMessage(string message) 92 | { 93 | txtMessages.AppendText(message + "\r\n"); 94 | } 95 | 96 | public async void sendMessage(object sender, EventArgs e) 97 | { 98 | 99 | /*phone : 55 11 987511473 */ 100 | await _ws.SendMessageMedia($"{txtPhone.Text.Trim()}@c.us" , new ContentMessage() { msg = txtMensagem.Text }, new MessageOption()); 101 | txtMessages.AppendText(txtMensagem.Text.Trim() + "\r\n"); 102 | } 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/l-m.mode: -------------------------------------------------------------------------------- 1 | +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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/l-m.mode: -------------------------------------------------------------------------------- 1 | +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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/lay.ctr: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/lay.ctr: -------------------------------------------------------------------------------- 1 | 5ZcBcX6MMqqZ6hBy8gBvvbYPGjclzEtJ3maOlESswOFc2K32X6rBJP8lQ5sNUxipSOCSEVT8twuX7XdoPJABvCAPkeeW4KiEXy+eI/SPqJAsVhbbmKjbH7BQ19RjWBPbGJqTvH/uA3C9k39gGjEqH7B4/9APOIoHP6d1czUFLFsksHk4hDN+27ik/2fDif2TbDQOjWIXKWAvyJAeG0uyy0kUxviXQAoXtZgmmT4K4LsSFj53NlY2swKo22Qgi3evUopyLzGqMcHdYUtKtt+FGzJxGb8yQr5bnu0z7B8P5j7o5DUXzCSV9QhcG6OF69UFk3oWdhf7KI1Zc7ciHHD7tNfCCilIjlKrL/YgEfh2p5gjGb9HTrm9DTOtAWY87FkvuNzsCRXZf4hBTOgdgaIT/NAiMytEVc2p+d/64gpi5qqDGWxXyAT/Z66Zr5hVqdQjlz0uG7GXSNfE1Q8cLFzJoXclMHYV/q8PRwYcpG2iqM4kd9nYuXUihcjWZLzYYnZ3ndXx2NUhF7Xi5XIRe5dMgaQ+kVwem9d4vHSY1CNwj/yHVJ9eX0xnpDYeYZ0BppRmxVQBoYyWicFlkWWl5ADydoehXevxmURgoBfFzL2cbhAIHnJPkYVfpZPxqTaUdeQ7I9K0h0GfI+eXe/zVEbZ5rqOMqnnCnBCW/hHpZ7hT1WcheIyj/2SddkCvVY7s37yHZRXWNKKSvbA3NWDrydvsElPenc3GEGOH2ufBNTowPoO3GnpCTpICrHBq2KYKE4CPWKh7d/4DG6hw6xo5U8htSkZx+RGKG9qe5dGz7fafC7veltvVFOpqsqdntEafkOhpnQpx3GFFAzgO7sx8+VVhka3l33jbwu7TreU3ctFL2txiNmmGT+NI9SlGWHaQXmvBiFF4SigrLcKNgPXF35MQ8nlPmHWmnjW0/ycUHTBsOKTk8sYudr5s3SJdVf7ZTS5nSWHDuIrQpR4iiQtVfjIIqjJr4+sEoujEK3qRAk0kRaFDMJlhhANw1n5DQsMsqsTjgFDoipZcH1Rwdj3ma1wbJa4J4rO7hBFkSaNIKoGBzHMg6YCQLwtkow3C4tvpwzMK62gaSwDlQKs2MP1+BY2Gi2kdnUB4VGYNmdvUq64NIdtn9XlmzJIBMJBVZikE3q2RmAE7I/lWsNWQfTt3lRkD16WYmcoItWGox+ME9Maup6XEzX7VLdIBrNWc+v+Fh2K6VgmMxFky0REZGR1ydsdXWbHybHBw2l2fqVHkAJxviPpexm9dJnRSAgR6h8y7nEmJAbdahkF5+HnC0o83TgeJpZb0rrXpi0QJseiL3gnTsqSHVJ9eX0xnpDYeYZ0BppRmTFK3oITc3gDsfRu2+dkuTc5YBXDSuF1rmkSFbSHFNqQ/eaEaGV1cmirsGD3MT1JauIRac+BxlSSR9NrxU3T7tTOS9Kj4StmPeA8fS0kuJYjBkxDlIZq41iQWlcrGvOZGKCSpBzt4LOTq3BHoWNxYxGir057APyeQTBG6f3HDhLSPRKGLQjUliOfhizChU4Gdt/VPHZq0hQj7Y9y9tI/oiWPgudbocOJQMmoXP0C5kJRieM80t4IEN6FvOukIrLW2sAxmehqitFJt/7EWqZyoYBRBBLgRW6mpJ6n37lIL+po8sUtH0ksFGpvzDBImmByDJyubFDZVpowpoudqueAT+61hsqw8zYFnNRdZXcSTwfpqoUPoeb2Xjg5M2N1FHyNEa35L+vEu6GxNHb0F4OOuUPL7cfdeg48E69ZprY6RKvxSqyjpkaSPDfCoWCuuIn3ZS4TnYYtVIGZ91brP47snYiMB8y2epsWbFC2zxbaR2No6a8MYQpjSRzJuqALVC9dLS4TnYYtVIGZ91brP47snYvgLRnibBKCsnfe1yLXrI4QYUr3nMEwcapQnfIhMBZoF0eiG++f8asW1UAKVNA6y9KCMbUaHs69b7DwrkUfmfWBEpRq7zaMzaUGNzubi1Q+q6Hxw1l+0HXdnlGy9FbZMocAYqy2+cYSW/MmsuR78DaQRiKBtpwnFmdC0FHUe53D5+pTowwWONVGxUWr9hgQ1byWF4aGG2kLqMKOC+XDEi4tMcsCh1mAs+9a+7KRdOUlS9cyRHpHyof6/79uFBngupeLGzmCBK/XR88gLd7BiYCOr32pXO6i8+zg58sh6aGgkQ6c39rm7EY+9KJmGtMo/yRuviaPSAMwHwa/zpmqspzWmytdLgUah9va7aZM0sA/Be01MT0sLXDWUwoOvp6JrX6d993IvSahf0D2XLqBVXZadRkpKYlplCkgAXmdzRx6XpD6RXB6b13i8dJjUI3CP/IdUn15fTGekNh5hnQGmlGa9a3j66FF5L1oNTNBxz11LgFZprsuEsW+VyumxfhKaRsGTEOUhmrjWJBaVysa85kb1KHDCIHH8xGTZdLLz32VZBvf51MHNzTJlojW+WekwM+T7WijYbVWOijYE2dyYH/4ZNXggjlhFtiaOLECBsnbpQG1nwYhc+upKAz+OcGx4WGn6GRQ5amkABVoSGGN8+jFswgkCeHRguet8J8CdvcybCklGtT1x0HNWtP/xbSGLfi7y7jb2a9ljrDYqm2EfNG1KcgadEyn19FYApgqYZxZoE+H2jYdlGxvPLdARJ2j/lD/Q+ME8SxDFyApQPpDZOEqx911diih03+nXdHZh0uC+RnH5EYob2p7l0bPt9p8Lu1rA86rGlyjyjUiic7Dicgy6AWoyCmQ/YmFxts7y4pu7HqR1RKtU+7Qgq11hB6L6bSu5bV96607UjLq4lppNZVbpnxgCeyScY4I3/SPsq9PjwZMQ5SGauNYkFpXKxrzmRlIaooTUvDai8zr1lx1nk9dA48fZ1uOigJpSZSkpIec8JzwtA14E3cDLKaMFX3M9l/qU6MMFjjVRsVFq/YYENW/7/TeCiSocOJ0FhDnDr5keG9kkKAziwrOUJN+j/hx4bfmnUp9RfW0Vp/RgRGTPymtcDXpebcwTmZi/4b5SQ5U3mIKHuwv0zRCXArDto10u1iiRUQwhIzy6tNS/QZUh+xs8PTUytEsLGAnmTdeQEg2912zq/7V834GjFicgogyB0VYAJb7613alhkVegE2bCE/bZkd470AxqtTaG4oP5I/SyKJYAei9M3AVRP+6Pov3AShjx8AFgKhZE71SlOi4GeUrGyB6aU8OKgO76jT3IkXfIXiMo/9knXZAr1WO7N+8h/u/UxbWOwm+M4a+hg7LVO3aJ6p7UYmYb/TefnT7lmqs+5R4npK9q7eA3mK/OwdfNnmsC3SYWbewQzGezsNDz9DvWuDP7afpwXtPGIL+E5PSam/ISaZoEwNONWVDHYjWJcSNIOOZVRbXB5FbdERfnn1sygJusLjWR//9hrOQgRzAAyIqSIEcSSp3pDtHz7w/CeN7B58fgQKmplR4YD7N7eg/0dMk8fin8/cqfF8QLnrlkMhinpMYSWRQdtK/B32Hmxl8UKhKyXkdvJCySoX/aKvGLvdMYBEfEm3fzBDBRXTtfLjgdQ2xblvlHiH42TGypMGTEOUhmrjWJBaVysa85kajUEj/rs9Z0UdTTTJ1CJ36cf0rj1tw+XevDp5q6YEwSnvFhUtc6QTtKNOlYKg9XiT11PY6cEtLvzMKIALPiONgvJLZpFl0qVTFDVS75A2425m8ztEBQ+5TsgVqY8Atne63fW3By9PEj5A5a3ti6j+6UkGxXjW/X2gFBaCsl17/pAMiKkiBHEkqd6Q7R8+8PwmPKsvGd74v31Evc4VhaEinOZ39exfz7gpQe2OVNZFgG0mOtu6s13MhwoGvzBfJAl5feY93S6MKZCnqGoUyFkss2JqULdOXC2rKhvlpby3xckkWLmJ3mbK4AhBi1b5z3O4UF95C2AdjefjwCCEj2Af0wiZPGLFKy/Vuzogy5qqp7ny44HUNsW5b5R4h+NkxsqSpWAyt+9QWbauZsL5ySgBohzCEBxuDUGMFDTbFLYT9WIDnyUvawYzfKTNDKvJnyacj6MJNrZ60sgd/wiyxjD9H1SpPEozfWz54PX4AaIZLwA== -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/infrastructure/constants.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | 3 | () => { 4 | 5 | window.DefaultOptions = { 6 | puppeteer: { 7 | headless: true, 8 | defaultViewport: null 9 | }, 10 | session: false, 11 | qrTimeoutMs: 45000, 12 | qrRefreshIntervalMs: 20000, 13 | authTimeoutMs: 45000, 14 | takeoverOnConflict: false, 15 | takeoverTimeoutMs: 0, 16 | userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36', 17 | ffmpegPath: 'ffmpeg', 18 | bypassCSP: false 19 | }; 20 | 21 | window.Status = { 22 | INITIALIZING: 0, 23 | AUTHENTICATING: 1, 24 | READY: 3 25 | }; 26 | 27 | /** 28 | * Client status 29 | * @readonly 30 | * @enum {number} 31 | */ 32 | window.Status = { 33 | INITIALIZING: 0, 34 | AUTHENTICATING: 1, 35 | READY: 3 36 | }; 37 | 38 | /** 39 | * Events that can be emitted by the client 40 | * @readonly 41 | * @enum {string} 42 | */ 43 | window.Events = { 44 | AUTHENTICATED: 0, 45 | AUTHENTICATION_FAILURE: 1, 46 | READY: 2, 47 | MESSAGE_RECEIVED: 3, 48 | MESSAGE_CREATE: 4, 49 | MESSAGE_REVOKED_EVERYONE: 5, 50 | MESSAGE_REVOKED_ME: 6, 51 | MESSAGE_ACK: 7, 52 | MEDIA_UPLOADED: 8, 53 | GROUP_JOIN: 9, 54 | GROUP_LEAVE: 10, 55 | GROUP_UPDATE: 11, 56 | QR_RECEIVED: 12, 57 | DISCONNECTED: 13, 58 | STATE_CHANGED: 14, 59 | BATTERY_CHANGED: 15, 60 | INCOMING_CALL: 16 61 | }; 62 | 63 | /** 64 | * Message types 65 | * @readonly 66 | * @enum {string} 67 | */ 68 | window.MessageTypes = { 69 | TEXT: 'chat', 70 | AUDIO: 'audio', 71 | VOICE: 'ptt', 72 | IMAGE: 'image', 73 | VIDEO: 'video', 74 | DOCUMENT: 'document', 75 | STICKER: 'sticker', 76 | LOCATION: 'location', 77 | CONTACT_CARD: 'vcard', 78 | CONTACT_CARD_MULTI: 'multi_vcard', 79 | ORDER: 'order', 80 | REVOKED: 'revoked', 81 | PRODUCT: 'product', 82 | UNKNOWN: 'unknown', 83 | GROUP_INVITE: 'groups_v4_invite' 84 | }; 85 | 86 | /** 87 | * Group notification types 88 | * @readonly 89 | * @enum {string} 90 | */ 91 | window.GroupNotificationTypes = { 92 | ADD: 'add', 93 | INVITE: 'invite', 94 | REMOVE: 'remove', 95 | LEAVE: 'leave', 96 | SUBJECT: 'subject', 97 | DESCRIPTION: 'description', 98 | PICTURE: 'picture', 99 | ANNOUNCE: 'announce', 100 | RESTRICT: 'restrict', 101 | }; 102 | 103 | /** 104 | * Chat types 105 | * @readonly 106 | * @enum {string} 107 | */ 108 | window.ChatTypes = { 109 | SOLO: 'solo', 110 | GROUP: 'group', 111 | UNKNOWN: 'unknown' 112 | }; 113 | 114 | /** 115 | * WhatsApp state 116 | * @readonly 117 | * @enum {string} 118 | */ 119 | window.WAState = { 120 | CONFLICT: 'CONFLICT', 121 | CONNECTED: 'CONNECTED', 122 | DEPRECATED_VERSION: 'DEPRECATED_VERSION', 123 | OPENING: 'OPENING', 124 | PAIRING: 'PAIRING', 125 | PROXYBLOCK: 'PROXYBLOCK', 126 | SMB_TOS_BLOCK: 'SMB_TOS_BLOCK', 127 | TIMEOUT: 'TIMEOUT', 128 | TOS_BLOCK: 'TOS_BLOCK', 129 | UNLAUNCHED: 'UNLAUNCHED', 130 | UNPAIRED: 'UNPAIRED', 131 | UNPAIRED_IDLE: 'UNPAIRED_IDLE' 132 | }; 133 | 134 | /** 135 | * Message ACK 136 | * @readonly 137 | * @enum {number} 138 | */ 139 | window.MessageAck = { 140 | ACK_ERROR: -1, 141 | ACK_PENDING: 0, 142 | ACK_SERVER: 1, 143 | ACK_DEVICE: 2, 144 | ACK_READ: 3, 145 | ACK_PLAYED: 4, 146 | }; 147 | } 148 | 149 | 150 | 151 | 152 | 153 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/p-event.js: -------------------------------------------------------------------------------- 1 | () => { 2 | /** 3 | * Represents a Private Contact on WhatsApp 4 | * @extends {Contact} 5 | */ 6 | window.EventWS = class EventWS { 7 | constructor(options = {}) { 8 | } 9 | 10 | static createEvents() { 11 | 12 | window.Store.Msg.on("add", 13 | async (msg) => { 14 | 15 | if (!msg.isNewMsg || msg.isGroupMsg) return; 16 | 17 | const hasMedia = msg.hasMedia; 18 | msg = window.WWebJS.getMessageModel(msg); 19 | 20 | if (msg.type === 'gp2') { 21 | const notification = new GroupNotification(this, msg); 22 | if (msg.subtype === 'add' || msg.subtype === 'invite') { 23 | /** 24 | * Emitted when a user joins the chat via invite link or is added by an admin. 25 | * @event Client#group_join 26 | * @param {GroupNotification} notification GroupNotification with more information about the action 27 | */ 28 | emitMessage(window.Events.GROUP_JOIN, notification); 29 | } else if (msg.subtype === 'remove' || msg.subtype === 'leave') { 30 | /** 31 | * Emitted when a user leaves the chat or is removed by an admin. 32 | * @event Client#group_leave 33 | * @param {GroupNotification} notification GroupNotification with more information about the action 34 | */ 35 | emitMessage(window.Events.GROUP_LEAVE, notification); 36 | } else { 37 | /** 38 | * Emitted when group settings are updated, such as subject, description or picture. 39 | * @event Client#group_update 40 | * @param {GroupNotification} notification GroupNotification with more information about the action 41 | */ 42 | emitMessage(window.Events.GROUP_UPDATE, notification); 43 | } 44 | return; 45 | } 46 | 47 | const message = new Message(this, msg); 48 | 49 | if (msg.id.fromMe) return; 50 | 51 | if (message.hasMedia) { 52 | message.MessageMedia = await message.downloadMedia(); 53 | } 54 | 55 | /** 56 | * Emitted when a new message is received. 57 | * @event Client#message 58 | * @param {Message} message The message that was received 59 | */ 60 | emitMessage(window.Events.MESSAGE_RECEIVED, message); 61 | 62 | }); 63 | window.Store.AppState.on("change:state", 64 | (_AppState, state) => { 65 | console.log(state); 66 | 67 | const ACCEPTED_STATES = [WAState.CONNECTED, WAState.OPENING, WAState.PAIRING, WAState.TIMEOUT]; 68 | 69 | if (!ACCEPTED_STATES.includes(state)) { 70 | emitChangedExit(state); 71 | } 72 | }); 73 | window.Store.Conn.on("change:battery", 74 | (state) => { 75 | 76 | const { battery, plugged } = state; 77 | 78 | if (battery === undefined) return; 79 | 80 | /** 81 | * Emitted when the battery percentage for the attached device changes 82 | * @event Client#change_battery 83 | * @param {object} batteryInfo 84 | * @param {number} batteryInfo.battery - The current battery percentage 85 | * @param {boolean} batteryInfo.plugged - Indicates if the phone is plugged in (true) or not (false) 86 | */ 87 | emitBatteryState({ 'batteryValue': battery, 'isPlugged': plugged }); 88 | 89 | }); 90 | 91 | } 92 | }; 93 | } 94 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/cons.infr: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/cons.infr: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/infra/AsyncHelpers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Threading; 4 | using System.Threading.Tasks; 5 | 6 | namespace whatsapp.dotnet 7 | { 8 | public static class AsyncHelpers 9 | { 10 | /// 11 | /// Execute's an async Task method which has a void return value synchronously 12 | /// 13 | /// Task method to execute 14 | public static void RunSync(Func task) 15 | { 16 | var oldContext = SynchronizationContext.Current; 17 | var synch = new ExclusiveSynchronizationContext(); 18 | SynchronizationContext.SetSynchronizationContext(synch); 19 | synch.Post(async _ => 20 | { 21 | try 22 | { 23 | await task(); 24 | } 25 | catch (Exception e) 26 | { 27 | synch.InnerException = e; 28 | throw; 29 | } 30 | finally 31 | { 32 | synch.EndMessageLoop(); 33 | } 34 | }, null); 35 | synch.BeginMessageLoop(); 36 | 37 | SynchronizationContext.SetSynchronizationContext(oldContext); 38 | } 39 | 40 | /// 41 | /// Execute's an async Task method which has a T return type synchronously 42 | /// 43 | /// Return Type 44 | /// Task method to execute 45 | /// 46 | public static T RunSync(Func> task) 47 | { 48 | var oldContext = SynchronizationContext.Current; 49 | var synch = new ExclusiveSynchronizationContext(); 50 | SynchronizationContext.SetSynchronizationContext(synch); 51 | T ret = default; 52 | synch.Post(async _ => 53 | { 54 | try 55 | { 56 | ret = await task(); 57 | } 58 | catch (Exception e) 59 | { 60 | synch.InnerException = e; 61 | throw; 62 | } 63 | finally 64 | { 65 | synch.EndMessageLoop(); 66 | } 67 | }, null); 68 | synch.BeginMessageLoop(); 69 | SynchronizationContext.SetSynchronizationContext(oldContext); 70 | return ret; 71 | } 72 | 73 | private class ExclusiveSynchronizationContext : SynchronizationContext 74 | { 75 | private readonly Queue> items = 76 | new Queue>(); 77 | 78 | private readonly AutoResetEvent workItemsWaiting = new AutoResetEvent(false); 79 | private bool done; 80 | public Exception InnerException { get; set; } 81 | 82 | public override void Send(SendOrPostCallback d, object state) 83 | { 84 | throw new NotSupportedException("We cannot send to our same thread"); 85 | } 86 | 87 | public override void Post(SendOrPostCallback d, object state) 88 | { 89 | lock (items) 90 | { 91 | items.Enqueue(Tuple.Create(d, state)); 92 | } 93 | 94 | workItemsWaiting.Set(); 95 | } 96 | 97 | public void EndMessageLoop() 98 | { 99 | Post(_ => done = true, null); 100 | } 101 | 102 | public void BeginMessageLoop() 103 | { 104 | while (!done) 105 | { 106 | Tuple task = null; 107 | lock (items) 108 | { 109 | if (items.Count > 0) task = items.Dequeue(); 110 | } 111 | 112 | if (task != null) 113 | { 114 | task.Item1(task.Item2); 115 | if (InnerException != null) // the method threw an exeption 116 | throw new AggregateException("AsyncHelpers.Run method threw an exception.", InnerException); 117 | } 118 | else 119 | { 120 | workItemsWaiting.WaitOne(); 121 | } 122 | } 123 | } 124 | 125 | public override SynchronizationContext CreateCopy() 126 | { 127 | return this; 128 | } 129 | } 130 | } 131 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.dotnet/infra/EnviromentJs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading; 6 | using System.Threading.Tasks; 7 | 8 | namespace whatsapp.dotnet 9 | { 10 | public class EnviromentJs 11 | { 12 | private readonly Provider _provider; 13 | 14 | 15 | /// 16 | /// no momento que instanciar já carrega no a ambiente os js para ser startada posteriormente 17 | /// 18 | /// 19 | public EnviromentJs(Provider provider) 20 | { 21 | _provider = provider; 22 | AsyncHelpers.RunSync(InjectJsAsync); 23 | } 24 | 25 | 26 | /// 27 | /// carrega as bibliotecas javascript 28 | /// 29 | /// 30 | private async Task InjectJsAsync() 31 | { 32 | try 33 | { 34 | await _provider.page.EvaluateFunctionAsync(ManagerInfra.JsLibs 35 | .FirstOrDefault(obj => obj.Name == "util.infr")?.Content); 36 | } 37 | catch (Exception e) 38 | { 39 | } 40 | } 41 | 42 | 43 | /// 44 | /// se tiver valor no storage significa que o mesmo está autenticado 45 | /// 46 | /// 47 | public async Task GetStatusProcessAsync() 48 | { 49 | try 50 | { 51 | await _provider.page.WaitForFunctionAsync(@"() => 52 | (document.getElementsByClassName('landing-title version-title').length > 0 53 | || document.getElementsByTagName('canvas').length > 0 || 54 | undefined !== (Array.from(document.getElementsByTagName('div')). 55 | find(o=>o.hasAttribute('data-asset-intro-image-light') || o.hasAttribute('data-asset-intro-image-dark'))))"); 56 | 57 | if (await _provider.page.EvaluateFunctionAsync( 58 | "() => document.getElementsByClassName('landing-title version-title').length") == 1) 59 | await RecoverySession(); 60 | 61 | return await _provider.page.EvaluateFunctionAsync( 62 | "() => window.localStorage.getItem('WAToken1')") != null && 63 | await _provider.page.EvaluateFunctionAsync( 64 | "() => window.localStorage.getItem('WAToken2')") != null 65 | ? ProcessingType.whatsappMonitory 66 | : ProcessingType.qrcodeProcessing; 67 | } 68 | catch 69 | { 70 | await RecoverySession(); 71 | /*aguarda para reiniciar processo*/ 72 | Thread.Sleep(new TimeSpan(1, 0, 0)); 73 | return ProcessingType.whatsappErroRestart; 74 | } 75 | } 76 | 77 | /// 78 | /// erro grave , tentativa remover e recriar sessão 79 | /// 80 | /// 81 | private async Task RecoverySession() 82 | { 83 | await _provider.page.ScreenshotAsync("erro.png"); 84 | Killer(); 85 | if (Directory.Exists($"{Environment.CurrentDirectory}\\session")) 86 | Directory.Delete($"{Environment.CurrentDirectory}\\session", true); 87 | 88 | } 89 | 90 | 91 | /// 92 | /// exists other process opened 93 | /// 94 | private void Killer() 95 | { 96 | if (_provider.page != null && !_provider.page.IsClosed) 97 | { 98 | AsyncHelpers.RunSync(() => _provider.page.CloseAsync()); 99 | AsyncHelpers.RunSync(() => _provider.browser.CloseAsync()); 100 | } 101 | 102 | foreach (var Proc in Process.GetProcesses()) 103 | 104 | try 105 | { 106 | if ( 107 | Proc.ProcessName.ToLower().Contains("chrome") 108 | && Proc.MainModule.FileName.Contains(".local-chromium\\Win64-706915\\") || 109 | Proc.ProcessName.ToLower().Contains("agentbot.start") && 110 | Proc.Id != Process.GetCurrentProcess().Id) 111 | Proc.Kill(); 112 | } 113 | catch 114 | { 115 | } 116 | } 117 | 118 | public async Task RemoveTokenAsync() 119 | { 120 | try 121 | { 122 | await _provider.page.EvaluateFunctionAsync( 123 | "() => { window.localStorage.removeItem('WAToken1');}"); 124 | 125 | await _provider.page.EvaluateFunctionAsync( 126 | "() => { window.localStorage.removeItem('WAToken2'); }"); 127 | } 128 | catch (Exception e) 129 | { 130 | } 131 | } 132 | } 133 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/mod/p-e.mode: -------------------------------------------------------------------------------- 1 | +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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/bin/Debug/net5.0/mod/p-e.mode: -------------------------------------------------------------------------------- 1 | +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 -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/model/e-contact.js: -------------------------------------------------------------------------------- 1 | /**23/08/2021 */ 2 | () => { 3 | 4 | /** 5 | * Represents a Contact on WhatsApp 6 | * @extends {Base} 7 | */ 8 | window.Contact = class Contact extends Base { 9 | 10 | constructor(client, data) { 11 | super(client); 12 | 13 | if (data) this._patch(data); 14 | } 15 | 16 | _patch(data) { 17 | /** 18 | * ID that represents the contact 19 | * @type {ContactId} 20 | */ 21 | this.id = data.id; 22 | 23 | /** 24 | * Contact's phone number 25 | * @type {string} 26 | */ 27 | this.number = data.userid; 28 | 29 | /** 30 | * Indicates if the contact is a business contact 31 | * @type {boolean} 32 | */ 33 | this.isBusiness = data.isBusiness; 34 | 35 | /** 36 | * Indicates if the contact is an enterprise contact 37 | * @type {boolean} 38 | */ 39 | this.isEnterprise = data.isEnterprise; 40 | 41 | this.labels = data.labels; 42 | 43 | /** 44 | * The contact's name, as saved by the current user 45 | * @type {?string} 46 | */ 47 | this.name = data.name; 48 | 49 | /** 50 | * The name that the contact has configured to be shown publically 51 | * @type {string} 52 | */ 53 | this.pushname = data.pushname; 54 | 55 | this.sectionHeader = data.sectionHeader; 56 | 57 | /** 58 | * A shortened version of name 59 | * @type {?string} 60 | */ 61 | this.shortName = data.shortName; 62 | 63 | this.statusMute = data.statusMute; 64 | this.type = data.type; 65 | this.verifiedLevel = data.verifiedLevel; 66 | this.verifiedName = data.verifiedName; 67 | 68 | /** 69 | * Indicates if the contact is the current user's contact 70 | * @type {boolean} 71 | */ 72 | this.isMe = data.isMe; 73 | 74 | /** 75 | * Indicates if the contact is a user contact 76 | * @type {boolean} 77 | */ 78 | this.isUser = data.isUser; 79 | 80 | /** 81 | * Indicates if the contact is a group contact 82 | * @type {boolean} 83 | */ 84 | this.isGroup = data.isGroup; 85 | 86 | /** 87 | * Indicates if the number is registered on WhatsApp 88 | * @type {boolean} 89 | */ 90 | this.isWAContact = data.isWAContact; 91 | 92 | /** 93 | * Indicates if the number is saved in the current phone's contacts 94 | * @type {boolean} 95 | */ 96 | this.isMyContact = data.isMyContact; 97 | 98 | /** 99 | * Indicates if you have blocked this contact 100 | * @type {boolean} 101 | */ 102 | this.isBlocked = data.isBlocked; 103 | 104 | return super._patch(data); 105 | } 106 | 107 | /** 108 | * Returns the contact's profile picture URL, if privacy settings allow it 109 | * @returns {Promise} 110 | */ 111 | async getProfilePicUrl() { 112 | return await this.client.getProfilePicUrl(this.id._serialized); 113 | } 114 | 115 | /** 116 | * Returns the Chat that corresponds to this Contact. 117 | * Will return null when getting chat for currently logged in user. 118 | * @returns {Promise} 119 | */ 120 | async getChat() { 121 | if (this.isMe) return null; 122 | 123 | return await this.client.getChatById(this.id._serialized); 124 | } 125 | 126 | /** 127 | * Blocks this contact from WhatsApp 128 | * @returns {Promise} 129 | */ 130 | async block() { 131 | if (this.isGroup) return false; 132 | 133 | const contact = window.Store.Contact.get(this.id._serialized); 134 | await window.Store.BlockContact.blockContact(contact); 135 | return true; 136 | } 137 | 138 | /** 139 | * Unblocks this contact from WhatsApp 140 | * @returns {Promise} 141 | */ 142 | async unblock() { 143 | if (this.isGroup) return false; 144 | 145 | const contact = window.Store.Contact.get(this.id._serialized); 146 | await window.Store.BlockContact.unblockContact(contact); 147 | return true; 148 | } 149 | 150 | /** 151 | * Gets the Contact's current "about" info. Returns null if you don't have permission to read their status. 152 | * @returns {Promise} 153 | */ 154 | async getAbout() { 155 | const about = window.Store.Wap.statusFind(this.id._serialized); 156 | if (typeof about.status !== 'string') 157 | return null; 158 | return about.status; 159 | } 160 | }; 161 | } 162 | -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/artefatos/lib/js/infrastructure/util.js: -------------------------------------------------------------------------------- 1 | 2 | () => { 3 | 4 | window.Util = class Util { 5 | 6 | constructor() { 7 | throw new Error(`The ${this.constructor.name} class may not be instantiated.`); 8 | } 9 | 10 | 11 | static getQrCode = async () => { 12 | return new Promise(resolve => { 13 | let qrRetry = 14 | document.querySelector("div[data-ref] > span > button"); 15 | if (qrRetry) { 16 | qrRetry.click(); 17 | } 18 | 19 | const element = document.querySelectorAll('[data-ref]')[0]; 20 | 21 | if (!element) { 22 | resolve(""); 23 | } else { 24 | 25 | const qrCode = element.getAttribute('data-ref'); 26 | if (qrCode) 27 | resolve(qrCode); 28 | else 29 | resolve(""); 30 | } 31 | }); 32 | } 33 | 34 | static getElementByXpath = (path) => { 35 | 36 | 37 | try { 38 | let element = document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); 39 | 40 | if (element) 41 | return element.singleNodeValue; 42 | return null; 43 | } catch (e) { 44 | return null; 45 | } 46 | } 47 | 48 | static buildData = (object) => { 49 | const jsonData = JSON.parse(object); 50 | for (var i = 0; i < jsonData.counters.length; i++) { 51 | var counter = jsonData.counters[i]; 52 | 53 | } 54 | } 55 | 56 | static downloadFileWithCredentials = async (url) => { 57 | 58 | 59 | try { 60 | 61 | return new Promise(resolve => { 62 | let xhr = new XMLHttpRequest(); 63 | xhr.onload = function () { 64 | if (xhr.readyState == 4) { 65 | if (xhr.status == 200) { 66 | let reader = new FileReader(); 67 | reader.readAsDataURL(xhr.response); 68 | reader.onload = function (e) { 69 | resolve(reader.result.substr(reader.result.indexOf(',') + 1)) 70 | }; 71 | } else { 72 | 73 | resolve(xhr.statusText); 74 | } 75 | } else { 76 | 77 | resolve('err'); 78 | } 79 | }; 80 | 81 | xhr.open("GET", url, true); 82 | xhr.withCredentials = true; 83 | xhr.responseType = 'blob'; 84 | xhr.send(null); 85 | return null; 86 | }); 87 | } catch (e) { 88 | return null; 89 | } 90 | } 91 | 92 | static serializeContactObj = (obj) => { 93 | if (obj == undefined) { 94 | return null; 95 | } 96 | 97 | return Object.assign(this.serializeRawObj(obj), { 98 | profilePicThumbObj: obj.profilePicThumb ? this.serializeProfilePicThumb(obj.profilePicThumb) : null 99 | }); 100 | }; 101 | 102 | static serializeRawObj = (obj) => { 103 | if (obj) { 104 | return obj.toJSON(); 105 | } 106 | return {} 107 | }; 108 | 109 | static serializeProfilePicThumb = (obj) => { 110 | if (obj == undefined) { 111 | return null; 112 | } 113 | 114 | return Object.assign({}, { 115 | eurl: obj.eurl, 116 | id: obj.id, 117 | img: obj.img, 118 | imgFull: obj.imgFull, 119 | raw: obj.raw, 120 | tag: obj.tag 121 | }); 122 | } 123 | 124 | static getChatModelChange = (chat) => { 125 | 126 | let res = chat.serialize(); 127 | 128 | if (chat['contact']) { 129 | 130 | let contact = this.serializeContactObj(chat['contact']); 131 | 132 | if (contact && contact.profilePicThumbObj) { 133 | 134 | let profilePicThumbObj = contact.profilePicThumbObj; 135 | res.eurl = profilePicThumbObj.eurl; 136 | res.img = profilePicThumbObj.img; 137 | res.imgFull = profilePicThumbObj.imgFull; 138 | } 139 | } 140 | 141 | res.formattedTitle = chat.formattedTitle; 142 | res.isGroup = chat.isGroup; 143 | res.formattedTitle = chat.formattedTitle; 144 | res.isMuted = chat.mute && chat.mute.isMuted; 145 | 146 | if (chat.groupMetadata) { 147 | res.groupMetadata = chat.groupMetadata.serialize(); 148 | } 149 | 150 | delete res.msgs; 151 | delete res.msgUnsyncedButtonReplyMsgs; 152 | delete res.unsyncedButtonReplies; 153 | 154 | return res; 155 | }; 156 | 157 | }; 158 | } -------------------------------------------------------------------------------- /src/whatsapp.dotnet/whatsapp.console/obj/whatsapp.console.csproj.nuget.dgspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "format": 1, 3 | "restore": { 4 | "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.console\\whatsapp.console.csproj": {} 5 | }, 6 | "projects": { 7 | "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.console\\whatsapp.console.csproj": { 8 | "version": "1.0.0", 9 | "restore": { 10 | "projectUniqueName": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.console\\whatsapp.console.csproj", 11 | "projectName": "whatsapp.console", 12 | "projectPath": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.console\\whatsapp.console.csproj", 13 | "packagesPath": "C:\\Users\\italo\\.nuget\\packages\\", 14 | "outputPath": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.console\\obj\\", 15 | "projectStyle": "PackageReference", 16 | "configFilePaths": [ 17 | "C:\\Users\\italo\\AppData\\Roaming\\NuGet\\NuGet.Config", 18 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 19 | ], 20 | "originalTargetFrameworks": [ 21 | "net5.0" 22 | ], 23 | "sources": { 24 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 25 | "https://api.nuget.org/v3/index.json": {} 26 | }, 27 | "frameworks": { 28 | "net5.0": { 29 | "targetAlias": "net5.0", 30 | "projectReferences": { 31 | "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj": { 32 | "projectPath": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj" 33 | } 34 | } 35 | } 36 | }, 37 | "warningProperties": { 38 | "warnAsError": [ 39 | "NU1605" 40 | ] 41 | } 42 | }, 43 | "frameworks": { 44 | "net5.0": { 45 | "targetAlias": "net5.0", 46 | "dependencies": { 47 | "NETCore.Encrypt": { 48 | "target": "Package", 49 | "version": "[2.1.0, )" 50 | } 51 | }, 52 | "imports": [ 53 | "net461", 54 | "net462", 55 | "net47", 56 | "net471", 57 | "net472", 58 | "net48" 59 | ], 60 | "assetTargetFallback": true, 61 | "warn": true, 62 | "frameworkReferences": { 63 | "Microsoft.NETCore.App": { 64 | "privateAssets": "all" 65 | } 66 | }, 67 | "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json" 68 | } 69 | } 70 | }, 71 | "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj": { 72 | "version": "1.0.7", 73 | "restore": { 74 | "projectUniqueName": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj", 75 | "projectName": "WhatsApp.DotNet", 76 | "projectPath": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\whatsapp.dotnet.csproj", 77 | "packagesPath": "C:\\Users\\italo\\.nuget\\packages\\", 78 | "outputPath": "C:\\Src\\git_sources\\whatsapp-api-dotnet\\src\\whatsapp.dotnet\\whatsapp.dotnet\\obj\\", 79 | "projectStyle": "PackageReference", 80 | "configFilePaths": [ 81 | "C:\\Users\\italo\\AppData\\Roaming\\NuGet\\NuGet.Config", 82 | "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" 83 | ], 84 | "originalTargetFrameworks": [ 85 | "net5.0" 86 | ], 87 | "sources": { 88 | "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, 89 | "https://api.nuget.org/v3/index.json": {} 90 | }, 91 | "frameworks": { 92 | "net5.0": { 93 | "targetAlias": "net5.0", 94 | "projectReferences": {} 95 | } 96 | }, 97 | "warningProperties": { 98 | "warnAsError": [ 99 | "NU1605" 100 | ] 101 | } 102 | }, 103 | "frameworks": { 104 | "net5.0": { 105 | "targetAlias": "net5.0", 106 | "dependencies": { 107 | "NETCore.Encrypt": { 108 | "target": "Package", 109 | "version": "[2.0.9, )" 110 | }, 111 | "PuppeteerSharp": { 112 | "target": "Package", 113 | "version": "[2.0.4, )" 114 | }, 115 | "System.Reactive": { 116 | "target": "Package", 117 | "version": "[5.0.0, )" 118 | } 119 | }, 120 | "imports": [ 121 | "net461", 122 | "net462", 123 | "net47", 124 | "net471", 125 | "net472", 126 | "net48" 127 | ], 128 | "assetTargetFallback": true, 129 | "warn": true, 130 | "frameworkReferences": { 131 | "Microsoft.NETCore.App": { 132 | "privateAssets": "all" 133 | } 134 | }, 135 | "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.101\\RuntimeIdentifierGraph.json" 136 | } 137 | } 138 | } 139 | } 140 | } --------------------------------------------------------------------------------