ازگر کا استعمال کرتے ہوئے ٹویٹر ، انسٹاگرام ، اور ریڈڈیٹ بوٹس کیسے بنائیں۔

ازگر کا استعمال کرتے ہوئے ٹویٹر ، انسٹاگرام ، اور ریڈڈیٹ بوٹس کیسے بنائیں۔

یہ 2019 ہے۔ آپ نے بوٹس کے بارے میں سنا ہے۔ چیٹ بوٹس ، ای میل بوٹس ، ویب سکریپنگ بوٹس ، اور ، سوشل میڈیا بوٹس ہیں۔ کیا آپ نے ابھی تک ایک بوٹ بنایا ہے؟ یہ حیرت انگیز طور پر آسان ہے۔ شاید کیوں وہ تمام جگہ پر ہیں۔ ہمارے بوٹ کے حاکموں کو ان کے درجے میں شامل کرکے گلے لگائیں۔





اس آرٹیکل میں ، میں آپ کو دکھاتا ہوں کہ آپ ازخود اپنے ٹویٹر ، ریڈڈیٹ ، اور انسٹاگرام اکاؤنٹس کے ساتھ بات چیت کرنے کے لیے ازگر کا فائدہ کیسے اٹھا سکتے ہیں۔





ازگر کے ساتھ کام کرنا۔

یہ واک تھرو ازگر کو اپنی پسند کی زبان کے طور پر استعمال کرتا ہے۔ ازگر کے استعمال میں آسانی کے فوائد دیگر زبانوں کے مقابلے میں کسی بھی رفتار کی کمی سے کہیں زیادہ ہیں۔ آپ تقریبا any کسی بھی OS کے لیے ازگر ڈاؤن لوڈ کر سکتے ہیں۔ استعمال کریں۔ آپ کی پسند کا ایڈیٹر .





ازگر کی تقسیم اس افادیت سے وابستہ ہے جسے کہتے ہیں۔

میک پر پیغامات کو کیسے حذف کریں۔
pip

. لکھنے کے وقت ، 168،000 سے زیادہ لائبریریاں ڈاؤن لوڈ کے لیے دستیاب ہیں۔



pip

. آج آپ جو بوٹس بنائیں گے ان کے لیے صرف تین کی ضرورت ہے۔

کمانڈ لائن سے ، آپ ان تین لائنوں کا استعمال کرتے ہوئے لائبریریاں انسٹال کر سکتے ہیں۔





pip install --upgrade InstagramAPI
pip install --upgrade tweepy pip install --upgrade praw

اب آپ ان لائبریریوں کو درآمد کر سکیں گے جہاں ضرورت ہو۔

درخواست کی چابیاں اور راز حاصل کرنا۔

ایک دانشور فلسفی نے ایک بار کہا تھا 'راز ، راز کوئی مزہ نہیں ہے۔ راز ، راز کسی کو تکلیف دیتے ہیں۔ ' احترام کے ساتھ ، بوٹس کو راز کی ضرورت ہے۔ اپنے بوٹس کو ترتیب دینے کا اگلا مرحلہ یہ ہے کہ انہیں ہر سائٹ کے API تک رسائی کی اجازت دی جائے۔ ایسا کرنے کے لیے ، آپ کو ایک درخواست کلید یا خفیہ کی ضرورت ہوگی۔





جب آپ چابیاں ، راز ، ٹوکن اور بہت کچھ جمع کرتے ہیں (ایک تفریحی کھیل کی طرح لگتا ہے!) ، ان سب کو ایک ہی فائل میں ڈالیں جسے 'credentials.py' کہتے ہیں۔ یہ فائل کچھ اس طرح نظر آئے گی:

# keys
twitter_consumer_key = ''
twitter_consumer_secret = ''
twitter_access_token = ''
twitter_access_token_secret = ''
reddit_client_id = ''
reddit_client_secret = ''
reddit_user_agent = ''
instagram_client_id = ''
instagram_client_secret = ''

بہت اہم رازداری کی تجویز: اس فائل کو کسی بھی سورس کنٹرول (جیسے Git) کا ارتکاب نہ کریں۔ آپ نہیں چاہتے کہ یہ چابیاں اور راز کسی اور کے پاس ہوں۔ انہیں ایک وجہ سے راز کہا جاتا ہے۔

