فان سورس | Fun Source
292 subscribers
2 photos
2 videos
1 file
17 links
🤪 این کانال صرفاً جهت بررسی ایرادات سورس های پابلیک و مورد تمسخر قرار دادن مشکلات آنها برای اینکه دوباره تکرار نشن !

🤣 مخصوصاً اونایی که ادعا دارند باید سورس هاشونو برای ما ارسال کنند تا محک بزنن سطح خودشونو ! قوی و مرد باش 💪

#نه_به_کپی_پیست @AsirRam
Download Telegram
📰 عنوان سورس : سورس ربات فیلم و سریال

👨‍💻 نویسنده سورس : @ofteraccount


⚠️ اشتباهات و نکات کلی :

توی لاین 15 اومدن یه پارامتر دادن به عنوان $datas :) داش لطفاً چیزی رو نمیدونی الکی نزن ☹️
اولا باید بصورت کلید و مقدار باشه آرایه ای که میدی چون قراره دیتا رو پست کنی به HTTP API

لاین 91 یه اشتباه رایج بین همتون هست اینکه lastname اپشنال هست ممکنه باشه ممکنه نباشه !
و اگر کاربر فامیلی نداشته باشه اینجا خطا میگرید که این پراپرتی وجود ندارد در آبجکت شما
این اشتباه در خط های 92 و 94 و جاهای متعددی تکرار شده روی نسخه 8+ پی اچ پی همه اینا خطا میدن دیگه نه وارنینگ

لاین 106 خیلی بامزه هست طرف اومده فایل سایز رو از بایت به کیلوبایت تبدیل کنه 😂
مشکل اینه که ایشون حتی نمیتونن 1024 بایت یه کیلو بایت هست 🤣


لاین 134 قابل تحسین هست که میخاستن توکن ربات شما رو بدزده 😕

لاین 328 و جاهای دیگه راحت میشه از باگ injection sql استفاده کرد 🫡


داش امیدوارم بدونی متغیر به چه درد میخوره ، آخه کی هزار بار درخواست مشابه میزنه به دیتابیس برای گرفتن یه چیز ؟؟ 😂

$file_name = mysqli_fetch_assoc(mysqli_query($connect,"SELECT*FROM data WHERE code = '$text'"))['file_name'];
$file_id = mysqli_fetch_assoc(mysqli_query($connect,"SELECT*FROM data WHERE code = '$text'"))['file_id'];
$title = mysqli_fetch_assoc(mysqli_query($connect,"SELECT*FROM data WHERE code = '$text'"))['title'];
$uploadDate = mysqli_fetch_assoc(mysqli_query($connect,"SELECT*FROM data WHERE code = '$text'"))['date'];
$yuklang = mysqli_fetch_assoc(mysqli_query($connect,"SELECT*FROM data WHERE code = '$text'"))['yuklang'];

از لاین 636 نگاه کنید میبینید که اره هنوز با بررسی یه شرط داخل یه حلقه اشناییت نداره ! 😶

برداشته تک تک درخواست زده و مقدارشو ریخته تو متغیر و چک کرده که پیام رفته یا نه !

داش اذیت نکن خودتو انصافاً
# line 636

