SlackAPIを使用して画像を投稿しようとしています。現在、(Pythonを使用して)2つのAPIを開いています。それはrtmとslackbotです。
sc = SlackClient(API_KEY)
sc.api_call('chat.postMessages', channel=, text=) #post as bot
sc.rtm_connect():
sc.rtm_send_message(channel=..., message=...) #post as desired user
これらの例は、textをチャネルに投稿するのに問題なく機能しますが、画像をチャネルに投稿する必要があります。
Rtm_ *メソッドを使用して画像を投稿したいのですが、方法がわかりません。画像について私が見る唯一の参照は https://api.slack.com/docs/attachments ですが、rtmAPIを使用してそれを行う方法がわかりません。
どんな助けでも大歓迎です。 TIA。
UPDATE/EDIT:
そこで、推奨される方法Jon
を使用してみました。これは次のとおりです。
sc.api_call("chat.postMessage", channel='D0K7P9MCJ', text='postMessage test',
attachments='[{"image_url":"http://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg"}]')
しかし、それは機能していないようで(画像は投稿されていません)、エラーはスローされません。
[〜#〜]ソリューション[〜#〜]
添付ファイルセクションにタイトルを含めることで、これを機能させることができました。エラーが発生したい= /
質問の更新で述べたように、これが機能するためには、添付ファイル付きのタイトルを含める必要があります。
image_url = "http://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg"
attachments = [{"title": "Cat", "image_url": image_url}]
sc.api_call("chat.postMessage", channel='D0K7P9MCJ', text='postMessage test',
attachments=attachments)
PostMessageオプションを使用する必要があります-RTM(from https://api.slack.com/rtm )を使用してそれを行うことはできません:
RTM APIは、デフォルトのメッセージフォーマットモードを使用してフォーマットされた単純なメッセージの投稿のみをサポートします。添付ファイルやその他のメッセージフォーマットモードはサポートしません。ユーザークライアントがチャットを呼び出すことができるため、より複雑なメッセージを投稿するにはas_userがtrueに設定された.postMessageWebAPIメソッド。