ٹویٹر تک رسائی کی ترتیب

Node.js کے ساتھ ٹویٹر بوٹ قائم کرنے کے لیے ہماری گائیڈ چیک کریں آپ کو دکھائے گا کہ اپنی ٹویٹر ایپ کیسے بنائی جائے۔ نوٹ کریں کہ ٹویٹر آپ کے اکاؤنٹ کی تصدیق کرنے میں کچھ وقت لے گا اور اس بات کو یقینی بنائے گا کہ آپ سپیم اکاؤنٹ نہیں بنا رہے ہیں۔

ان مراحل پر عمل کرنے کے بعد ، کنزیومر کلید ، کنزیومر سیکریٹ ، ایکسیس ٹوکن ، اور ایکسیس ٹوکن سیکریٹ کو اپنی کریڈینشلز پی پی فائل میں کاپی کریں۔

ریڈڈیٹ رسائی کو ترتیب دینا۔

اپنا Reddit کلائنٹ ID اور خفیہ حاصل کرنا ٹوئٹر کی طرح ہے۔ آپ کو ایک ایپ کو بطور ریڈڈٹ صارف ایجنٹ رجسٹر کرنے کی ضرورت ہوگی۔ ایسا کرنے کے بعد ، آپ کو اپنے تجربے کی فہرست میں بالکل 'Reddit یوزر ایجنٹ' ڈالنا چاہیے۔

سائن ان اپنی پسند کے Reddit اکاؤنٹ میں۔ پر جائیں۔ ایپس کی ترجیحات کا صفحہ۔ اور دوسری ایپ بنانے پر کلک کریں۔ . اپنے صارف ایجنٹ کو کسی مفید چیز کا نام دیں۔ اسکرپٹ منتخب کریں۔ آپ کی ایپ کے مقصد کے لیے۔ یو آر ایل کے بارے میں خالی چھوڑا جا سکتا ہے۔ ری ڈائریکٹ باکس کے لیے کوئی بھی پتہ پُر کریں۔

آپ کے بعد تخلیق ایپ دبائیں۔ ، آپ کی ایپس کی فہرست کے ساتھ درج ذیل سکرین آپ کے سامنے پیش کی جائے گی۔ آپ کی درخواست کے نام کے ہندسے کلائنٹ آئی ڈی کی نمائندگی کرتے ہیں اور کلائنٹ کا راز اس کے نیچے واقع ہے۔ ان اقدار کو اپنی credentials.py فائل میں کاپی کریں۔

انسٹاگرام رسائی کو ترتیب دینا۔

انسٹاگرام تک رسائی ٹویٹر اور ریڈڈیٹ سے مختلف ہے۔ کسی ایپ کو رجسٹر کرنے کے بجائے ، آپ اپنا صارف نام اور پاس ورڈ استعمال کرتے ہیں۔ میرا مشورہ ہے کہ ایک علیحدہ پبلک اکاؤنٹ بنائیں اور ان تفصیلات کو اپنے بوٹ کے لیے استعمال کریں۔

پرا کے ساتھ ریڈڈیٹ تک رسائی۔

جھینگے کا استعمال دو قدمی عمل ہے۔ سب سے پہلے ، رسائی کو ترتیب دینا پراڈ کے ریڈڈٹ طریقہ کار کے لیے ایک فنکشن کال ہے۔ پھر ، ابتدائی چیز کا استعمال کرتے ہوئے ، نئے () طریقہ کار کا استعمال کرتے ہوئے سبریڈیٹ کی تلاش کی جاتی ہے۔

import praw
from credentials import *
my_reddit = praw.Reddit(client_id=reddit_client_id, client_secret=reddit_client_secret, user_agent=reddit_user_agent)
sub_name = 'technology'
max_posts = 10
for submission in my_reddit.subreddit(sub_name).new(limit=max_posts):
print(submission.title)

تبدیل کریں

sub_name

مختلف subreddits سے پوسٹس حاصل کرنے کے لیے متغیر۔ کے بجائے۔

new()

، دوسرے طریقے جیسے۔

hot()

عہدے حاصل کرنے کے لیے دستیاب ہیں۔