if($ok==true){
}else{

فکر کنم دوستمون هنوز مبحث مربوط به بولین false رو نخونده همه کاراشو با true کرده 🤣

داداش میگم تو مطمئنی همون true هم یاد گرفتی ؟ من احساس می‌کنم کپی کردی
چون هنوز نمیدونی true != "true" 😂
# line 723

if(is_numeric($text) == "true"){

اوه من یادمه از وقتی تلگرام اومد دیلیت مسیج داشته داش یکم داکیومنت تلگرامو بخون

نمیدونم چی تو فکرش بوده ولی این کدو زده

# line 692

bot('editMessageText',[
'chat_id'=>$cid2,
'message_id'=>$mid2,
'text'=>"",
'parse_mode'=>'html',
]);

قشنگ از خط 699 میشه فهمید کپی پیستر بوده نه کدنویس :)

$ping = $end_time - $start_time;

یادش رفته متغیر $start_time هم کپی کنه تو سورس 😂


همین که از elseif استفاده نکرده و خیلی جاها exit استفاده کرده
میشه فهمید که یه کد نویس این سورسو نزده والا شرمنده ولی کار یه ادیتور بوده :(

توی لاین های 41 و 42 و ... شما شاهد چیزای جدیدی هستید 🤣 ساخت آرایه با کلید های عددی رشته ای !
# line 41 & 42

$array['inline_keyboard']["$i"][0]['text'] = "✅ ". $name;
$array['inline_keyboard']["$i"][0]['url'] = "https://t.me/$url";

باید بهتون بگم که اینجا نباید $i رو به رشته تبدیل میکردن چون اینطوری دیگه لیست ساخته نمیشه
و یک آرایه با کلید و مقدار ساخته میشه ( توی پایتون به اصطلاح گفته میشه دیکشنری )

👇 اگر شما هم نکته دیگه ای یافتید تو کامنت ها بگید که خوشحال میشیم
Please open Telegram to view this post
VIEW IN TELEGRAM
210👍3❤1
برسی سورس سلف پایتون ( ریویو شکلات 🍫 )

👀 یه مشکلی که تو خیلی از کد های تازه کار ها یا حتی کسایی که سنیور ترن میبینم اینه که استراکچر پروژه اشون سالم نیست.
آیا رعایت استاندارد های PEP اجباریه؟ نه. آیا رعایت نکردنش کار جالبیه؟ بازم نه

یکی از مسائلی که مهمه بدونید اینه که پروژه پایتونی شما باید از چند بخش تشکیل بشه:
🛠 اسکریپت اصلی

📦 دپندنسی های پروژه (requirements.txt)

🖼 فولدر فایل های ثابت (assets/static)

🔌 پلاگین و ماژول ها (modules/plugins)


البته خیلی بهتره که از یه Project Manager مثل chocolate, Poetry استفاده کنید.

فرض کنیم شما حوصله استفاده از پراجکت منیجر نداشتید! آیا درسته که مثل لاین ۱۷ این حرکتو بزنید؟

os.system('pip install --upgrade pip && pip install -U telethon && pip install psutil && pip ins ...

قطعا نه! واسه‌ مشکل dependency ها ۳ تا راه حل دارید.
1⃣استفاده از venv
2⃣ ساخت کاستوم اینستالر
3⃣ استفاده از Makefile
مورد سوم و اول رو بیشتر پیشنهاد میکنم.
(اگه نیازه به اموزش Makefile بگید)
اینا بهتون کمک میکنن مطمئن شید که پروژه به نحو احسنت اجرا میشه.

😀 سورس سورس متوسطی ای هست. سعیم بیشتر بر این بود کسی که داره اینو میخونه یه چیزی یاد بگیره

🔣 نمره ای که من میدم ؟ 4⃣ از 0️⃣1⃣

اینو یادتون باشه، دنیای کامپیوتر دنیای «همه چیز دان ها» نیست، بلکه دنیای «کنجکاو ها» ست. از خودتون خجالت نکشید. کد های خنده دار و مسخره بنویسید. یه سوال رو برای بار هزارم سرچ کنید. در کل هر اتفاقی که میوفته مسیر یادگیری رو متوقف نکنید. کامپیوتر هارو درک کنید تا بتونید باهاشون صحبت کنید. این تنها راه موفقیت تو این مسیره.
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥8❤5👍5👏1
سورس بعدی کدوم باشه ؟ 😁 کسانی که فرستادن و فراموش کردم ازشون عذر خواهی می‌کنم 🙏 و اگر امکانش هست سورس های متعلق به خودتون رو ارسال بکنید!

👇یا اینکه کامنت بکنید ☹️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😎2🤔1
سلام شکلاتم 🍫

😁 قراره این سورس رو برسی کنیم : https://t.me/Sourrce_kade/4976

اولا تو لاین ۹ و ۱۰ به جای :
if os.path.isdir(path):
os.mkdir....

بهتر بود از :
os.makedirs(path, exists_ok=True) 

استفاده میکرد

دوما، واسه پترن regex ای که زده جالب نیست

هدفش اینه مسیجی که ران رو اولش داره بگیره و اینو زده
filters.regex("run ")

این اگه ران وسط تکست هم باشه میگیردش
درستش اینه :
filters.regex(r"^run\s")

از لحاظ PEP که ریده. بعد کد زدن از Black استفاده کنید لطفا

و لاین 226 :
asyncio.speed(0.5)

جانم ؟ 😂😂😭

نمره ای که میدم 2️⃣ از 0️⃣1️⃣
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥1
📰 عنوان سورس : سورس ربات ریموت و پنل

👨‍💻 نویسنده سورس : @ipv_Ali


⚠️ اشتباهات و نکات کلی :

def apis():
with open('apis.txt' , 'r') as api:
apir = api.read()
return random.choice(apir.split('\n')).split()

این دوستمون اینجاشو خیلی بد سوتی داده 😂 اومدن با اسپلیت کردن بر اساس نیو لاین جدا سازی انجام دادن و محتوا فایل رو بصورت خط به خط جدا و به لیست تبدیل کردن و به این دقت نکردن که آقا جان! شما همیشه خط آخر این فایلت خالیه !! پس امکانش هست خروجی این تابع اصلا یه رشته خالی باشه :/ و در ادامه خطا هایی رخ میدن...

🧐 بزارید با یه مثال ساده بهتون بگم منظورمون ، کافیه این رو اجرا بکنید و ببینید لیست های خالی که می‌گیرید رو ( مشکل یک نیولاین خالی هست ) :

import random

apir = '''4f40ae9fbdfb5ebdbef07caaaae 18987
'''

for i in range(10):
print(random.choice(apir.split('\n')).split())

🤨 و خب اینجا مشخص میکنه که اصلا از ماژول glob بلد نبودن استفاده بکنن ! و اومدن لیست همه فایل ها و پوشه های درون یه پوشه رو گرفتن و انتها اسم اون ها رو بررسی کردن !

def accounts():
accs = set()
for i in os.listdir('accounts'):
if '.session' in i:
accs.add(i.split('.')[0])
return list(accs)

😁 و اما کد درست تر و بهتری که میتونستن بنویسن :

from glob import glob

accounts = glob('accounts/*.session')

توی خط 34 انصافاً داش به جوونیت رحم کن 😂 ریجکس نوشتی که اون پترن مچ شده ازش متن رو بگیری این مسخره بازی هات دیگه چیه در آوردی بعد از ریجکس نویسی اشتباهت :

chat = message.text.replace('/run ' , '').replace('run ', '')

به به توی خط 169 و 183 و ... هم که ایندنت گذاری هاتو کاملا رعایت کردی مثل همون قبلی که گفتیم 😂

و خب توی هندل کردن خطا ها خیلی ضعیف عمل کرده مثلاً توی خط 229 ایشون اومده همچنین کدی رو نوشته :

os.unlink('files/p.png')

اگر فرض کنیم دو نفر همزمان به این استپ برسن و قرار باشه فلان چیز حذف بشه ! بار اول که حذف بشه بار دوم خطا میخورید که فایل وجود نداره چون همزمان داشتن این کارو میکردن و پروسه درکل طولانی هست پس ممکنه این اتفاق بیوفته دور از انتظار اصلا نیست ! 🙄


👇 اگر شما هم نکته دیگه ای یافتید تو کامنت ها بگید که خوشحال میشیم
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3❤1
😞 ببخشید بابت کم شدن فعالیتمون ! یک سری مشکل برام پیش اومده و خب سورس جدیدی هم کسی نفرستاده برای نقد کردن و قول یه تابستون خفن رو میدم بهتون 😉 ممنون از تمام کسانی که همراهمون میمونن...


✓ توی تابستون قراره خودم سورس بزارم

✓ و همچنین آموزش و نکات ریز هر زبان رو مورد بررسی قرار می‌دیم

✓ از همه مهم تر اینکه چالش هایی رو همراه با جوایز قرار میدیم
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
📰 عنوان سورس : سلف ساز

👨‍💻 نویسنده سورس : @Mohammad777777777777777777


⚠️ اشتباهات و نکات کلی :

در خط bot.py:473 از شرط زیر برای چک کردن API HASH استفاده کردن که هم اشتباه و هم ضعیف هست ! اولاً طول اون ثابت هست چون هش هست و 32 کاراکتر داره و دوما فقط از اعداد و حروف a تا f استفاده میشه در ساختارش که میشد این هم لحاظ کنن

if len(text) < 30:

در بین خط bot.py:599 الی bot.py:604 متاسفانه بجای اینکه از Exception های از قبل تعریف شده استفاده کنن برای مدیریت بهتر اومد بصورت شرطی این رو بررسی کردن ، اما خب این مشکل نیست 😂 مشکل اساسی اینجاست که توی این خط ها اصلا به همچین ارور هایی شما بر نخواهی خورد ، کاملا الکی گذاشته شده 🤣

                if "PHONE_NUMBER_INVALID" in error_msg:
await event.respond(ERROR_MESSAGES["PHONE_NUMBER_INVALID"])
elif "PHONE_NUMBER_BANNED" in error_msg:
await event.respond(ERROR_MESSAGES["PHONE_NUMBER_BANNED"])


در خط bug_report.py:538 ایشون اومدن همچین خروجی رو دادن که ممکنه یک دیکشنری یا یک NoneType باشه ! بعد خروجی که برای تابع تعریف کردن فقط دیکشنری هست 😂 از این قبیل سوتی ها کم ندارن

async def _get_bug_details(self, bug_id: int) -> Dict:
return dict(zip(columns, row)) if row else None


احساس می‌کنم درگیری شدیدی با خودشون داشتن 🤣 داش یه بار سر به داکیومنت تلتون میزدی می‌فهمیدی Exception FloodWaitError خودش پراپرتی برای گرفتن ثانیه داره...

# کد الکی و دارای اشتباه ، ممکنه فلود هر جور باشه متنش و انواع و اقسامی داره
wait_time = int(str(e).split(" ")[-2]) + 1

# کد درست که خود تلتون ثانیه و زمان فلود رو گزارش میکنه

wait_time = e.seconds


😅 بخاطر مشغله ای که دارم نتونستم پلاگین هاشو و خیلی جاهای دیگه اشو ریز و دقیق بررسی کنم اگر شما بررسی کردید خوشحال میشم بهم بگید :)


👇 اگر شما هم نکته دیگه ای یافتید تو کامنت ها بگید که خوشحال میشیم
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍31
📰 عنوان سورس : تگ گیر

👨‍💻 نویسنده سورس : @TG_MORDOR


⚠️ اشتباهات و نکات کلی :


یه سندرومی هم به اسم سندروم متغیر نامتغیر 😂 اینطوری هست که اسم متغیر ها رو جوری میزاری که کسی رغبت نکنه بخونه کداتو اینم یکی از هموناست....


مثلاً توی خط 401 الی 403 کد زیر تعریف شده ، داداشمون انقدر حرفه ای هست که Exception از هر نوعی باشه بزور ثانیه فلود ویت میخاد ازش استخراج بکنه لعنتی 😂 داش شاید یه اتفاق دیگه افتاد بزور میخاد از متغیر e2 پراپرتی seconds رو صدا بزنی ؟

    except Exception as e2:
x1.error(f"Error sending FloodWait message: {e2}")
await asyncio.sleep(e2.seconds)


داش ببین کار خوبی می‌کنی که چنل میخای بسازی و روش بندازی یوزرنیم رو ... ولی خبر داری که ۲۰ دقیقه محدودیت میخوره ؟ و اگر طرف روی هر ۱ دقیقه یکبار چک کردن گذاشته باشه زمان‌بندی رو ... تو ۲۰ تا چنل ساختی توی همین ۲۰ دقیقه تا اینکه قفل بشه یوزرنیم 😂 و محدودیت ساخت چنل میگیری و یوزرنیم از دستت میپره ( خط 327 الی 336 )

                av1 = await c1(CreateChannelRequest(
title=f"کانال {ag1}",
about="کانال جدید",
broadcast=True
))
aw1 = av1.chats[0].id
await c1(UpdateUsernameRequest(
channel=aw1,
username=ag1[1:]
))


در خط 39 افکار قدیمی و پوسیده ای می‌بینیم 😁 اولا یوزرنیم ها دیگه 5 رقمی به بالا نیستن ! @bold دوما این فیلتر رعایت نکردی که یوزرنیم با حروف فقط میتونه شروع بشه ! نه عدد ! شما گذاشتی هم عدد هم حروف و هم اندر لاین 😂😐

    return bool(re.match(r'^[A-Za-z0-9_]{5,}$', e1))


🙄 بعد یه چیز بنظرم غلط اینجا هست اینکه ایشون توابع اش و کارایی که میکنه بصورت Asynchronously هست بعد به خودش زحمت نداده موقع کار بار فایل ها هم از همین قوانین اسینک تبعیت بکنه و خب این اشتباه ... لاین 41 تا 56 این رو میتونید ببینید و اما کد درست تری که باید این بخش میزدن به شکل زیر باید میبود

async def d2():
async with aiofiles.open(b1,'r') as f1:
return json.loads(await f1.read())

async def d3(g1):
async with aiofiles.open(b1,'w') as f1:
await f1.write(json.dumps(g1))


لطفاً به این موضوع دقت ویژه داشته باشید و تکلیفتون رو با خودتون روشن کنید ! یا همه چیزو بصورت async بنویسید یا اصلا سمتش نیاید 😕


👇 اگر شما هم نکته دیگه ای یافتید تو کامنت ها بگید که خوشحال میشیم
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52❤1
سلام و درود مجدد 😁

چند وقت پیش من یه فریمورک برای هندل کردن اکانت های فروت کرفت و نوشتن اسکریپت هاش توی زبان پی اچ پی 👨‍💻 نوشتم


و خب داخل 📱 گیت هابم اونو آپلود کردم و واقعاً چیز خفنی شده ! به روز ترین کد ها و کامل ترین implement هست !


📱 https://github.com/Tak-Pesar/FruitCraft


و همچنین چند مثال برای نوشتن اسکریپت نوشتم و امیدوارم به دردتون بخوره و حداقل خودتون استفاده کنید


⭐️ اگر به دردتون هم نخورد یه ستاره بزنید دلمون خوش بشه 😄 واقعاً کد نویسی تمیزی شده ! میگی نه ؟ ببینش


❤️ اگر سوالی و باگی هم بود گزارش بدید رفع میشه
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤6🔥11
یوهاهوووو 😂
بیاین عضو شین تو بغلم 💋
Please open Telegram to view this post
VIEW IN TELEGRAM
😐3
فان سورس | Fun Source
😁 سورس هاتونو به آیدی زیر ارسال کنید 👇 👨‍💻 @AsirRam 👨‍💻 و صد البته اینم لینک ناشناس ما اگر خواستید سورس رو ناشناس ارسال بکنید یا اینکه ریپورت بودید : https://t.me/BiChatBot?start=sc-774a47dc71 🙂 حمایت هم بکنید بدک نیستا ! گیفت هم میتونید بکنید ! و همچنین…
🤣 شرایط ادمینی توی اینجا :

😂 بعضی اپن سورس هارو بتونی تحلیل و مسخره کنی تا بلکه مردم اعتماد کامل به هوش مصنوعی نکنن و ملت با خنده و خوشحالی یه چیزی یاد بگیرن کنار هم دیگه خوش باشیم

[ کسی که میاد برای ادمینی خودش دانش تحلیل کردن و داشته باشه لطفاً و به Ai متکی نباشه و یه پست مشابه ارسال کنه از یکی از سورس های جدید ]

👉 @AsirRam
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣13😁2
اینو تو اینستاگرام دیدین بیاین همگی جمع شیم یکی یکی به هرکس ۲۰ هزار بدیم جمعا میکنه ۲۰۰ میلیون یکی یکی پولدار شیم

اولین نفرم من باشم اسکم کنم برم😂
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣18💔2👍1
دعا نویس قسطی کسی لازم داشت بگه👍👍👍
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣6👍1
امریکا اینجوری واسه ما شاخ شده نگا نکنید اگه جرعت داره بیاد قیمت دلارو اینجا کنترل کنه که بالا نره👌😂
🤯1
یه جوین خالی شد دوستان

@Hagigatgobot

@qqabr