2017-07-09 4 views
0

Ich versuche, eine Anlage mit dem Python-Client von Slack zu senden, aber immer wenn ich es tue, scheitere ich. Ich habe versucht, es mit dem Tester zu senden, aber es hat immer noch nicht funktioniert. Entweder bekomme ich {"ok": false,"error": "no_text"} oder wenn ich die Texteigenschaft habe, wird nur der Text gesendet. So mache ich es. Ich habe auch gesucht, aber nichts gefunden.Slack-API: Ich kann keine Anhänge senden

 attachment = json.dumps([{"attachments": [{"fallback": "Reddit Message","color": "#448aff","pretext":"You've got a new Message!","author_name": "Reddit","author_link": "https://reddit.com","author_icon": "imageurl","title": "Reddit Message","title_link": "https://reddit.com/message/inbox","text": "This is what I know about it.","fields": [{"title": "Author:","value": str(item.author),"short": "true"},{"title": "Subject: ","value": str(item.subject),"short": "true"},{"title": "Message:","value": str(item.body),"short": "false"}],"footer": "Reddit API","footer_icon": "anotherimageurl"}]}) 

sc.api_call("chat.postMessage",channel="U64KWRJAU",attachments=attachment,as_user=True) 

Hilfe wäre willkommen. Dies sollte sinnvoll sein, aber ich verstehe nicht, warum es nicht funktioniert

Antwort

0

Von Ihrer Referenz müssen Sie Anlage als Liste übergeben. Sie müssen nicht den Schlüssel attachments in einem Dict, das die Liste enthält, haben.

attachment = json.dumps([ 
    { 
     "fallback": "Reddit Message", 
     "color": "#448aff", 
     "pretext":"You've got a new Message!", 
     "author_name": "Reddit", 
     "author_link": "https://reddit.com", 
     .... 
    } 
]) 

sc.api_call(
    "chat.postMessage", channel="U64KWRJAU", 
    attachments=attachment, as_user=True) 
+0

Aber ich sende keine Datei. Ich sende einen Nachrichtenanhang. – MatejMecka

+0

Nachrichtenanhang? Meinst du ein Schnipsel? –

+0

https://api.slack.com/docs/message-attachments – MatejMecka