انسٹاگرام اے پی آئی کے ذریعے انسٹاگرام ہیش ٹیگز تلاش کرنا۔

انسٹاگرام API کا استعمال کرنے میں پہلا قدم کلائنٹ ID اور خفیہ کے ساتھ ایک شے ترتیب دینا ہے۔ اس کے بعد براہ راست ، سیٹ اپ مکمل کرنے کے لیے لاگ ان () طریقہ پر کال کریں۔

from InstagramAPI import InstagramAPI
from credentials import instagram_client_id, instagram_client_secret
my_insta_api = InstagramAPI(instagram_client_id,instagram_client_secret)
my_insta_api.login()

API کا استعمال اس کے Reddit ہم منصب سے تھوڑا زیادہ پیچیدہ ہے۔ اس مثال میں ، اسکرپٹ getHashtagFeed استعمال کرتا ہے تاکہ انسٹاگرام سے ایک بہت بڑا JSON رسپیکٹ آبجیکٹ حاصل کیا جا سکے۔

جواب کے ذریعے تلاش کرتے ہوئے ، اسکرپٹ سرخی کے متن کی تلاش کرتی ہے اور پھر اسے دیکھنے کے لیے اسکرین پر پرنٹ کرتی ہے۔

get_hashtag = my_insta_api.getHashtagFeed(hashtag)
if get_hashtag != False:
for item in my_insta_api.LastJson['items']:
if 'caption' in item.keys() and 'text' in item['caption'].keys():
caption = item['caption']['text']
print(caption)

سوشل میڈیا پر تصاویر شامل کریں۔

آگے بڑھتے ہوئے ، آپ چاہتے ہیں کہ آپ کا اسکرپٹ اس ہیش ٹیگ فیڈ میں تصاویر حاصل کرے۔ ایسا کرنے کے لیے ، JSON جواب کے ذریعے لوپ کریں اور ہر پوسٹ سے وابستہ میڈیا تلاش کریں۔ یہاں JSON جواب سے معلومات نکالنے کے لیے ایک نفاذ ہے:

def get_images_from_hashtag(hashtag, num_images):
images = []
get_hashtag = my_insta_api.getHashtagFeed(hashtag)
if get_hashtag == False:
return images
for item in my_insta_api.LastJson['items']:
if item['media_type'] == 1 and 'image_versions2' in item.keys():
candidate = get_largest_image(item['image_versions2']['candidates'])
# get image
filename = self.save_image_from_candidate(candidate['url'])
if filename != '':
# get status, save as tuple
caption = get_caption(item)
images.append((filename, caption))
if len(images) >= num_images:
break
return images

اس فنکشن میں دو مددگار افعال استعمال ہوتے ہیں۔ انسٹاگرام JSON جواب میں تصویر 'امیدواروں' کی ایک فہرست بھیجتا ہے۔ ان تصاویر میں سے سب سے بڑی تصویر کا انتخاب کریں تاکہ میڈیا اپنی اعلی ریزولوشن میں ظاہر ہو۔

def get_largest_image(candidates):
candidate = {}
pixels = 0
for cand in candidates:
# pick the highest resolution one
res = cand['height']*cand['width']
if res > pixels:
pixels = res
candidate = cand
return candidate

دوم ، ایک بار جب تصویر کا لنک مل جائے تو آپ مواد کو فائل میں لکھ کر مقامی طور پر محفوظ کر سکتے ہیں۔ کا استعمال کرتے ہوئے

requests

لائبریری اسے سیدھا کرتی ہے۔

def save_image_from_candidate(url):
filename = ''
response = requests.get(url)
# check the response status code, 200 means good
if response.status_code == 200:
filename = url.split('/')[-1].split('?')[0]
with open(filename, 'wb') as f:
f.write(response.content)
return filename

ٹوپی کے ساتھ میڈیا کو ٹویٹ کرنا۔

سب سے پہلے ، آپ کو اپنے راز اور چابیاں استعمال کرتے ہوئے ٹویٹر تک رسائی قائم کرنے کی ضرورت ہوگی۔

import tweepy
from credentials import *
tw_auth = tweepy.OAuthHandler(twitter_consumer_key, twitter_consumer_secret)
tw_auth.set_access_token(twitter_access_token, twitter_access_token_secret)
tw_api = tweepy.API(tw_auth)

