Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Discord "message": "Cannot send an empty message", "code": 50006 (https://www.delphipraxis.net/203394-discord-message-cannot-send-empty-message-code-50006-a.html)

ScharfeMietze 13. Feb 2020 15:38

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Zitat:

Zitat von Klaus01 (Beitrag 1457406)
soory mein Fehler:

Delphi-Quellcode:
LStream.seek(soBeginning);
aber wenn Position schon nicht hilft...

Grüße
Klaus

hehe,
auch hier das gleiche ergebnis...
[dcc32 Fehler] Unit5.pas(54): E2250 Es gibt keine überladene Version von 'Seek', die man mit diesen Argumenten aufrufen kann

Klaus01 13. Feb 2020 18:31

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
nur zur Korrektur:

Delphi-Quellcode:
LSStream.seek(0,soFromBeginning);
oder
Delphi-Quellcode:
params.seek(0,soFromBeginning);

ScharfeMietze 13. Feb 2020 18:37

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Zitat:

Zitat von Klaus01 (Beitrag 1457424)
nur zur Korrektur:

Delphi-Quellcode:
LSStream.seek(0,soFromBeginning);
oder
Delphi-Quellcode:
params.seek(0,soFromBeginning);

Keine Fehlermeldung mehr!, aber das Ergebnis der Antwort ist immer noch das Gleiche
Delphi-Quellcode:

2 {"message": "Cannot send an empty message", "code": 50006}
3

Klaus01 13. Feb 2020 18:42

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
.. kannst Du aufzeichen/sehen (Wireshark, Fiddler) was zum Server geschickt wird?
Vielleicht stimmt ja mit der Nachricht etwas nicht.

Grüße
Klaus

DieDolly 13. Feb 2020 18:44

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Versuch das mal so. StringList statt StringStream und ein explizites Add().
Delphi-Quellcode:
procedure TForm5.btn2Click(Sender: TObject);
var
  params: TStringList;
  LIndy: TIdHTTP;
  LResponse:string;
begin
  LIndy:= TIdHTTP.Create();
  params := TStringList.Create;
  try
    params.Add('{"content": "Test"}');
    LIndy.Request.ContentType := 'application/json';
    LIndy.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36';
   
    LResponse := LIndy.Post(FUrl, params);
  finally
    LIndy.Free;
    params.Free;
  end;
end;

ScharfeMietze 14. Feb 2020 10:31

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Zitat:

Zitat von Klaus01 (Beitrag 1457426)
.. kannst Du aufzeichen/sehen (Wireshark, Fiddler) was zum Server geschickt wird?
Vielleicht stimmt ja mit der Nachricht etwas nicht.

Grüße
Klaus

Nein ich kann hier diese Tools nicht aufspielen ... Leider

ScharfeMietze 14. Feb 2020 10:34

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Zitat:

Zitat von DieDolly (Beitrag 1457427)
Versuch das mal so. StringList statt StringStream und ein explizites Add().
Delphi-Quellcode:
procedure TForm5.btn2Click(Sender: TObject);
var
  params: TStringList;
  LIndy: TIdHTTP;
  LResponse:string;
begin
  LIndy:= TIdHTTP.Create();
  params := TStringList.Create;
  try
    params.Add('{"content": "Test"}');
    LIndy.Request.ContentType := 'application/json';
    LIndy.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36';
   
    LResponse := LIndy.Post(FUrl, params);
  finally
    LIndy.Free;
    params.Free;
  end;
end;

Das war meine übliche Vorgehensweise
aber leider funzt auch das nicht...
Delphi-Quellcode:
var
  params: TStringStream;
  LIndy: TIdHTTP;
  LResponse:string;
   LsList: TStringList;
const
  LContent = '{"content": "Test"}';
begin
  LIndy:= TIdHTTP.Create();
  params := TStringStream.Create(LContent, TEncoding.UTF8);
  LsList := TStringList.Create;
  try
    params.seek(0,soFromBeginning);
    LsList.DefaultEncoding.UTF8;
    LsList.Add('{"content": "Test"}');
    LIndy.Request.ContentType := 'application/json';
    LIndy.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36';
    LResponse:= LIndy.Post(FUrl, params);
    mmo1.Lines.Add('3 ' + LResponse);
    try
      LResponse:= LIndy.Post(FUrl, LsList);
    except
      on E : Exception do
      begin
        mmo1.Lines.Add(E.Message);
      end;
    end;
    mmo1.Lines.Add('4 ' + LResponse);
  finally
    LIndy.Free;
    params.Free;
    LsList.Free;
  end;

end;
Ergebnis
Delphi-Quellcode:

HTTP/1.1 400 BAD REQUEST
4

DieDolly 14. Feb 2020 11:00

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Das was da oben steht würde ich erstmal komplett löschen. Das ist eine Mischung aus beiden.
Am besten suchst du dir einen großen und vernünftigen Discord-Server wo sich die Leute mit sowas befassen und fragst da mal nach.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz