چند ماه پیش بود که بعد از مدتها دوباره برگشتم به پایتون تا یه برنامه بنویسم. ولی خب، همونطور که انتظار میرفت، دیدم هیچی یادم نیست! 🤦♂️ با خودم گفتم: "بیخیال، این کارِ من نیست" و کلاً کنار کشیدم...
تا اینکه چند هفته بعد، یکی از دوستام یه پیام برام فرستاد! 😏
اون موقع داشتم به این فکر میکردم که چون قبلاً یه ربات ساختم، پس دوباره میتونم انجامش بدم. ولی نمیدونستم که دوستم یه "یوزربات" میخواد، نه یه "ربات"! 😐
هیچ ایدهای نداشتم! اولین فکری که به ذهنم رسید، استفاده از Pyautogui بود، ولی کلی مشکل داشت. بعدش به Selenium فکر کردم، اما در نهایت دوستم یه کتابخونهی مخصوص این کار معرفی کرد: Telethon! 🤩
از اونجایی که به نظرم کار خفنی میاومد و کلی چیز میشد ازش یاد گرفت، قبول کردم!
فرداش دست به کار شدم. رفتم توی سایت MyTelegram، اطلاعات رو کپی کردم، وارد Colab شدم و با کمک دوستای قدیمیمون (هوش مصنوعی + سرچهای گوگل 😆) تونستم کد اولیه رو بنویسم.
نتیجه محشر بود! 🤯 کد انقدر خفن شد که رسماً مغزمون سوت کشید! 🚀🔥
برنامه چی بود؟ ارسال اولین کامنت! 🎯
شاید فکر کنید واسه قدرتنمایی این کارو کردیم، ولی نه! یه دلیل تبلیغاتی پشتش بود.
کد اولیه خیلی ساده بود؛ باید گروهها و کانالها رو دستی بهش معرفی میکردیم و فقط یه پیام میفرستاد. کمکم با همفکری دوستم بهش قابلیت اسپویل اضافه کردیم، بعدش لیست متنهای ارسالی رو بیشتر کردیم و یه تایمر هم بهش زدیم! ⏳
ولی یه مشکل بزرگ داشتیم! از اونجایی که رانتایمهای Colab فقط یه ساعته هستن، برای هر بار اجرا و مقداردهی مجدد، باید دستی این کارو انجام میدادیم، که واقعاً اعصابخردکن بود! 😵💫 دوستم هم اصلاً حال نمیکرد با این وضعیت!
تا اینکه یه ایده به ذهنم رسید! وصل کردنش به یه ربات تلگرام! 🤖
البته بعداً از این تصمیم پشیمون شدم، چون میشد راهحلهای بهتری پیدا کرد، ولی خب اون موقع این ایده برام هیجانانگیز بود! 😅
خلاصه ربات رو نوشتیم، قابلیت تغییر متن و لیست کانالها رو بهش اضافه کردیم، و انصافاً خیلی خفن شد! 🤩 برای ذخیره اطلاعات هم به Google Drive وصلش کردیم.
چندین بار نزدیک بود با مشت بکوبم روی کیبورد و برم بخوابم! 😤💤 ولی درست همون لحظه، یه ایدهی ناب به ذهنم میرسید و باگ رو میترکوندم! 💡🔥
از اینجا به بعد، دیگه دوستم زیاد با نسخههای جدید حال نمیکرد و ترجیح میداد همون ورژنهای قدیمی رو استفاده کنه! ولی خب، من همچنان فیچرهای جدید اضافه میکردم و چیز باحالی ازش دراومد.
اما یه مشکل مونده بود... سرور! 😑
اگه میخواستیم سرور داخلی بخریم، باید IP رو تغییر میدادیم تا بتونه با تلگرام ارتباط بگیره. اگه سرور خارجی میخواستیم، بحث پرداخت پیش میاومد، که خب دردسرهای خودش رو داشت!
دقیقاً توی همین گیر و دار، ابرآروان سرورهای خارجیشو معرفی کرد... ولی فعلاً کاری بهش نداریم!
از اونجایی که قبلاً یه WebApp روی Replit راه انداخته بودم، فکر کردم شاید بشه ازش بهعنوان سرور هم استفاده کرد. کد رو با کلی زحمت (و البته کمک دوستای همیشگی، یعنی گوگل و هوش مصنوعی 😜) برای Replit بهینه کردیم. ولی یه مشکل عجیب پیش اومد...
حتی وقتی یه اپ جنگو کنارش اجرا میکردیم و هر ۵ دقیقه Ping میفرستادیم، باز هم برنامه بعد از ۱ دقیقه آف میشد! 😵💫
خیلی تلاش کردیم که این روش جواب بده. آخرین امیدم گول زدن Replit با Flet بود، ولی اونم فکر نکنم جواب بده... 🤷♂️
خلاصه این روزا کد رو به حال خودش رها کردیم، تا وقتی که یه سرور درستوحسابی براش پیدا کنیم...
🔥 اگه خوشتون اومد، حتماً لایک کنید و اگه کامنت هم بذارید که دیگه نور علی نوره! 😉❤️
(این متن با کمک هوش مصنوعی نوشته شده 😁)