हमारी वार्षिक योजनाओं से 20% तक बचाएं →

Tommy Actions System

Tommy Actions एक IFTTT-आधारित सिस्टम है जो निम्नलिखित object का उपयोग करता है: Tasks , Triggers , Conditions , और Activities ।
प्रत्येक मिनी प्रोग्राम कई Actions परिभाषित कर सकता है जिनका उपयोग गतिशील कोड चलाने और मनमाने कार्य करने के लिए किया जा सकता है जो इंटरफ़ेस को वास्तविक समय में अपडेट करते हैं

Tasks

Tasks निर्धारित अंतराल पर कोड के एक ब्लॉक को चलाते हैं और जब डेटा उपलब्ध होता है या कोई आंतरिक condition पूरी होती है तो एक Trigger को fire करते हैं। tasks द्वारा निष्पादित कोड पूरी तरह से कार्यान्वयन-स्वतंत्र है, लेकिन script द्वारा आउटपुट किया गया डेटा ऐसे प्रारूप में होना चाहिए जिसे Tommy समझ सके ताकि Actions system सही Trigger निष्पादित कर सके।

Triggers

Triggers को एक Task द्वारा निष्पादित किया जाता है और एक Activity द्वारा संसाधित होने के लिए Actions system में पास किया जाता है

Conditions

Conditions वैकल्पिक प्रोसेसर हैं जो यह निर्धारित करने के लिए Trigger डेटा की जाँच करते हैं कि कोई Activity चलाई जा सकती है या नहीं। Conditions, Trigger डेटा को संसाधित करने के लिए greater_than, less_than, या equal_to जैसे सशर्त ऑपरेटरों का उपयोग करते हैं।

Activities

Activities, Trigger डेटा को संभालती हैं और उसके साथ कुछ करती हैं। इसमें एक ईमेल भेजना, किसी उपयोगकर्ता को सूचित करना, या हमारे आंतरिक या बाहरी तृतीय-पक्ष APIs के साथ लगभग कुछ भी शामिल हो सकता है जिसकी आप कल्पना कर सकते हैं।

एक Action परिभाषित करना

किसी action को परिभाषित करना सीखने का सबसे आसान तरीका यह है कि जो पहले से बनाया जा चुका है उसका रिवर्स इंजीनियरिंग किया जाए। उदाहरण के लिए Poke मिनी प्रोग्राम को लें, जो एक ऐसा action परिभाषित करता है जो एक Task (poke.tasks.default), एक Trigger (poke.triggers.default) और एक Activity (_chat.activities.send_message_) चलाता है।

तो यहाँ वास्तव में क्या हो रहा है? syntax को समझने के बाद यह काफ़ी सीधा है।

timer पैरामीटर actions system को निर्दिष्ट task को हर दिन सुबह 9 बजे चलाने के लिए कहता है।

हमारे मामले में चलाया जा रहा task poke.tasks.default है, जिसका एकमात्र कार्य poke.triggers.default trigger को fire करना है। ये दोनों tasks और triggers manifest.yml फ़ाइल में परिभाषित हैं, जिसकी पूरी सामग्री SDK के भीतर देखी जा सकती है।

हमारी action परिभाषा chat.activities.send_message को उस activity के रूप में निर्दिष्ट करती है जो poke.triggers.default trigger के fire होने पर चलाई जानी है। जैसा कि आपने activity पैरामीटर पर chat. उपसर्ग से अनुमान लगाया होगा, chat.activities.send_message activity वास्तव में Tommy chat में बाहरी रूप से परिभाषित है, और इस activity का एकमात्र उद्देश्य चलने पर एक chat संदेश भेजना है। अपने स्वयं के मिनी प्रोग्राम प्रोग्रामिंग करते समय आप इस तरह किसी बाहरी addon के tasks, triggers और activities को संदर्भित करते हैं। ध्यान दें कि यदि आप बाहरी items को संदर्भित करते हैं, तो आपको उन्हें dependency सूची में जोड़ना होगा।

दूसरी बहुत महत्वपूर्ण बात जिसका उल्लेख करना है वह है mappings पैरामीटर। यह वर्णन करता है कि activity, trigger डेटा का उपभोग कैसे करेगी। हमारे मामले में trigger बस एक सरल message पैरामीटर लेता है, और हमारा trigger भी एक message param आउटपुट करता है, इसलिए हम बस trigger के message param को activity के साथ mapping कर रहे हैं।