क्या आप सीखना चाहते हैं कि रूबी का उपयोग करके ट्विटर एप्लिकेशन कैसे लिखें? तो आप सही जगह पर हैं!
इस पोस्ट में मैं आपको चरण-दर-चरण सिखाऊंगा कि ऐसा प्रोग्राम कैसे बनाया जाए जो ट्विटर API के साथ इंटरैक्ट कर सके और विशिष्ट कीवर्ड खोजने या स्वचालित उत्तर भेजने जैसे काम कर सके।
शुरू करते हैं!
सेटअप
सबसे पहले, आपको twitter जेम इंस्टॉल करना होगा। यह चरण बहुत सरल है:
gem install twitter
उसके बाद आपको https://apps.twitter.com/ पर जाकर एक नया एप्लिकेशन सेटअप करना होगा। ऐसा करने के लिए आपको दाईं ओर 'Create New App' बटन पर क्लिक करना होगा।

फिर फॉर्म भरें, अभी आप जो डेटा दर्ज करते हैं वह वास्तव में मायने नहीं रखता। यहां मैंने इस उदाहरण के लिए क्या किया:

वेबसाइट फ़ील्ड के बारे में चिंता न करें, आप प्लेसहोल्डर के रूप में https://example.com का उपयोग कर सकते हैं।
फिर 'Yes, I agree' को चेक करके ट्विटर की शर्तों को स्वीकार करें और उसके बाद 'Create your Twitter application' पर क्लिक करें।
यदि सब कुछ ठीक रहा तो आपको निम्न स्क्रीन दिखाई देनी चाहिए:

अब आपको 'Keys and Access Tokens' पर क्लिक करना होगा। इस पेज में API कुंजियाँ होंगी जिनकी आपको ट्विटर API से जुड़ने के लिए आवश्यकता है, जो इस सेटअप प्रक्रिया का उद्देश्य था।
अगला चरण इस टेम्पलेट को अपने विवरण से भरना है:
require 'twitter' client = Twitter::REST::Client.new do |config| config.consumer_key = "YOUR_CONSUMER_KEY" config.consumer_secret = "YOUR_CONSUMER_SECRET" config.access_token = "YOUR_ACCESS_TOKEN" config.access_token_secret = "YOUR_ACCESS_SECRET" end
अंतिम दो मान प्राप्त करने के लिए आपको 'Generate access tokens' बटन पर क्लिक करना होगा।
एक बार जब आप इस सेटअप प्रक्रिया को पूरा कर लेते हैं तो आप API के साथ काम करना शुरू करने के लिए तैयार हैं।
ट्वीट्स के साथ काम करना
अब आपके पास client ऑब्जेक्ट के माध्यम से संपूर्ण ट्विटर API तक पहुंच है। एक उदाहरण के रूप में, मैं निम्नलिखित करना चाहूंगा: @rubyinside अकाउंट से अंतिम 20 ट्वीट्स डाउनलोड करें और बाद में विश्लेषण के लिए उन्हें YAML फ़ाइल में सहेजें।
किसी भी ट्विटर यूजर की टाइमलाइन प्राप्त करने के लिए आप user_timeline मेथड का उपयोग कर सकते हैं।
उदाहरण:
tweets = client.user_timeline('rubyinside', count: 20)
यह मेथड Tweet ऑब्जेक्ट्स की एक सरणी लौटाएगा जिनके साथ आप इंटरैक्ट कर सकते हैं, लेकिन आप ऐसा कैसे कर सकते हैं?
आप डॉक्यूमेंटेशन देख सकते हैं, लेकिन मुझे जो अधिक मजेदार लगता है वह है बस pry का उपयोग करना। यदि आप अपना कोड pry के अंदर चलाते हैं तो आप ls Twitter::Tweet कमांड का उपयोग कर पाएंगे। यह कमांड किसी विशिष्ट ऑब्जेक्ट या क्लास के लिए सभी मेथड्स को सूचीबद्ध करेगा।
इस मामले में:

तो अब आप देख सकते हैं कि एक full_text मेथड है जिसका हम उपयोग कर सकते हैं, आइए ऐसा करें ताकि हम ट्वीट की सामग्री प्रिंट कर सकें।
tweets.each { |tweet| puts tweet.full_text }
आप मनोरंजन के लिए कुछ अन्य मेथड्स भी आज़मा सकते हैं 🙂
अपने ट्वीट्स सहेजना
तो आप इन सभी ट्वीट्स के साथ क्या करते हैं? उदाहरण के लिए, आप उन्हें बाद के विश्लेषण के लिए एक फ़ाइल में लिख सकते हैं। ऐसा करने का एक आसान तरीका YAML प्रारूप का उपयोग करना है।
require 'yaml'
# ... बाकी कोड यहाँ ...
File.write('tweets.yml', YAML.dump(tweets))
फिर आप इन ट्वीट्स को YAML.load_file मेथड का उपयोग करके लोड कर सकते हैं।
require 'yaml'
require 'twitter'
tweets = YAML.load_file('tweets.yml')
ट्वीट्स अपने मूल रूप में उपयोग के लिए तैयार होंगे, ठीक वैसे ही जैसे आपने उन्हें अभी-अभी फिर से अनुरोध किया हो। क्या यह कूल नहीं है? 🙂
ट्वीट्स भेजना
ऐसी कई अन्य चीजें हैं जो आप कर सकते हैं। उदाहरण के लिए, किसी विशिष्ट कीवर्ड का उल्लेख करने वाले यूजर्स को संदेश भेजने के बारे में क्या ख्याल है?
एक नया ट्वीट भेजने के लिए आप update मेथड का उपयोग कर सकते हैं।
client.update("I'm having some fun with the Twitter gem!")
तो आप ऐसा कुछ कर सकते हैं:
client.search('#ruby').take(3).each do |tweet|
client.update("@#{tweet.user} Hey I love Ruby too, what are your favorite blogs? :)")
end
एक अन्य विकल्प स्ट्रीमिंग API का उपयोग करना है, जो आपको घटनाओं को 'लाइव' रूप में देता है जैसे वे होती हैं। आप इसके बारे में डॉक्यूमेंटेशन में अधिक जानकारी पा सकते हैं।
निष्कर्ष
प्रारंभिक सेटअप के बाद ट्विटर जेम ट्विटर API के साथ काम करना वास्तव में आसान बना देता है। अब आपकी बारी है इसे आज़माने की और कुछ मजेदार बनाएं!
इस पोस्ट को शेयर करना न भूलें ताकि मैं इस तरह के और लेख लिखता रहूं 🙂