2016-10-14 7 views
9

मैं टेलीग्राम बॉट बना रहा हूं और संदेश भेजने के लिए sendMessage विधि का उपयोग कर रहा हूं। @username का उपयोग कर उपयोगकर्ता का उल्लेख करना आसान है, लेकिन उपयोगकर्ता का उल्लेख कैसे करें जब उनके पास उपयोगकर्ता नाम नहीं है?टेलीग्राम बॉट: उपयोगकर्ता को इसकी आईडी (इसका उपयोगकर्ता नाम नहीं) का उल्लेख कैसे करें

टेलीग्राम ऐप/वेब का उपयोग करते हुए, हम उपयोगकर्ता को @integer_id (name) द्वारा वर्णित कर सकते हैं, और टेलीग्राम ऐप/वेब इसे क्लिक करने योग्य टेक्स्ट में परिवर्तित कर देगा। @ टाइप करने के बाद, उपयोगकर्ता का चयन करते समय integer_id स्वचालित रूप से जेनरेट हो जाएगा।

एक और पृष्ठभूमि

: मैं forceReply उपयोग करने के लिए कोशिश कर रहा हूँ और मैं, उपयोगकर्ता को लक्षित करते हैं वे उपयोगकर्ता नाम है, मैं आसानी से, उन्हें लक्षित कर सकते हैं उन्हें sendMessage विधि पर पाठ पर उल्लेख करते हुए करना चाहते हैं।

जो बॉट मैं बना रहा हूं वह बॉट की तरह "प्रश्नोत्तरी" है। जहां प्रत्येक खिलाड़ी को बारी लेने की आवश्यकता होती है, और बॉट उन्हें प्रश्न भेज रहा है, बॉट से प्रत्येक संदेश अलग-अलग खिलाड़ी को लक्षित करेगा।

नोट: मैं Privacy Mode को अक्षम नहीं कर रहा हूं, मैं नहीं चाहता कि टेलीग्राम मेरे सर्वर पर बमबारी कर रहा हो, जिसके लिए मुझे आवश्यकता नहीं है। यह मेरे सस्ते बुरा सर्वर overloading था। इसलिए, इसे एक विकल्प अक्षम नहीं कर रहा है।

मैं अन्य समाधान के लिए खुला हूं, जहां बॉट चयनित खिलाड़ी को सुन सकता है।

धन्यवाद।

अद्यतन 21/10: मैंने टेलीग्राम के लिए BotSupport से बात की है, उन्होंने कहा, अब के लिए उपयोगकर्ता उपयोगकर्ता नाम के बिना उपयोगकर्ता का उल्लेख नहीं कर सकते हैं।

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

उत्तर

0

बॉट उपयोगकर्ता को उनके आईडी द्वारा टैग करने में सक्षम हैं, वे केवल आधिकारिक HTTP Bot API का उपयोग करके ऐसा नहीं कर सकते हैं।

अद्यतन: अब और आवश्यकता नहीं है, क्योंकि टेलीग्राम ने इसके लिए मूल समर्थन जोड़ा है।

यदि आप अपने बॉट MadelineProto (PHP) के साथ खाते में प्रवेश आप इसे से किसी व्यक्ति का उल्लेख करने के लिए इस 'क्लिक' का उपयोग कर सकते parse_mode

 

[Daniil Gentili](mention:@danogentili) 

+1

ओपी पता है कि कैसे अपने उपयोगकर्ता आईडी के आधार पर उन का उल्लेख करना चाहता है और यह एक 32 बिट पूर्णांक है, उपयोगकर्ता नाम है कि आप का सुझाव दिया – Reith

+0

@Reith Have द्वारा नहीं: मार्कअप के साथ उसके संख्यात्मक आईडी द्वारा MadelineProto दस्तावेज़ीकरण पर एक नज़र। आप एक उपयोगकर्ता के साथ @username को प्रतिस्थापित कर सकते हैं। जैसे '[दानील जेंटिली] (उल्लेख: 123456789)' –

4

Markdown को official documentation के अनुसार सेट के साथ आईडी है यह उपयोगकर्ता का उल्लेख किया जा सकता है

[inline mention of a user](tg://user?id=123456789)

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