Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1K
Visualizações
Usando la API de Discord y cURL para enviar un DM de Discord

¿Cómo podría enviar un Discord DM con cURL? Lo tengo funcionando con mensajes de canal, pero un Discord DM es muy importante para mi sitio web para mantener a los usuarios actualizados. A continuación se muestra lo que tengo hasta ahora, siendo la ID una ID de usuario de Discord.

 $url = 'https://discordapp.com/api/channels/591765736003731487/messages'; $ch = curl_init(); $f = fopen('request.txt', 'w'); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_HTTPHEADER => array('Authorization : Bot <TOKEN>'), CURLOPT_RETURNTRANSFER => 1, CURLOPT_FOLLOWLOCATION => 1, CURLOPT_VERBOSE => 1, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_STDERR => $f, )); $response = curl_exec($ch); fclose($f); curl_close($ch);
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Usando su código actual, hice un pequeño fragmento. Es posible que deba cambiar algunas cosas según sus necesidades, pero en este caso funciona según lo previsto. Para hacer un buen uso de la solicitud CURL y no hacer y usar código repetitivo, lo pondría en una función, en este caso MakeRequest($endpoint, $data)

Donde $endpoint es una cadena y $data debe ser una matriz

Para abrir y enviar un mensaje directo a un usuario, necesita estos puntos finales.

Para crear un nuevo mensaje directo

POST /usuarios/@yo/canales

Para enviar mensajes:

POST /canales/{canal.id}/mensajes

 <?php function MakeRequest($endpoint, $data) { # Set endpoint $url = "https://discord.com/api/".$endpoint.""; # Encode data, as Discord requires you to send json data. $data = json_encode($data); # Initialize new curl request $ch = curl_init(); $f = fopen('request.txt', 'w'); # Set headers, data etc.. curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_HTTPHEADER => array( 'Authorization: Bot token', "Content-Type: application/json", "Accept: application/json" ), CURLOPT_RETURNTRANSFER => 1, CURLOPT_FOLLOWLOCATION => 1, CURLOPT_VERBOSE => 1, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POSTFIELDS => $data CURLOPT_STDERR => $f, )); $request = curl_exec($ch); curl_close($ch); return json_decode($request, true); } # Open the DM first $newDM = MakeRequest('/users/@me/channels', array("recipient_id" => "ID From the user")); # Check if DM is created, if yes, let's send a message to this channel. if(isset($newDM["id"])) { $newMessage = MakeRequest("/channels/".$newDM["id"]."/messages", array("content" => "Hello World.")); } ?>

ingrese la descripción de la imagen aquí

Advertencia: debido a cuestiones de seguridad y privacidad, es posible que un mensaje directo no se abra si:

  • El usuario no comparte el mismo servidor que su bot.
  • El usuario ha desactivado los DM de los miembros del servidor.
  • El usuario ha bloqueado tu bot.
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda