2015-06-26 11 views
36

क्या मुझे पता है कि टेलीग्राम बॉट एपीआई में chat_id क्या है? प्रलेखन कहते हैं:किसी विशिष्ट उपयोगकर्ता के लिए टेलीग्राम chat_id कैसे प्राप्त करें?

"पूर्णांक | संदेश प्राप्तकर्ता के लिए अद्वितीय पहचानकर्ता - उपयोगकर्ता या GroupChat आईडी"

मुझे लगता है कि के बारे में कोई विवरण नहीं मिल सका। मैं इसे उपयोगकर्ता या समूह के लिए कैसे प्राप्त कर सकता हूं?

+1

मैंने अभी कुछ परीक्षण किया है कि निजी चैट ** chat_id ** और ** from_user.id ** के लिए समान है। मान लीजिए कि यह एक नियम है (मुझे कुछ संदर्भ नहीं मिला है), अगर आपको उसका उपयोगकर्ता_आईडी (शायद एक समूह में अपडेट से) पता चलता है तो आप उसे निजी तौर पर चैट करते हैं। कोई इसका खंडन कर सकता है? – Thomas8

उत्तर

23

संदेश अपडेट जो आप getUpdates के माध्यम से प्राप्त करते हैं या आपके वेबहाक में विशिष्ट संदेश के लिए चैट आईडी होगी। यह message.chat.id कुंजी के तहत निहित होगा।

ऐसा लगता है कि आप चैट आईडी पुनर्प्राप्त करने में सक्षम हैं। इसलिए यदि आप कुछ लिखना चाहते हैं जहां बॉट वार्तालाप शुरू करता है तो आपको शायद किसी प्रकार की कुंजी-> मूल्य स्टोर जैसे मेमकैच या रेडिस में उपयोगकर्ता के संबंध में चैट आईडी को स्टोर करना होगा।

मेरा मानना ​​है कि उनके दस्तावेज़ यहां कुछ समान बताते हैं, https://core.telegram.org/bots#deep-linking-example। उपयोगकर्ता को पहले संदेश टाइप करने की आवश्यकता के बिना बातचीत शुरू करने के लिए आप गहरे लिंकिंग का उपयोग कर सकते हैं।

+0

हां, मैं सहमत हूं। बीओ लगातार एक अनचाहे "वार्तालाप" शुरू करने के लिए, लगातार डेटा में उपयोगकर्ता डेटा और आईडी को स्टोर करने में सक्षम है। बीटीडब्ल्यू, जहां तक ​​मुझे पता है कि chat_ID अद्वितीय हैं। –

+0

गहरे लिंकिंग के तहत इसका उल्लेख किया गया है: 'हमारे उपयोगकर्ता को बटन दिखाएं https://telegram.me/ExampleComBot?start=vCH1vGWJxfSeofSAs0K5PA' बटन कैसे दिखाएं? – kb0000

+0

दीप लिंकिंग केवल तभी जरूरी है जब आपको टेलीग्राम उपयोगकर्ता को अपनी वेबसाइट/सेवा (अपने डेटाबेस में) के उपयोगकर्ता से जोड़ना होगा। यदि आप चाहते हैं कि उपयोगकर्ता बॉट को यह बताना चाहें कि वह मौजूद है और बॉट से कुछ प्राप्त करना चाहता है, तो मानक टेलीग्राम.मे/दबॉट लिंक ठीक रहेगा। @ kb0000 यह एक लिंक है, आप यह तय कर सकते हैं कि आप इसे –

5

पर्ल API का उपयोग करके आप इसे इस तरह से प्राप्त कर सकते हैं: पहले आप टेलीग्राम से बॉट के लिए एक संदेश भेजने के लिए, तो एक getUpdates जारी करने और चैट आईडी होना चाहिए:

#!/usr/bin/perl 

use Data::Dumper; 
use WWW::Telegram::BotAPI; 

my $TOKEN = 'blablabla'; 
my $api = WWW::Telegram::BotAPI->new (
    token => $TOKEN 
) or die "I can't connect"; 

my $out = $api->api_request ('getUpdates'); 
warn Dumper($out); 
my $chat_id = $out->{result}->[0]->{message}->{chat}->{id}; 
print "chat_id=$chat_id\n"; 

आईडी में होना चाहिए chat_id लेकिन यह परिणाम पर निर्भर हो सकता है, इसलिए मैंने पूरे परिणाम का एक डंप भी जोड़ा।

आप https://github.com/Robertof/perl-www-telegram-botapi से पर्ल एपीआई इंस्टॉल कर सकते हैं। यह आपके सिस्टम पर निर्भर करता है लेकिन मैं आसानी से अपने लिनक्स सर्वर पर इस चल स्थापित:,

$ sudo cpan WWW::Telegram::BotAPI 

आशा इस मदद करता है

7

तुम सिर्फ अपने बॉट के साथ संपर्क और साझा कर सकते हैं के माध्यम से/getUpdates, आप "संपर्क मिलता है "वस्तु

22

मैं एक बॉट की गईं उपयोगकर्ता या GroupChat आईडी प्राप्त करने के लिए, सिर्फ /my_id बॉट @get_id_bot तार करने के लिए भेज देते हैं।

यह न केवल उपयोगकर्ता चैट आईडी के लिए काम करता है, बल्कि समूह चैट आईडी के लिए भी काम करता है।

समूह चैट आईडी प्राप्त करने के लिए, पहले आपको समूह में बॉट जोड़ना होगा, फिर समूह में /my_id भेजें।

Here बॉट का लिंक है।

+3

आप अपने टेलीग्राम संपर्क को @get_id_bot पर भी अपने chat_id –

+0

को प्रकट करने के लिए साझा कर सकते हैं, धन्यवाद, लेकिन फिर यह मुझे स्पैमिंग करता रहता है, मैं इसे कैसे रोकूं? –

+1

@fmalaussena: इसके लिए खेद है, मैंने इसे ठीक कर दिया है, ... धन्यवाद –

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