हम क्या करने की कोशिश कर रहे हैं

मैं ऑटोमेशन पर काम कर रहा हूं जो एक कस्टम स्लैक ऐप पर Incoming Webhooks का उपयोग करके एक स्लैक चैनल पर संदेश पोस्ट करता है। . संदेशों में लोगों का उल्लेख है।

क्या काम करता है

हम संदेश को ठीक-ठाक भेज सकते हैं, इसमें सामग्री स्वरूपित है, और उपयोगकर्ता नाम link- का उपयोग करके सही ढंग से हल किए गए हैं- नाम ध्वज.

a successful message being posted and tagging people

क्या काम नहीं कर रहा है

अधिसूचना का पूरा बिंदु लोगों के गतिशील समूह को किसी ऐसी चीज़ के बारे में सूचित करना है जिसका उन्हें ध्यान रखना चाहिए। हमारे द्वारा टैग किए जाने वाले लोगों का समूह बहुत भिन्न होता है (उन लोगों के बारे में सोचें जिन्होंने पुल अनुरोध में योगदान दिया है) और इसलिए सभी संभावित प्राप्तकर्ता उस चैनल में नहीं हैं जिस पर ये स्वचालित संदेश जाते हैं।

हमने मान लिया था कि उपयोगकर्ता नाम सीधे @ -उल्लेख किए जा रहे हैं, उन्हें स्लैक द्वारा अधिसूचित किया जाएगा। हालांकि, जिन दो उपयोगकर्ताओं के साथ हमने परीक्षण किया है और @-उल्लेख किया है, वे पुष्टि करते हैं कि उन्हें कभी भी कोई सूचना प्राप्त नहीं हुई जिसे उन्हें टैग किया गया था।

यह "मानव" व्यवहार से अलग है, जहां यदि आप स्लैक में किसी का @-उल्लेख करते हैं, तो आपको यह याद दिलाने वाला एक छोटा संदेश मिलता है कि वह व्यक्ति इस चैनल में नहीं है और उन्हें आमंत्रित करने या उन्हें बताने की पेशकश करता है।

example of mentioning a user who isn't in a channel

जहाँ तक हम बता सकते हैं, संदेश को प्रोग्रामेटिक रूप से भेजना ऊपर की तस्वीर में "कुछ भी न करें" के बराबर कर रहा है। मैं अन्य दो विकल्पों में से किसी एक को करना चाहता हूं, अधिमानतः "उन्हें बताएं"।

मैं उन लोगों को कैसे सूचित कर सकता हूं जिनका उल्लेख किया गया है? मैंने सभी एपीआई दस्तावेज़ों को देखा है और कुछ भी उन उपयोगकर्ताओं को सूचित करने पर चर्चा नहीं करता है जो चैनल में नहीं हैं जिनका उल्लेख किया गया है।

यह एक असामान्य मुद्दा नहीं हो सकता... है ना?

टिप्पणियाँ:

  • हम सीधे chat.postMessage को कॉल नहीं कर रहे हैं, यह केवल लिंक_नामों पर एकमात्र दस्तावेज है जिससे मैं लिंक कर सकता हूं। हम इनकमिंग वेबहुक का उपयोग कर रहे हैं, जिसमें मापदंडों पर न्यूनतम दस्तावेज हैं - ऐसा लगता है कि यह chat.postMessage जैसा ही है।
  • हम आने वाले वेबहुक को बंद नहीं करना पसंद करेंगे, लेकिन अगर हमें करना है तो हम एपीआई के साथ एक कस्टम एकीकरण कर सकते हैं।
4
hanzworld 3 अगस्त 2020, 02:12

1 उत्तर

सबसे बढ़िया उत्तर

आपको पहले उपयोगकर्ता को चैनल पर आमंत्रित करने की आवश्यकता है, जो कि Python क्लाइंट का उपयोग कर रहा है:

client.channels_invite(
    channel=channel_id,
    user=user_id
)
1
Jake Dale 3 अगस्त 2020, 05:52