Advertisement
DigitalCliques

Untitled

Jun 3rd, 2025
523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 3.14 KB | Source Code | 0 0
  1.  
  2.  'Função auxiliar em Javascript para colar junto com o WPP connect
  3.  
  4.  window.WPP.getAllChats = async function () {
  5.   try {
  6.     const contatos = await WPP.chat.list({ onlyUsers: true });
  7.     let contactsArray = [];
  8.  
  9.     for (let i = 0; i < contatos.length; i++) {
  10.       if (contatos[i]) {
  11.         const contactObj = {
  12.           WhatsAppNumero: contatos[i].contact.id._serialized,
  13.           WhatsAppNome: contatos[i].formattedTitle,
  14.           IsMyContact: contatos[i].contact.isMyContact
  15.         };
  16.         contactsArray.push(contactObj);
  17.       }
  18.     }
  19.     return contactsArray;
  20.   } catch (error) {
  21.     console.error("Ocorreu um erro ao obter os chats:", error);
  22.    
  23.     return [];
  24.   }
  25. };
  26.  
  27.  
  28. 'Chamar essa sub no botão de obter conversas
  29.  
  30. Public Sub GetConversas()
  31.     ExecuteScriptAsync("WPP.getAllChats().then(e=>{var a={}; a.signature='importar__conversas'; a.contacts=e; window.chrome.webview.postMessage(a)})")
  32. End Sub
  33.  
  34.  
  35. 'Função que trata todas as repostas obtidas pela webview:
  36.  
  37. Private Sub WhatsAppIntance_WebMessageReceived(sender As Object, e As CoreWebView2WebMessageReceivedEventArgs) Handles Me.WebMessageReceived
  38.  
  39.  If e.WebMessageAsJson.ToString.Contains("importar__conversas") Then
  40.      Try
  41.          TempImportarContatos = JsonConvert.DeserializeObject(Of ImportarContatos)(e.WebMessageAsJson)
  42.  
  43.          If TempImportarContatos IsNot Nothing Then
  44.              ' Adiciona contatos ao ListView
  45.              For Each contact In TempImportarContatos.Contacts
  46.                  If contact.WhatsAppNumero.Contains("c.us") Then
  47.                      Dim li As New ListViewItem
  48.                      li.Text = contact.WhatsAppNome
  49.                      li.SubItems.Add(contact.WhatsAppNumero.Replace("@c.us", ""))
  50.  
  51.  
  52.                      FrmImportarWhatsApp.BeginInvoke(Sub()
  53.                                                          FrmImportarWhatsApp.ListView1.Items.Add(li)
  54.                                                      End Sub)
  55.                  End If
  56.              Next
  57.  
  58.              ' Remove contatos com "+0" do ListView
  59.              FrmImportarWhatsApp.BeginInvoke(Sub()
  60.                                                  For i As Integer = FrmImportarWhatsApp.ListView1.Items.Count - 1 To 0 Step -1
  61.                                                      Dim item As ListViewItem = FrmImportarWhatsApp.ListView1.Items(i)
  62.                                                      If item.SubItems(1).Text = "0" Then
  63.                                                          FrmImportarWhatsApp.ListView1.Items.RemoveAt(i)
  64.                                                      End If
  65.                                                  Next
  66.                                                  ' Atualiza o label de contagem após a remoção
  67.                                                  FrmImportarWhatsApp.Label3.Text = "CONTATOS IMPORTADOS" & "(" & FrmImportarWhatsApp.ListView1.Items.Count & ")"
  68.                                              End Sub)
  69.          End If
  70.  
  71.      Catch ex As Exception
  72.          ' Opcional: tratamento de erro
  73.          Console.WriteLine("Erro ao processar contatos: " & ex.Message)
  74.      End Try
  75.  End If
  76.  
  77.  End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement