नमस्ते, मैं उपयोगकर्ता सत्र/मेटाडेटा को कम से कम विलंबता के साथ संग्रहीत करने का एक तरीका ढूंढ रहा हूं और इससे मुझे एक हाथ और पैर नहीं लगेगा।

संक्षिप्त समस्या विवरण।

मेरे पास एक बॉट है जो उपयोगकर्ताओं को Google डिस्क से फ़ाइलें डाउनलोड करने में सहायता करता है।

यह एडब्ल्यूएस लैम्ब्डा फ़ंक्शन के वेबहुक का उपयोग करता है।

उपयोगकर्ताओं को क्लिक करने योग्य फ़ाइल नाम प्रदान किए जाते हैं, उदा।

/फ़ाइल.पीडीएफ

एक बार जब वे इस पर क्लिक करते हैं, तो इसे डाउनलोड करने और उपयोगकर्ता को भेजने की आवश्यकता होती है।

समस्या यह है कि मुझे यह जानने का एक तरीका चाहिए कि उपयोगकर्ता ने डेटाबेस का उपयोग किए बिना या नाम से मेरी सभी फाइलों के माध्यम से किस फाइल को चुना है।

उदा. क्या क्लिक करने योग्य संदेश में मेटाडेटा जोड़ने का कोई तरीका है? ऐसा है कि मैं उस मेटाडेटा को क्लिक करने योग्य में जोड़ सकता हूं और यदि कोई उपयोगकर्ता /File.pdf पर क्लिक करता है, तो मैं मेटाडेटा निकालने में सक्षम हूं।

1
Ivhani Maselesele 18 सितंबर 2020, 00:09

1 उत्तर

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

आप इस उदाहरण में जैसे InlineKeyboardButton भेज सकते हैं और callback_data जो कुछ भी आपको चाहिए उसे सेट करें। जब उपयोगकर्ता उस बटन पर क्लिक करता है - आपके बॉट को वह डेटा अपडेट में प्राप्त होगा:

button_list = [
    InlineKeyboardButton("File1.pdf", callback_data="https://drive.google.com/invoice.pdf"),
    InlineKeyboardButton("File2.pdf", callback_data="https://drive.google.com/presentation.pdf"),
    InlineKeyboardButton("File3.pdf", callback_data="https://drive.google.com/report.pdf")
]
reply_markup = InlineKeyboardMarkup(button_list)
bot.send_message(chat_id=chat_id, "Files list:", reply_markup=reply_markup)


# in update handler:
def some_update_handler(update, context):
    url = update.callback_query.data
    # ...
    # further processing

यह किसी भी अन्य मामले में भी उपयोगी हो सकता है जब टेलीग्राम बॉट उपयोगकर्ता को कुछ अच्छा संदेश देखना चाहिए, लेकिन टेलीग्राम बॉट को भेजे गए कुछ आंतरिक मूल्य को नहीं देखना चाहिए।

3
wowkin2 24 सितंबर 2020, 11:29