Programming – Telegram
Programming
350 subscribers
501 photos
66 videos
50 files
186 links
سایت نداره این کانال اصلا
Download Telegram
Media is too big
VIEW IN TELEGRAM
آموزش دیپلوی ربات تلگرام روی heroku.com
🖥 @PySources
☍ 𝐂𝐎𝐃𝐄 𝐖𝐀𝐒 :

str = "@pyyyyyyysssssssoooooouuuuurrrrceeeeessssss"

def fix(str):
l = []
for i in str:
l.append(i)
last = ""
out = ""
for i in l:
if i != last:
last = i
out += i
return out

print(fix(str))


☍ 𝐎𝐔𝐓𝐏𝐔𝐓 𝐈𝐒 :
@pysources
〽️ آموزش بیرون کشیدن مصرف رم و سی پی یو سیستم

کتابخانه psutil رو برای راحتی نصب میکنیم (با کتابخانه os هم میشه ولی یکم سخته براتون شاید نامفهوم باشه و ...)

- Installation command:
pip3 install psutil


- Code:
from psutil import virtual_memory, cpu_percent

print(f"Memory (RAM) usage: {virtual_memory().percent}%")
print(f"CPU usage: {cpu_percent()}%")


🔱 حالا با کتابخانه os هم براتون میفرستم که برید رکستسر رو هم هاک کنید😂😂

-Code:
from os import cpu_count, popen

memory_usage = popen("free -t -m").readlines()[-1].split()[1:]

print(f"CPU usage: {cpu_count()}%")
print(f"Memory usage: {int(memory_usage[0]) / int(memory_usage[1])}%")


⛔️ -Note:
⛔️ نکته:
توجه کنید که کدی که برای نشون دادن مصرف رم با کتابخانه os فرستادم فقط روی لینوکس کار میکنه.

〽️ ادمین جدید هستم انشالله که این پست به دردتون بخوره.

دسته بندی:
#رم
#سی_پی_یو
#ram
#memory
#cpu

CHANNEL: @PySources
〽️ سلام امیدوارم حالتون خوب باشه❤️.

من گاها دیدم اساتید دانشگاه برای دانشجوهاشون این سوال پایتون رو میفرستن:

با زبان پایتون تابعی بنویسید که یک متن را گرفته و تعداد تکرار هر حرف آن را به صورت دیکشنری برگرداند.

من خودم اولین بار یکی از دانشجو ها برام فرستاد حل کردم ولی وقتی دفعات بعدی دیدم این سوال پر تکرار هستش گفتم اینجا هم بفرستم شاید به دردتون بخوره.


-Function:
from collections import Counter

def count_duplicates(text: str) -> dict:
counted_text = Counter(text.replace(" ", ""))
result_dict = {}
for key, value in counted_text.items():
if value >= 2:
result_dict.update({key: value - 1})

return result_dict


حالا بریم تابعمون رو تست کنیم:

-Code:
test = count_duplicates("Hello how are you guys?")
for key, value in test.items():
print(f"حرف {key} {value} بار نوشته شده.")


♻️ خروجی رو توی کامنت های این پست میزارم که این پست شلوغ نشه.

دسته بندی:
#سوالات_دانشگاه
#تقلب
#شمارش_حروف_تکرار_شده

CHANNEL: @PySources
سلام دوستان امیدوارم حالتون خوب باشه❤️.

دیدید بعضی از اسکریپت ها و سورس ها ورودیشون رو موقع ران کردنشون میگیرن؟
مثلا
python crack.py -u mohamadreza -p passlist.txt

یا
همینطور که طبق عکس (مثال بهتری نداشتم شرمنده) میبینید.

امروز میخوام بهتون یاد بدم همچین کاری رو بکنید با پایتون.


〽️ قدم اول کتابخانه بزرگ sys رو ایمپورت میکنید داخل برنامه تون
import sys

〽️ قدم دوم: از متود argv برای بدست آوردن ورودی هنگام ران استفاده میکنیم.

run_input = sys.argv

خب حالا متغیر ما لیست هستش
یعنی چی؟ یعنی اینکه میتونید با ایندکس بهشون دسترسی داشته باشید

خب بریم چند تا مثال بزنیم:

print(run_input[0])

یادتون باشه ورودی بعد از نوشتن python رو میگیره یعنی اگه طرف اینجوری اسکریپت رو ران کنه:
python test.py

ایندکس 0 اسم فایلمونه : test.py

حالا اگر اینجوری ران کنه اسکریپت رو:
python test.py -u test

ایندکس 1 میشه -u و ایندکس 2 میشه test


برای درک بهتر میتونید همون sys.argv رو پرینت کنید.

print(sys.argv)

قسمت کامنت یک مثال زدم.

خب امیدوارم این آموزش بدردتون بخوره.

دسته بندی:
#ورودی
#sys
#argv

CHANNEL: @PySources
سلام دوستان امیدوارم حالتون خوب باشه❤️.


〽️ میخوام نحوه بدست آوردن آی پی (پروتکل اینترنت) یک سرور (میزبان سایت) رو با پایتون بهتون یاد بدم.

🔰 توضیحات خط به خط عکس بالا:
1️⃣ - قدم اول تابع gethostbyname رو از کتابخانه قدرتمند socket ایمپورت میکنیم.

2️⃣ - قدم بعدی اینکه باید دامین (آدرس سایت بدون پروتکل http) و بعد داخل تابع gethostbyname پاسش بدیم.

⚜️ و بعد هرکاری خواستید با آیپی سرور سایت تارگت انجام بدید.

به همین آسونی.

دسته بندی:
#ip
#آی_پی
#آیپی
#socket
#gethostbyname

CHANNEL: @PySources
معرفی api (وب سرویس)
url = https://api.linkirani.ir/apiv1/shortlink
data = {"url":"your URL"}
method = POST

خب با این میتونید چک کنید که لینکی که دارین نیم بهاس یا نه
خروجیشم جیسان هست
#api
#linkirani

CHANNEL: @PySources
from requests import post

#_____link_____#
link = input("please enter your link\n==> ")

#_____url_____#
url = "https://www.digitalbam.ir/DirectLinkDownloader/Download"

#_____data_____#
data = {"downloadUri":link}

#_____request_____#
request = post(url,data).json()["fileUrl"]

#_____print output_____#
print(request)

تبدیل لینک دانلود فایلا به لینک نیم بها
channel: @PySources
Programming
Photo
سلام دوستان امیدوارم حالتون خوب باشه❤️ امروز میخوام آموزش OCR (استخراج متن از تصویر) در هوش مصنوعی رو با پایتون یادتون بدم. (خیلی راحت در سه خط کد).

خب برای اینکار طبق عکس اول٬ باید برید این صفحه گیتهاب و نرم افزار مربوط به OCR رو دانلود و نصب کنید در یک پوشه مشخص و بعد طبق عکس دوم آدرس پوشه رو کپی کنید تا بعدا داشته باشیم.

در قدم بعدی باید کتابخانه pytesseract رو نصب کنیم تا بتونیم با OCR در پایتون کار بکنیم:
در سی ام دی یا ترمینال بزنید:
pip install pytesseract

خب حالا بریم سراغ کد نویسی:
طبق عکس سوم:
در قدم اول کتابخانه pytesseract که نصب کردیم رو ایمپورت میکنیم:
import pytesseract

در قدم بعدی باید آدرس نرم افزاری که از گیتهاب دانلود کردید رو به متغیر tesseract_cmd داخل کتابخانه pytesseract بدید:
pytesseract.pytesseract.tesseract_cmd = "path tesseract file (exe)"

همونطور که میبینید من در خط سوم آدرسی که خودم اونجا نصب کردم رو دادم شما هم باید همینکار رو بکنید.

در قدم نهایی باید از تابع image_to_string در کتابخانه pytesseract استفاده کنید و آدرس عکسی که میخواید متنش رو استخراج کنید رو بدید که برای من تو دسکتاپ بود و آدرسش رو دادم شما هم باید آدرس فایلتون رو تو سیستم خودتون بدید و بعد خروجی رو بریزید داخل یک متغیر که من اسمش رو گذاشتم text شما هرچیزی دوست دارید بزارید:
text = pytesseract.image_to_string("photo path")

حالا متن استخراج شده داخل متغیر text و هرکاری دوست دارید با متن عکس انجام بدید.

امیدوارم به دردتون بخوره.

دسته بندی:
#OCR
#هوش_مصنوعی
#او_سی_آر

CHANNEL: @PySources
ch_lock = ["pysources"]
@app.on_message(filters.command("start"))
def start(client,message):
try:
for i in ch_lock:
client.get_chat_member(i,message.from_user.id)
except:
message.reply("""\
شما عضو کانال های ما نیستید لطفا در کانال های ما عضو بشید و سپس روی
/start
کلیک کنید
--------------------
ایدی چنلا:
{}
""".format("\n".join(["@" + n for n in ch_lock])))

تیکه کد قفل کردن ربات روی چنل به صورت مولتی چنل
فقط کافیه باتتون توی چنلا ادمین باشه و ایدی چنل بدون @ توی لیست اول کد باشه
#ربات
#پایروگرام
@PySources
وب سرویس دانلودر
برا پینترست تستش کردم سرویسای دیگه هم میتونید تست کنید

Url : https://www.expertsphp.com/download.php
Params: url=link
Method: post
خروجیش html هست که با beautifulsoup میتونید لینک دانلود رو استخراج کنید ازش

✫ᴄʜᴀɴɴᴇʟ: 𝑷𝒚𝑺𝒐𝒖𝒓𝒄𝒆𝒔
〽️ آموزش ران کردن برنامه در داخل برنامه دیگر

یعنی یه چیزی توی مایه های سورس رانر (source_runner)

قدم به قدم گفتم (طبق عکس)

