2017-07-25 4 views
0

Derzeit habe ich ein Python-Skript eine Nachricht zu locker senden. Ich möchte zusätzliche Links hinzufügen, kann aber nicht herausfinden, wie. Dies ist mein aktueller Code.Python - Hinzufügen von Links in Slack-API

def post_slack(): 
    """Post slack message.""" 
    try: 
     token = 'xoxp-67503713541-67496795984-216701772021-c23bdfbe9635f1f63a4c802697147dfc' 
     slack = Slacker(token) 

     obj = slack.chat.post_message(
      channel='#dataworksapp', 
      as_user= 'false', 
      username = 'DataWorksBot', 
      attachments=[ 
     { 
      "color": "033E96", 
      "title": "Pressure Transducer Weekly Information", 
      "title_link": "https://console.cloud.google.com/storage/browser/firebase_results/?project=dataworks-356fa", 
      "author_name": "Master Table", 
      "author_link": "https://bigquery.cloud.google.com/table/dataworks-356fa:FirebaseArchive.PT_MasterTable?tab=preview", 
      "text": "https://bigquery.cloud.google.com/table/dataworks-356fa:FirebaseArchive.PT_MasterTable?tab=preview", 
      "fields": [ 
       { 
        "title": "Amount Used:", 
        "value": "countPTserial1", 
        "short": 'true' 
       },{ 
        "title": "Distinct Device ID's:", 
        "value": "countPTid1", 
        "short": 'true' 
       },{ 
        "title": "Total Connection Time (hr):", 
        "value": "sumPTct2", 
        "short": 'true' 
       } 
      ] 

habe ich keine andere Feld Kategorien konnte finden, die auf „author_link“ ähnlich sein würden, dass ich auf einen Link gleich einstellen könnte. Ich kann "text" gleich einem Link setzen, aber wenn ich es auf diese Weise tun würde, würde ich es vorziehen, den Link nur als ein einziges Wort anstelle des ganzen hässlichen Links zu haben, der in der Nachricht gesendet wird.

Auch kann ich die Verknüpfung nicht gleich einer Variablen setzen und dann "text" gleich dieser Variablen setzen. Wenn ich das tue, wird immer noch der ganze Link angezeigt. Danke für die Hilfe!

Antwort

2

Ich sehe hier ein paar Optionen. Im Textfeld können Sie die Anzeige Ihres Links ändern, indem Sie ihn in <> Symbole einschließen und ein | hinzufügen Trennzeichen:

"text": "Click me: <https://foo.com|foo>"

die als würde die Anzeige "Klick mich: foo"

Oder Sie könnten zusätzliche Felder wie so für jeden Link erstellen:

"fields": [ 
      { 
       "title": "Link 1", 
       "value": "<http://foo.com|foo>", 
       "short": false 
      }, 
          { 
       "title": "Link 2", 
       "value": "<http://bar.com|bar>", 
       "short": false 
      } 
     ] 
+0

ich Ihr erster Vorschlag verwendet und es hat perfekt funktioniert. Vielen Dank! –

Verwandte Themen