من چند روز پیش متاسفانه یکی از دوستای نزدیکم رو آزرده خاطر کردم و بعدا از این کارم خیلی پشیمون شدم. در صدد جبرانش براومدم و به ذهنم رسید که یه برنامه ای بنویسم که به این دوست عزیزم سر هر ساعت یه سری ایموجی قشنگ بفرسته تا ایشون متوجه بشن که برای ما عزیز هستن و ما اشتباه کردیم.
از اونجایی که قبلا ربات زیاد ساخته بودم میدونستم باید چیکار کنم ولی خب توضیح میدم.
کتابخونه ی pyrogram یه کتابخونه از پایتونه که برای ساختن رباتهای کلاینت به کار میره. رباتهای کلاینت با رباتهای عادی تفاوتهایی دارن و در واقع مثل یه برنامه میمونن که دارن روی یک اکانت واقعی اجرا میشن. ینی اصلا نمیشه به راحتی تشخیص داد که یه ربات داره این کارو میکنه یا خود شما هستید و خب این به درد کار ما میخورد. ( و جا داره اشاره ای کنم که همه ی این رباتای بیوگرافیمو بخون یا رباتای تبچی دیگه رباتهای کلاینت هستند...)
همینطور با یه سرچ ساده به کتابخونه ی schedule رسیدم که برای انجام کارهای تکراری در زمان های مشخص استفاده میشه. مثلا همین کاری که ما میخوایم بکنیم. ینی مثلا سر هر ساعت یه تابع باید اجرا بشه که یه پیام رندوم رو ارسال کنه.
کدی که زدم رو توی گیت هاب گذاشتم که لینکش ته این پست گذاشته شده. فقط میخوام راجب یکی از خطهای کد یه توضیح کوچیک بدم اونم این خط هست:
love_text=random.choice(loves)*random.randint(1,5)*random.randint(0,2)
این خط برای دادن حالت رندوم به برنامه هست که خیلی هم کارمون ضایع نباشه ? چون همین کار ممکنه از نظر بعضی ها بی احترامی حساب بشه پس باید دقت کرد!
قسمت اول ینی
random.choice(loves)
کاری که میکنه همینه که از توی لیست ایموجی هامون که loves هست یه ایموجی رو انتخاب میکنه. بعد میخوایم یه چنتا ازینا رو بفرستیم برای همین اینو در یه عدد رندوم ضرب میکنیم(بین ۱ تا ۵):
*random.randint(1,5)
حالا اگه یکم فک کنیم متوجه میشیم که شاید یه ذره لوس باشه که هر ساعت این کارو انجام بده. و خیلی معلوم میشه که رباته! برای همین باید یه کاری کنیم که بعضی وقتا هم نفرسته (پررو هم میشن اگه زیاد بهشون بگید!):
*random.randint(0,2)
کاری که اینجا کردیم این بود که بهش یه احتمال یک سوم دادیم. ینی هر دفعه به احتمال یک سوم ممکنه این کارو انجام نده که خب این باعث میشه که غیر قابل پیش بینی تر و هوشمند تر به نظر برسه...
در پایان باید بگم امیدوارم که از این پست لذت برده باشین و بتونین ازش استفاده کنین و اگه مشکلی بود من در خدمتتون هستم.
ولی قبلش بگم که مسئولیتی در قبال سوء تفاهم هایی که ممکنه پیش بیاد برعهده نمیگیرم!(xدی) به نمونه واقعی زیر توجه کنید:
سورسش رو توی گیت هاب گذاشتم که اگه دوست داشتید بتونید ستاره دارش کنید ;)