2016-01-28 15 views
6

मैं इस moduleनोड टेलीग्राम बॉट एपीआई, उपयोगकर्ता के बीच श्रृंखला बातचीत

का उपयोग करके तार के लिए बॉट तर्क लिखने के लिए मैं सरल सवाल और इस तरह जवाब तर्क बना सकते हैं शुरू कर दिया है बनाना प्रकार /start वह इस संदेश को प्राप्त करेगा।

मैं बॉट और उपयोगकर्ता के बीच जंजीर बातचीत की तरह कुछ बनाना चाहता हूं। जैसे उपयोगकर्ता /buy बॉट खरीदने के विकल्प दिखाएंगे, उस उपयोगकर्ता के प्रकार के बाद वह क्या खरीदना चाहता है, तो बॉट चयनित उत्पाद के प्रकार दिखाएगा और इसी तरह।

उपयोगकर्ता और बॉट के बीच जंजीर बातचीत कैसे करना संभव है? पिछले चयनित आदेशों को बॉट को कैसे याद रखें और समय होने पर उन्हें रीसेट करें? क्या ऐसा करने के लिए मुझे अपने डेटाबेस में रखने की ज़रूरत है?

उत्तर

8

आप इसे विभिन्न तरीकों से कर सकते हैं।

  1. आप "राज्य" स्टोर कर सकते हैं उपयोगकर्ता अपने आप में है
  2. आप एक से अधिक आदेशों को अपने दम पर काम करेंगे उपयोग कर सकते हैं, लेकिन आप केवल उपयोगकर्ता निर्देशित किया जा रहा
  3. आप उपयोग कर सकते हैं की भावना दे बॉट एपीआई

ठीक की ForceReply। तो 1. के लिए मैं कहूंगा कि आपके पास कुछ फायदे हैं। जब आप उचित स्थिति में नहीं होते हैं, तो आप वास्तव में उपयोगकर्ता को मार्गदर्शन कर सकते हैं और कुछ आदेशों तक पहुंच प्रतिबंधित कर सकते हैं। तो मान लें कि वह पॉपकॉर्न खरीदना चाहता है लेकिन वह शूस्टोर में है, आप सहेजे गए उपयोगकर्ता स्थिति की जांच करके कमांड को अस्वीकार कर देंगे।

2. के लिए आप हमेशा उपयोगकर्ता को /buy और /buy_popcorn और /buy_shoe का उपयोग करने की अनुमति देंगे। लेकिन आपके उत्तरों के आधार पर आप उसे केवल संभावित चयनों की एक विशिष्ट राशि देते हैं।

User: /buy 

What do you want to buy? /shoes or /food :Bot 

User: /food 

How about some Popcorn? Use /buy_popcorn :Bot 

User: /buy_shoe 

Alright. Shoes added to cart :Bot 

यह अनुमति दी जाएगी, लेकिन उपयोगकर्ता को अपने से लिखने के लिए /buy_shoe

3. संभव तरीके ForceReply उपयोग कर रहा है के लिए होगा। उपयोगकर्ता को स्वचालित रूप से answer to संदेश प्राप्त होगा। तो जब वह /buy_shoe का उपयोग करता है तो वह भेजे गए अंतिम संदेश का जवाब देगा। आपको एपीआई से संदेश में उपयोगकर्ता द्वारा दिए गए संदेश को भी प्राप्त होगा। आप जांच सकते हैं कि उपयोगकर्ता द्वारा दिए गए संदेश को आदेश के लिए उचित पूर्व शर्त/उचित संदेश है या फिर आदेश को प्रतिबंधित या अनुमति दें।

User: /buy 

What do you want to buy? /shoes or /food :Bot 

User: [Answer to: What do you...] /food 

How about some Popcorn? Use /buy_popcorn :Bot 

User: [Answer to: How about some...] /buy_shoe 

Sorry, but you're currently in the Food Store :Bot 

यह व्यक्तिगत वरीयता के लिए आता है, मुझे लगता है। लेकिन इसमें से सभी के पास पेशेवर और विपक्ष हैं और आपको यह तय करना होगा कि क्या आप पूर्व शर्त के बिना विशिष्ट आदेशों को अनुमति देना चाहते हैं।

यह सूची पूरी नहीं हो सकती है। ऐसा हो सकता है कि अन्य तरीके हैं, मैंने नहीं सोचा था। लेकिन इन 3 तरीकों से मुझे पता है।

+0

आपके उत्तरों के लिए धन्यवाद। –

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