2016-01-26 8 views
8

के साथ एक छवि पोस्ट करना मैं एक छवि w/slack API पोस्ट करने का प्रयास कर रहा हूं। मेरे पास दो एपीआई खुले हैं (पाइथन का उपयोग कर) वर्तमान में, जो आरटीएम & स्लैकबॉट है।स्लैक एपीआई

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 

इन उदाहरणों पाठ चैनल में पोस्ट करने के लिए ठीक से काम है, लेकिन मैं चैनल के लिए एक छवि पोस्ट करने के लिए की जरूरत है।

मैं rtm_ * विधि का उपयोग कर एक छवि पोस्ट करना चाहता हूं, लेकिन मैं यह नहीं समझ सकता कि कैसे। छवियों के लिए मैं एकमात्र संदर्भ देखता हूं https://api.slack.com/docs/attachments है लेकिन मुझे इसे w/rtm API करने का कोई तरीका नहीं दिख रहा है।

किसी भी मदद की सराहना की जाती है। TIA।

अद्यतन/संपादित करें:

तो मैं का उपयोग कर विधि Jon सिफारिश की कोशिश की है, जो इस प्रकार है:

sc.api_call("chat.postMessage", channel='D0K7P9MCJ', text='postMessage test', 
      attachments='[{"image_url":"http://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg"}]') 

लेकिन वह काम करने के लिए प्रकट नहीं होता है (कोई छवि पोस्ट किया जाता है) और कोई त्रुटि फेंक दी गई है।

समाधान

मैं संलग्नक अनुभाग में एक शीर्षक शामिल करके यह काम कर गया। काश यह एक त्रुटि फेंक दिया, =/

+0

क्या आप वास्तव में काम करने वाले अनुलग्नकों के साथ एक उदाहरण कॉल पोस्ट कर सकते हैं? मैं वही काम करने की कोशिश कर रहा हूं और एक शीर्षक सहित – Bicubic

+0

@ बाइबिक की सहायता नहीं कर रहा है यह थोड़ी देर हो गया है, लेकिन मैंने एक समाधान जोड़ा जो काम करना चाहिए। – Shatnerz

उत्तर

1

आप postMessage विकल्प का उपयोग करना होगा - आप इसे (https://api.slack.com/rtm से) आरटीएम का उपयोग कर ऐसा नहीं कर सकते:

आरटीएम केवल API स्वरूपित सरल संदेशों को पोस्ट करने का समर्थन करता है हमारे डिफ़ॉल्ट संदेश स्वरूपण मोड का उपयोग कर। यह संलग्नक या अन्य संदेश स्वरूपण मोड का समर्थन नहीं करता है। उपयोगकर्ता क्लाइंट के रूप में अधिक जटिल संदेश पोस्ट करने के लिए user.postMessage वेब API विधि को as_user सत्य पर सेट कर सकते हैं।

+0

मैंने 'ओपेमेज' का उपयोग करने के उदाहरण दिखाने के लिए अपना ओपी अपडेट किया, जो मेरे लिए काम नहीं करता है। –

+0

क्या आप 'टोकन' तर्क सहित हैं? यह आवश्यक है https://api.slack.com/methods/chat.postMessage –

+0

मैं क्लाइंट लाइब्रेरी का उपयोग कर रहा हूं, ऐसा लगता है कि मैं मान की आपूर्ति नहीं करता हूं। यह टोकन की आपूर्ति करने के लिए ठीक w/आउट काम कर रहा है, हालांकि मैं क्लाइंट कन्स्ट्रक्टर पर एपीआई कुंजी की आपूर्ति करता हूं। - साथ ही, ध्यान दें, मैंने पोस्ट किया है जो मेरे ओपी में समाधान प्रतीत होता है। गुम छवि शीर्षक। –

4

जैसा कि प्रश्न में एक अद्यतन में बताया गया है, इस के लिए काम करने के लिए संलग्नक के साथ एक शीर्षक शामिल होना चाहिए।

image_url = "http://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg" 
attachments = attachments = [{"title": "Cat", 
           "image_url": image_url}] 
sc.api_call("chat.postMessage", channel='D0K7P9MCJ', text='postMessage test', 
      attachments=attachments) 
+0

'शीर्षक' और 'टेक्स्ट' के लिए रिक्त फ़ील्ड का उपयोग करना भी काम करता है – meain

संबंधित मुद्दे