ژوپیتـر اِی‌پی‌آی | Jupiter API
467 subscribers
82 photos
13 videos
68 files
139 links
گروه برنامه نویسان ، و توسعه دهندگان ژوپیتـر اِی‌پی‌آی!
> طراحی و توسعه ربات تلگرام
> طراحی API برای اپلیکیشن
> طراحی و توسعه وبسایت
👮 @LordDeveloper
خرید هاست : jahan-cloud.ir
Download Telegram
🔧 ممکنه گاهی اوقات بخواید از apache2 به صورت تستی در پروژهای خود استفاده کنید (مثلا رو localhost). ولی مشکل اصلی اینه که موقع تست پروژه همش باید فایلای کانفیگ رو دستکاری کنین و کلی زمان میبره😔
دستورات زیر رو بزنید تا مشکل حل بشه:

cat > /etc/apache2/sites-available/port81.conf << EOL
<VirtualHost *:81>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

ErrorLog \${APACHE_LOG_DIR}/port81_error.log
CustomLog \${APACHE_LOG_DIR}/port81_access.log combined
</VirtualHost>
EOL
echo "Listen 81" >> /etc/apache2/ports.conf
echo '
port81-setup() {
if [ -z "$1" ]; then
echo "Usage: port81-setup /path/to/document/root"
return 1
fi
DOCROOT=$(realpath "$1")
sudo sed -i "s|DocumentRoot.*|DocumentRoot \"$DOCROOT\"|" /etc/apache2/sites-available/port81.conf
sudo sed -i "s|<Directory.*|<Directory \"$DOCROOT\">|" /etc/apache2/sites-available/port81.conf
sudo a2ensite port81.conf
sudo systemctl restart apache2
echo "Port 81 document root set to $DOCROOT"
echo "http://localhost:81"
}' >> ~/.bashrc
source ~/.bashrc


🔘 حالا هرجایی که نیاز داشتید پروژتون رو انلاین کنید دستور زیرو بزنید
port81-setup .

و پروژه رو روی http://localhost:81 باز کنید.
👍3
آقا یه ریپازیتوری تو گیتهاب بود که تمامی متودها و تایپ‌های توی
core.telegram.org/bots/api
رو به شکل json اسکرپ می‌کرد

پیداش نمی‌کنم، کسی داره؟
ژوپیتـر اِی‌پی‌آی | Jupiter API
https://github.com/Sysbot-org/tgscraper
البته اینو باید خودتون فورک کنید از طریق گیتهاب اکشن جنریت کنید

یا هم به صورت دستی می تونید این کارو انجام بدید


چون دیتایی که توش هست بروز نیست
جایی هست برای خرید دامنه .click با کریپتو؟
آقا برای شما سابقه داشته یه ربات به خصوصی خراب بشه و با عوض کردن توکنو هرکاری نشه اطلاعات کاربرای گروه کانالو درست گرفت؟ اطلاعات قدیمی یا اشتباه بده؟
یه چند وقته اینطور شده با توکن ربات دیگه تو همون کانال میزنم درسته
👎4
کسی سابقه کار با مینی اپ های تلگرامو داشته؟
👍3
فیلم ترسناک چی پیشنهاد می دین؟
سرور ترکیه کسی داره که پهنا باندش لیمیت نباشه؟
یک سرور هلند اسپکترا ۲۷ روزه موجوده رم ۴ و ۲ هسته زیر قیمت
بشینی رو پیکنیک
دوستان کسی nft username یا گیفت برای خرید خواست پیوی پیام بده.
telegramobjectfield.py
1.1 KB
📦 این فیلد ها مخصوص کتابخونه peewee بوده و شما میتوانید با استفاده از اون اشیا json و یا اشیا telethon رو با استفاده از tlobjectfield یا اشیا aiogram رو با استفاده از telegramobjectfield در دیتابیس ذخیره کنید.

کاملا پردازش ها مثل نوع داده جداگانه خودکار هست و شما فقط کافیه مستقیم ورودی بدید یا مستقیم خروجی بگیریدش
✏️ @av_id
3🐳1
🔍 وقتی برای اسکرپ با Inspect سایت کار می‌کنیم، گاهی نیاز داریم خروجی توابعی مثل fetch رو دیباگ کنیم.
اما مشکل اینجاست که ابزار مستقیم و مشخصی نداریم که بفهمیم این خروجی کجا استفاده شده یا چطور ازش رد شده. 😕

برای حل این موضوع باید این کار رو انجام بدیم:
1️⃣ اول سورس رو در Inspect باز کنیم و اسکریپت مورد نظرمون رو override میکنیم و اگر فایل‌ها Minify یا Build شده بودن، اون‌ها رو Beautify کنیم. اسکریپت مورد نظر منظور بخشیه که کد استفاده شده و یا اگه تابع گلوبال مثل fetch هست اولین اسکریپتی که فراخوانی میشه باید باشه
2️⃣ بعد متغیر یا تابع مورد نظرمون و Proxy کنیم.
3️⃣ با این روش وقتی خروجی داده میشه، می‌تونیم با اضافه کردن debugger داخل Proxy، دیباگر رو فعال کنیم و توی Call Stack ببینیم که چطوری و کجا از این خروجی استفاده شده. 👀

مثال:
const originalFetch = window.fetch;
window.fetch = function (...args) {
console.log("[fetch]", args[0]);
return originalFetch(...args).then(response => {
const url = response.url || (args[0] && args[0].toString());
if (url.includes("heavyweight")) {
console.log("[Intercepted fetch]", url);
['text', 'json', 'blob', 'arrayBuffer', 'formData'].forEach(method => {
const original = response[method].bind(response);
response[`_${method}`] = original;
response[method] = function (...mArgs) {
console.log(`[${method}()] called on heavyweight URL`);
debugger; // دیباگر اینجا متوقف میشه
return original(...mArgs);
};
});
if (response.body && typeof response.body.getReader === 'function') {
const originalGetReader = response.body.getReader.bind(response.body);
response.body.getReader = function(...readerArgs) {
const reader = originalGetReader(...readerArgs);
console.log("ReadableStream.getReader() called");
const originalRead = reader.read.bind(reader);
reader.read = async function(...readArgs) {
const result = await originalRead(...readArgs);
console.log("ReadableStream chunk read:", result);
debugger; // توقف روی هر chunk خوانده شده
return result;
};
debugger;
return reader;
};
}
}
return response;
});
};

💡 با این روش، کنترل کاملی روی خروجی توابع داریم و می‌تونیم راحت‌تر مشکل‌ها رو ردیابی کنیم!
5
کانفیگ با لوکیشن اوکراین کسی داره برای دو سه ساعت؟
1