ایک عام ریٹویٹ بوٹ بنانا صرف چند لائنوں میں کیا جاتا ہے۔

for tweet in tweepy.Cursor(tw_api.search,q='MakeUseOf').items(10):
try:
tweet.favorite()
tweet.retweet()
time.sleep(2)
except tweepy.TweepError as e:
print(e.reason)
except StopIteration:
break

اس لائبریری کے ساتھ بہت سی دوسری چیزیں کی جا سکتی ہیں۔ اس واک تھرو کو ختم کرنے کے لیے ، آپ استعمال کر سکتے ہیں

get_images_from_hashtag

تصاویر اور سرخیوں کو ٹویٹ کرنے کے لیے پہلے بنائے گئے انسٹاگرام بوٹ کا فنکشن۔

مزید برآں ، آپ کا ٹویٹر بوٹ Reddit کو نئی پوسٹس کے لیے تلاش کر سکتا ہے اور ان کو ٹویٹ بھی کر سکتا ہے۔ ان دونوں فعالیتوں کو ایک ساتھ رکھنے کے لیے اس طرح لگتا ہے:

# use r/ for reddit search
# and # for instagram search
hashtag = 'technology'
num_posts = 5
# tweet reddit info
reddit_posts = my_reddit.subreddit(hashtag).new(limit=num_posts)
for submission in reddit_posts:
title = submission.title
url = 'www.reddit.com{}'.format(submission.permalink)
tweet_str = f'Reddit r/{sub} update:
{title} #{sub} {url}'
tweet_str = trim_to_280(tweet_str)
tw_api.update(tweet_str)
# tweet instagram media
media_info = get_images_from_hashtag(hashtag, num_posts)
for (filename, message) in media_info:
try:
tweet_str = trim_to_280(message)
tw_api.update_with_media(filename, status=tweet_str)
except tweepy.TweepError as e:
print(e.reason)
except StopIteration:
break

آپ کا ازگر سے چلنے والا سوشل میڈیا بوٹ تیار ہے!

تو ، اب آپ کو کوڈ کا ایک گروپ مل گیا ہے جو میڈیا کو ایک سائٹ سے نکالتا ہے اور دوسری سائٹ پر پوسٹ کرتا ہے۔ آپ مکس اور میچ بھی کر سکتے ہیں۔ ٹویٹس کھینچیں اور Reddit پر پوسٹ کریں۔ سبریڈٹس پر پوسٹ کرنے کے لیے انسٹاگرام کی تصاویر جمع کریں۔ ایک بوٹ بنائیں اور حقیقی انٹرنیٹ کا حصہ بنیں۔

آخر میں ، اس عمل کو مکمل طور پر خودکار کرنے کے لیے ، آپ چاہیں گے کہ آپ کے بوٹس سرور پر لوپ میں چلیں۔ یہ ٹائم شیڈولر کے ساتھ آپ کے اپنے کمپیوٹر پر ہوسکتا ہے۔ یا ، اس پرانے راسبیری پائی کو خاک میں ملا دیں جو آپ کی الماری میں ہے ، اور پی آئی کے لیے یہ میٹھے ٹویٹر بوٹ پروجیکٹس دیکھیں۔

بانٹیں بانٹیں ٹویٹ ای میل۔ یہ ہے کہ ایف بی آئی نے Hive Ransomware کے لیے انتباہ کیوں جاری کیا۔

ایف بی آئی نے ransomware کے خاص طور پر گندے تناؤ کے بارے میں انتباہ جاری کیا۔ یہاں آپ کو Hive ransomware سے خاص طور پر ہوشیار رہنے کی ضرورت ہے۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • ازگر۔
  • سوشل میڈیا بوٹس۔
  • کوڈنگ ٹیوٹوریل
مصنف کے بارے میں ٹام جانسن۔(3 مضامین شائع ہوئے)

ٹام فلوریڈا کا ایک سافٹ ویئر انجینئر ہے (چیخ چیخ کر فلوریڈا مین) لکھنے کے شوق کے ساتھ ، کالج فٹ بال (گو گیٹرز!) ، کراس فٹ اور آکسفورڈ کوما۔

ٹام جانسن سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