ببینید popen یعنی process open

یعنی داریم پراسس رو اوپن میکنیم و مثل عکس ورودی و خروجی و ارور ها رو هم دریافت میکنیم.

اگه کتابخانه subprocess براتون کار نکرد باید نصبش کنید با دستور:
pip install subprocess

کتابخانه subprocess توی خیلی جاها به آدم کمک میکنه

from sys import executable

این متغیر هم مفسر پایتون رو برمیگردونه مثل این میمونه توی سی ام دی بزنید:
python

ولی این متغیر از کتابخانه sys آدرس کامل مفسر رو میده (پس یعنی اگه توی سیستمی که پایتون رو داخل پثش نصب یا وارد نکرده براش مشکلی پیش نمیاد.).

دسته بندی:
#source_runner
#subprocess
#sys
#اجرای_سورس

کانال:
@PySources
〽️ ریجکس برای پیدا کردن لینک (آدرس وب) داخل متن (مخصوص ربات های ضد لینک).

توی عکس ها میتونید تست رو ببینید.

نکته:
برای تمرین RegEx (Regular Expression) میتونید از سایت زیر استفاده کنید:
regex101.com
توصیه میشه ریجکس یاد بگیرید (توی گوگل میتونید سرچ کنید).

ریجکس میتونه مهارت برنامه نویسی شما رو بالا ببره.

دسته بندی:
#RegEx
#Reg_Ex
#Regular_expressiom
#ریجکس
#جستوجوی_لینک
#جستوجو

کانال:
@PySources
یه تابع مثل تابع len
def len_stringd(string):
nums = 0
for num in string:
nums += 1
return print(nums)


@PySources
#part1
#آموزش_pyrogram
معرفی متد send_message
این متد برای ارسال پیام هست که ۲ تا پارامتر اصلی میگیره و بقیش دلخواهه
اولیش
chat_id
هست که باید اینجا یا ایدی عددی شخص،چنل(درصورت ادمین بودن)،گپ یا ربات رو بهش بدین
یا هم یوزنیم
پارامتر بعدش
text
هست که باید تکست اون مسیج رو بهش بدین
اگه از فرمت markdown یا html تو مسیج استفاده کردین
باید یه پارامتر
parse_mode
هم بهش بدین که یا markdown یا html باید بهش بدین
بقی پارامتراش رو کوتاه توضیح میدم
entities
میتونید بجای parse_mode یه لیست از چیزایی که استفاده کردین رو بهش بدین
توضیحات بیشترش تو داکیومنت هست از این لینکم میتونید بخونید
پارامتر بعدی
disable_web_page_preview
که از اسمشم معلومه اون پیش نمایش لینک که ظاهر میشه رو مخفی میکنه
دیفالتش False هست یعنی مخفی نمیکنه اگه خواستین باید True بدین بهش
پارامتر بعدی
disable_notification
مسیج رو بدون اعلان میفرسته نمیدونم دقیقا چه جوری میشه چیزی هم که میگیره بولین هست True or False
پارامتر بعدی
reply_to_message_id
ایدی یه مسیج میگیره که روی اون مسیج ریپلای میزنه و اون پیامو میفرسته
پارامتر بعد
schedule_date
پیامو تایم بندی میکنه و سر اون تایم مشخص میفرسته
تایمی هم که میگیره یونیکس هست
پارامتر اخر
reply_markup
که مال همون کلید شیشه ای هست توضیحات بیشترم تو داکیومنت هست بعدا هم راجبش صحبت میکنیم
فقط اینو بدونین برا ربات های api هست یوزر بات ها یا همون به اصتلاح سلف نمیتونه ازش استفاده کنه
Part2 coming soon ...
Programming
#part1 #آموزش_pyrogram معرفی متد send_message این متد برای ارسال پیام هست که ۲ تا پارامتر اصلی میگیره و بقیش دلخواهه اولیش chat_id هست که باید اینجا یا ایدی عددی شخص،چنل(درصورت ادمین بودن)،گپ یا ربات رو بهش بدین یا هم یوزنیم پارامتر بعدش text هست که باید…
#part2
#آموزش_pyrogram

معرفی متد forward_messages

نیاز به توضیحات انچنانی نداره فقط ۳ تا پارامتر اصلی میگیره اون ۲ تا شو هم قبلا گفتم
اولی
Chat_id
جایی که میخواید پیاما فوروارد بشه واسه سیو مسیج میتونید me یا self بزنید
from_chat_id
میگه که از کجا فوروارد کنه
و
message_ids
میگه که کدوم پیام رو که باید اینتیجر باشه مقدارش و همچنین میتونه یه لیست از مسیج ایدی ها باشه یا یه مسیج ایدی خالی باشه

اون ۲ تا پارامتر دیگشم که تو پست قبلی گفتم
مثال:
# Forward a single message

app.forward_messages("me", "pyrogram", 20)


# Forward multiple messages at once

app.forward_messages("me", "pyrogram", [3, 20, 27])