Delphi-PRAXiS
Seite 1 von 2  1 2      

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 14:24


Discord "message": "Cannot send an empty message", "code": 50006
 
Hey Leute,
ich scheitre gerade an Discord. Ich habe einen Webhook erstellt.
Ich schaffe es aber nicht eine einfache Message zu senden.
Weder mit net noch mit Indy
Json String ist valide und der Content type ist auf 'application/json'
Weder mit einem Stream noch mit einer TStringlist. funktioniert es.

Der Code
Delphi-Quellcode:
procedure TForm5.btn1Click(Sender: TObject);
var
  LsList: TStringList;
  LResponse:string;
  LSStream: TStringStream;
const
  LContent = '{"content": "Test"}';
begin
LsList := TStringList.Create;
LSStream:= TStringStream.Create(LContent, TEncoding.UTF8);
  try
  LResponse:= nthtpclnt1.get(FUrl).ContentAsString();
  mmo1.Lines.Add('0 ' + LResponse);

  LsList.DefaultEncoding.UTF8;
  LsList.Add(LContent);
  nthtpclnt1.ContentType:= 'application/json';


  LResponse:= nthtpclnt1.Post(FUrl,LSStream).ContentAsString();
  mmo1.Lines.Add('1 ' + LResponse);
  LResponse:= nthtpclnt1.Post(FUrl,LsList).ContentAsString();
  mmo1.Lines.Add('2 ' + LResponse);
  finally
    LsList.Free;
    LSStream.Free;
  end; // try
end;
btn2
Delphi-Quellcode:
procedure TForm5.btn2Click(Sender: TObject);
var
  params: TStringStream;
  LIndy: TIdHTTP;
  LResponse:string;
const
  LContent = '{"content": "Test"}';
begin
  LIndy:= TIdHTTP.Create();
  params := TStringStream.Create(LContent, TEncoding.UTF8);
  try
    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;
  mmo1.Lines.Add('3 ' + LResponse);
end;

Die Antworten
Delphi-Quellcode:
0 {"type": 1, "id": "67713562xxxxx", "name": "Test", "avatar": null, "channel_id": "677135529xxxx", "guild_id": "640861371927xxxxx", "token": "JlWiT1BTTWBmMxzbjoyEdeuIBv8A8Vj3bPBJxxxxxxxx"}

2 {"message": "Cannot send an empty message", "code": 50006}
3
Wahrscheinlich ist irgendwo ein simpler Fehler den ich gerade übersehe.
Sieht wer meinen Fehler?
Dank die SM:wink:

Moombas 13. Feb 2020 14:32

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Bei deinem btn1 zumindest sollten die ' weg, wenn ihc mich nicht irre:

LSStream:= TStringStream.Create('LContent', TEncoding.UTF8);

ScharfeMietze 13. Feb 2020 14:35

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Ja, hatte ich gerade schon berichtigt. Dann bekomme ich ein leeres Ergebnis.

DieDolly 13. Feb 2020 14:52

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Delphi-Quellcode:
LResponse:= LIndy.Post(FUrl, params);
Wo wird params denn befüllt?

ScharfeMietze 13. Feb 2020 14:59

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

Zitat von DieDolly (Beitrag 1457398)
Delphi-Quellcode:
LResponse:= LIndy.Post(FUrl, params);
Wo wird params denn befüllt?

Delphi-Quellcode:
const
  LContent = '{"content": "Test"}';
Delphi-Quellcode:
params := TStringStream.Create(LContent, TEncoding.UTF8);

DieDolly 13. Feb 2020 15:00

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
Aber die kompletten Daten fehlen doch oder nicht?

Ignorier das. Ich sehe jetzt erst
Delphi-Quellcode:
LContent = '{"content": "Test"}';

ScharfeMietze 13. Feb 2020 15:02

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

Zitat von diedolly (Beitrag 1457400)
aber die kompletten daten fehlen doch oder nicht?

ignorier das. Ich sehe jetzt erst
Delphi-Quellcode:
lcontent = '{"content": "test"}';

:-d:-d

Klaus01 13. Feb 2020 15:08

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
mag vielleicht etwas abwegig sein.
Aber setze den Positionszeiger von LStream mal auf die Nullte Position.
Delphi-Quellcode:
LStream.seek(0);
Grüße
Klaus

ScharfeMietze 13. Feb 2020 15:18

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

Zitat von Klaus01 (Beitrag 1457403)
mag vielleicht etwas abwegig sein.
Aber setze den Positionszeiger von LStream mal auf die Nullte Position.
Delphi-Quellcode:
LStream.seek(0);
Grüße
Klaus

[dcc32 Fehler] Unit5.pas(54): E2250 Es gibt keine überladene Version von 'Seek', die man mit diesen Argumenten aufrufen kann
leider nicht ..
Delphi-Quellcode:
mit Position := 0
bekomme ich ein leeres Ergebnis als Antwort

Klaus01 13. Feb 2020 15:26

AW: Discord "message": "Cannot send an empty message", "code": 50006
 
soory mein Fehler:

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

Grüße
Klaus


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

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