سورس ربات | 𝔹𝕆𝕋𝕊𝕆ℝℂ𝔼
3.44K subscribers
110 photos
57 videos
532 files
398 links
🤖 **کانال تخصصی آموزش ساخت ربات تلگرام + دانلود سورس رایگان**
آموزش گام‌به‌گام ساخت ربات (بدون نیاز به کدنویسی + با کدنویسی)
**سورس‌های آماده:** ربات مدیریت گروه، فروشگاه، تبلیغات، دانلودر و...
📩 سفارش ربات:
@NamePlusUser
Download Telegram
♦️خطای 408
Request Timeout
♦️ﭘﺎﯾﺎﻥ ﺣﺪﺍﮐﺜﺮ ﺯﻣﺎﻥ ﺩﺭﺧﻮﺍﺳﺖ ‏
♦️ﮐﺪ 408 ﺯﻣﺎﻧﯽ ﺭﺥ ﻣﯽ ﺩﻫﺪ ﮐﻪ ﺳﺮﻭﺭ ﺩﺭ ﺍﻧﺘﻈﺎﺭ ﺩﺭﺧﻮﺍﺳﺖ ﻭﺍﺳﻂ ﮐﺎﺭﺑﺮﯼ ﺍﺳﺖ، ﺍﻣﺎ ﻫﯿﭻ ﭘﺎﺳﺨﯽ ﺩﺭ ﺯﻣﺎﻥ ﺍﺳﺘﺎﻧﺪﺍﺭﺩ ﺩﺭﯾﺎﻓﺖ ﻧﻤﯽ کند، ﺑﻪ ﺍﯾﻦ ﺻﻮﺭﺕ ﺳﺮﻭﺭ خطای 408 ﺭﺍ ﺍﺭﺳﺎﻝ ﻣﯽ ﮐﻨﺪ ﻭ ﻭﺍﺳﻂ ﮐﺎﺭﺑﺮ ﻣﯽ ﺗﻮﺍﻧﺪ ﻣﺠﺪﺩﺍ ﻭ ﺩﺭ ﺩﻓﻌﺎﺕ ﺑﻌﺪﯼ ﺩﺭﺧﻮﺍﺳﺖ ﺧﻮﺩ ﺭﺍ ﺍﺭﺳﺎﻝ ﮐﻨﺪ.

@BotSorce
♦️🇮🇷یک هدیه برای دوستان عرب زبانمان در کانال

♦️🇮🇶لدينا هدية لدينا في اللغة العربية صديق في قناتنا

♦️🇬🇧We have a gift for our Arab language friend's in channel
♦️🇮🇷 سورس ربات آنتی اسپم به زبان عربی،هدیه ای برای دوستان عرب زبانمان در کانال

♦️🇮🇶 المصدر بوت مكافحة البريد المزعج في اللغة العربية . هدية لدينا في اللغة العربية صديق في القناة .

♦️🇬🇧 Source bot Anti-Spam in Arabic language . Gift for our Arabian friend's in channel .

🔐 Password :
@botsorce

@BotSorce
👍1
♦️کتاب آموزش ساخت ربات تلگرام
♦️این کتاب هنوز تکمیل نشده و فقط بدلیل درخواستهایی که دوستان داشتن،کمی زودتر از موعد میفرستیمش.
♦️و اینکه اگه خدا بخواد تا یکی دو هفته دیگه تکمیل شده ش رو میفرستم تو کانال
♦️امیدواریم که مطالب کتاب مفید باشه.
♦️ضمنا،در نسخه کامل این کتاب تمامی مشکلات این نسخه برطرف خواهد شد.

@BotSorce
♦️برنامه نویسی ربات تلگرام با زبان php
♦️پارت 3

@BotSorce
♦️صرفا جهت اطلاع رسانی ها و ارائه برخی خدمات،سایت کانال بر روی یکی از دامنه های رایگان و ظرف مدت دو روز راه اندازی شده.
♦️به مرور به قابلیتها و خدمات سایت افزوده خواهد شد و مشکلات نیز برطرف خواهد شد.
♦️ با کلیک روی همین متن و همچنین از طریق دکمه زیر این پست میتونید وارد سایت بشید.
♦️ضمنا،سایت اصلی ما سالهاست در زمینه آموزش برنامه نویسی فعال بوده،اما بدلیل اینکه با نام و دامنه دیگری بود،در حال حاضر از همین دامنه برای اطلاع رسانی و ... استفاده کردیم.
♦️ درصورت لزوم،سایت اصلی هم خدمت شما دوستان معرفی خواهد شد
@Botsorce_ChannelBot.rar
3 KB
♦️سورس ربات ارسال پست به کانال
♦️این سورس رو تا امروز دست نگه داشته بودیم و نفرستادیم،ولی به یک دلیل ! فرستادیمش
♦️رمز فایل :
@botsorce

@BotSorce
@BotSorce_PvResanSaz.rar
32.5 KB
♦️سورس ربات پی وی رسان ساز
♦️فارسی 🇮🇷 و انگلیسی 🇬🇧
♦️رباتی که میسازه رو فکر نمیکنم قبلا دیده باشید
♦️فایل readme رو بخونید
♦️رمز فایل:
@botsorce

@BotSorce
♦️کامپوزر Composer# چیست؟
و چه کاربردی دارد؟!

♦️خلاصه

♦️کامپوزر، یک سامانه‌ی مدیریت بسته (Package) برای زبان برنامه نویسی php است؛ که قالب استانداردی را برای مدیریت وابستگی‌ها (Dependencies) و کتابخانه‌ها (Libraries) در PHP فراهم می‌کند. کامپورز توسط Nils Adermann و Jordi Boggiano (شخصی که توسعه پروژه را ادامه داد) توسعه داده شده است.

♦️کامپوزر به شدت از NPM نود ‌جی ‌اس و Bundler روبی الهام گرفته است.
♦️کامپوزر توسط واسط خط فرمان اجرا می‌شود و وابستگی‌ها را برای برنامه یا بهتر بگوییم، سورس کدشما نصب می‌کند. همچنین به شما این امکان را می‌دهد که بسته‌های موجود در Packagist را نصب کنید.

♦️کامپوزر به عنوان بخش جداناپذیزی در بسیاری از پروژه ها php مثل لاراول استفاده شده است.

♦️چارچوب‌های مورد پشتیبانی

♦️سیمفونی ، لاراول ، کدایگنایتر ، کیک پی اچ پی ، فیول پی اچ پی ، دروپال

♦️جالب است که بدانید، لوگوی کامپوزر Composer# به معنی آهنگ‌ساز بوده و برشخصی که موسیقی می‌سازد دلالت می‌کند ♦️بیشتر یک رهبر ارکستر را نشان می‌دهد تا یک آهنگ‌ساز! هرچند که خیلی از افراد باور دارند که لوگو نشان دهنده‌ی بتهوون است.

♦️اطلاعات مفصل

Dependency Managment

♦️ابتدا بهتر است که با مفهوم
Dependency Managment
 یا مدیریت وابستگی‌ها آشنا شویم.
♦️زمانی که ما اقدام به برنامه‌نویسی می‌کنیم، فارغ از اینکه از چه فریمورک یا زبان برنامه‌نویسی برای کدنویسی استفاده می‌کنیم، گاهی‌اوقات نیاز به استفاده از کدها، پکیج‌ها، و لایبرری‌های(کتابخانه) سایر برنامه‌نویسان که به صورت اپن‌سورس در اینترنت عرضه شده‌اند داریم تا بتوانیم به جای آن‌که خودمان اقدام به نوشتن ، مثلاً کلاس خاصی کنیم، از کدهایی که قبلاً توسط سایر توسعه‌دهندگان نوشته شده و آزمایش خود را پس داده‌اند استفاده کنیم.
♦️به طور خلاصه، Composer ابزاری است که فرایند Dependency Management (مدیریت وابستگی‌) را برای توسعه‌دهندگان زبان برنامه‌نویسی PHP فراهم و تسهیل می‌کند.

حالا با تعریف بالا و هر آن‌چه که در ابتدای توضیحاتمان گفتیم، مفهوم Composer و کاربرد آن را بهتر درک خواهید کرد.

♦️تاریخچه‌ی Composer
♦️کامپوزردر ابتدای ماه مارس سال ۲۰۱۲ به صورت رایگان توسط Nils Adermann و Jordi Boggiano با الهام از ابزارهای NPM و bundler روبی توسعه داده شده و به دنیا عرضه شد و تاکنون استقبال بسیار خوبی از این ابزار به‌خصوص از طرف برنامه‌نویسان زبان برنامه‌نویسی PHP صورت گرفته است.

♦️عملکرد کامپوزر

♦️همانطور که در بالا گفته شد، کامپوزر یک ابزار کامند لاین می‌باشد که در آن با استفاده از یکسری دستورات از پیش تعریف شده، می‌توان به مدیریت منابع خارجی برای استفاده در پروژه‌ی خود پرداخت.

♦️لازم به ذکر است که برای استفاده از این ابزار حداقل به نسخهٔ 5.3.2 از زبان PHP نیاز خواهیم داشت.
♦️این ابزار برخلاف ابزارهایی همچون APT هرگز چیزی را به صورت گلوبال (سراسری) دانلود نمی‌کند بلکه این ابزار بر پایهٔ هر پروژه کار می‌کند. منظور این است که اگر شما در پروژه‌ای، کتابخانه‌ای را وارد کنید، آن کتابخانه فقط در همان پروژه قابل استفاده است و برای استفاده در پروژه‌ی دیگر، بایستی در همان پروژه نیز دوباره کامپوزر اقدام به دانلود کتابخانه کند.

♦️ممکن است این سؤال برای شما پیش بیاید که ابزار کامپوزر پکیج‌های مورد نیاز را از کجا دانلود می‌کند؟!
♦️منبع اصلی که کامپوزر از آن استفاده می‌کند، سایتی تحت عنوان Packagist است که به عنوان مخزن (Repository) پیش‌فرض پروژه‌های PHP می‌باشد؛ که توسعه‌دهنندگان فریمورک‌ها و لایبرری‌های مختلف، پروژه‌های خود را در آنجا آپلود کرده و از آن پس با استفاده از کامپوزر می‌توان به کلیه‌ی پکیج‌های قرار گرفته روی این سایت دسترسی داشت.

♦️دریافت پکیج‌های وابسته، به صورت خوکار
♦️اگر شما با استفاده از کامپوزر، از یک پکیج برای پروژه خودتان استفاده کرده باشید و این پکیج نیازمند پکیج دیگری باشد؛ Composer بدون دخالت شما آن را دانلود میکند و در پروژه قرار می‌دهد. بدین صورت، شما به هیچ عنوان نگران وابستگی‌های کتابخانه‌هایی که از آن‌ها استفاده می‌کنید، نخواهید بود.

♦️مدیریت بارگزاری کلاس‌ها
♦️یکی دیگر از وظایف Composer، مدیریت بارگزاری کلاس‌ها می‌باشد و عملکرد آن به گونه‌ای است که تنها زمانی یک کلاس لود خواهد شد که شما در کد آن را فراخوانی کرده باشید؛ این امر تاثیر بسیار زیادی در سرعت لود پروژه‌ی شما خواهد داشت.

#آموزش
#درخواستی
@Botsorce
👍1
♦️ﮐﺪ php ﺁﭘﻠﻮﺩ ﻓﺎﯾﻞ ﺍﺯ ﻫﺎﺳﺖ ﺑﻪ ﻫﺎﺳﺖ

♦️ﺷﺎﯾﺪ ﺑﺮﺍﯼ ﺷﻤﺎ ﻫﻢ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺎﺩﻩ ﺑﺎﺷﻪ ﮐﻪ ﺑﻪ ﻫﺮ ﺩﻟﯿﻠﯽ ﻧﯿﺎﺯ ﺩﺍﺷﺘﻪ ﺑﺎﺷﯿﺪ ﻓﺎﯾﻠﯽ ﺭﻭ ﺍﺯ ﺭﻭﯼ ﻫﺎﺳﺘﯽ ﮐﭙﯽ ﮐﻨﯿﺪ ﺭﻭﯼ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ؛
♦️ﯾﺎ ﺍﺯ ﻫﺎﺳﺘﯽ ﺩﺭ ﺣﺎﻝ ﺩﺍﻧﻠﻮﺩﯾﺪ ﺳﺮﻋﺘﺶ ﺑﺴﯿﺎﺭ ﭘﺎﯾﯿﻨﻪ ﻓﺎﯾﻞ ﺭﻭ ﺑﺮﯾﺰﯾﺪ ﺭﻭﯼ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ ﻭ ﺑﺎ ﺳﺮﻋﺖ ﺧﻮﺏ ﺩﺍﻧﻠﻮﺩ ﮐﻨﯿﺪ؛
♦️ﯾﺎ ﺑﺮﺍﯼ ﻧﺼﺐ ﻧﺮﻡ ﺍﻓﺰﺍﺭﯼ ﻣﺜﻞ ﻭﺭﺩﭘﺮﺱ ﻭ ﺟﻮﻣﻼ ‏( ﮐﻪ ﺍﻭﻝ ﺑﺎﯾﺪ ﻓﺎﯾﻞ ﺭﻭ ﺩﺍﻧﻠﻮﺩ ﮐﻨﯿﺪ ﻭ ﺩﻭﺑﺎﺭﻩ ﺁﭘﻠﻮﺩ ﮐﻨﯿﺪ ‏) ﺍﯾﻦ ﺭﻭﺵ ، ﺭﻭﺷﯽ ﺑﯽ ﺩﺭﺩﺳﺮ ﻭ ﻣﻨﺎﺳﺒﻪ ﻭ ﻧﯿﺎﺯ ﺑﻪ ﺍﻧﺠﺎﻡ ﻫﯿﭽﮑﺪﻭﻡ ﺍﺯ ﺍﯾﻦ ﮐﺎﺭ ﻫﺎ ﻧﯿﺴﺖ ﻭ ﺍﺯ ﻫﻤﻪ ﻣﻬﻤﺘﺮ؛
♦️ﺳﺎﯾﺖ ﻫﺎﯼ ﺩﺍﻧﻠﻮﺩ ﻣﺜﻞ ﺭﭘﯿﺪﺷﯿﺮ ﻭ ﻓﻮﺭﺷﯿﺮ ﻭﻗﺖ ﺩﺍﻧﻠﻮﺩ ﺑﺮﺍﺗﻮﻥ ﻧﺎﺯ ﻣﯿﮑﻨﻦ ؟ ﺳﺮﻋﺖ ﺩﺍﻧﻠﻮﺩﺗﻮﻥ ﺭﻭ ﻣﺤﺪﻭﺩ ﻣﯿﮑﻨﻦ ؟ ﻓﺎﯾﻞ ﺭﻭ ﺍﻧﺘﻘﺎﻝ ﺑﺪﯾﺪ ﺑﻪ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ ، بعد ﺑﺎﺳﺮﻋﺖ ﻭﺍﻗﻌﯽ ﺩﺍﻧﻠﻮﺩﺵ ﮐﻨﯿﺪ

♦️ﺭﻭﺵ ﮐﺎﺭ
♦️ﯾﻪ ﻓﺎﯾﻞ ﺧﺎﻟﯽ ﺩﺭ ﻫﺎﺳﺘﺘﻮﻥ ﺑﺎ ﭘﺴﻮﻧﺪ ﭘﯽ ﺍﭺ ﭘﯽ ﺑﺴﺎﺯﯾﺪ
ﻣﺜﻼ : upload.php
♦️ﮐﺪ ﺯﯾﺮ ﺭﻭ ﺩﺍﺧﻠﺶ ﻗﺮﺍﺭ ﺑﺪﯾﺪ ﻭ ﻓﺎﯾﻞ ﺭﻭ ﺳﯿﻮ ﮐﻨﯿﺪ

<?php
if ($_GET[xfer]) {
if ($_POST[from] == "") {
print "You forgot to enter a url.";
} else {
copy("$_POST[from]", "$_POST[to]");
$size = round((filesize($_POST[to])/1000000), 3);
print "transfer complete.<br>
<a><a href="$_POST[from]">$_POST[from]</a><br>
<a><a href="$_POST[to]">$_POST[to]</a> : $size MB";
}
} else {
print "<form action="$PHP_SELF?xfer=true" method=post>
from(http://): <input name=from><br>
to(filename): <input name=to><br>
<input type=submit value="transload">";
}
?>


♦️ﺍﮔﺮ ﻓﺎﯾﻞ ﺭﻭ ﺩﺭ ﺭﯾﺸﻪ ﺍﺻﻠﯽ ﻫﺎﺳﺖ ﻗﺮﺍﺭ ﺩﺍﺩﯾﺪ ﻭ ﺍﮔﺮ ﺍﺳﻤﺶ ﻫﻢ ﻫﻤﻮﻧﻪ ﮐﻪ ﺩﺭ ﺑﺎﻻ ﮔﻔﺘﯿﻢ ﺑﻪ ﺍﯾﻦ ﺻﻮﺭﺕ ﺑﻪ ﺻﻔﺤﻪ ﺍﺵ ﺩﺳﺘﺮﺳﯽ ﭘﯿﺪﺍ ﻣﯿﮑﻨﯿﺪ

http://www.your-site-name.com/upload.php

♦️ﺩﺭ قسمت ﺍﻭﻝ ﺁﺩﺭﺱ ﮐﺎﻣﻞ ﻓﺎﯾﻠﺘﻮﻥ ﺭﻭ ﻭﺍﺭﺩ ﮐﻨﯿﺪ
ﻣﺜﻼ :
http://site-name.com/file-name.zip

ﻭ ﺩﺭ قسمت ﺩﻭﻡ ﻧﺎﻣﯽ ﮐﻪ ﻓﺎﯾﻞ ﺑﺎﻫﺎﺵ ﺩﺭ ﻫﺎﺳﺘﺘﻮﻥ ﺑﺎﯾﺪ ﺳﯿﻮ ﺑﺸﻪ ﺭﻭ ﻭﺍﺭﺩ ﻣﯿﮑﻨﯿﺪ؛
♦️ﺍﮔﺮ ﺩﻭﺳﺖ ﺩﺍﺷﺘﯿﺪ ﺑﺎ ﻫﻤﻮﻥ ﺍﺳﻢ ﻣﺜﻼ file-name.zip ﯾﺎ ﺍﮔﺮ ﺧﻮﺍﺳﺘﯿﺪ ﺑﺎ ﻫﺮ ﺍﺳﻢ ﺩﯾﮕﻪ ﺍﯼ؛
♦️ﻓﻘﻂ ﯾﺎﺩﺗﻮﻥ ﻧﺮﻩ ﮐﻪ ﭘﺴﻮﻧﺪﺵ ﺭﻭ ﺩﺭﺳﺖ ﻭﺍﺭﺩ ﮐﻨﯿﺪ ﮐﻪ ﻭﻗﺖ ﺍﺟﺮﺍ ﺑﻪ ﻣﺸﮑﻞ ﺑﺮ ﻧﺨﻮﺭﯾﺪ

♦️ﻧﮑﺘﻪ ۱ :
ﺍﺯ ﺍﯾﻦ ﻓﺎﯾﻞ ﻓﻘﻂ ﺩﺭ ﻣﻮﺍﻗﻊ ﺿﺮﻭﺭﯼ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﺪ؛ چون همونطور ﮐﻪ ﺷﻤﺎ ﻣﯿﺘﻮﻧﯿﺪ ﻓﺎﯾﻞ آﭘﻠﻮﺩ ﮐﻨﯿﺪ ﯾﻪ ﻫﮑﺮ ﻫﻢ ﻣﯿﺘﻮﻧﻪ ﻓﺎﯾﻞ ﺁﭘﻠﻮﺩ ﮐﻨﻪ؛ ﭘﺲ ﺍﮔﺮ ﻧﯿﺎﺯﯼ ﺑﻬﺶ ﻧﺪﺍﺭﯾﺪ ﺣﺘﻤﺎ ﺯﯾﭗ ﯾﺎ ﺣﺬﻓﺶ ﮐﻨﯿﺪ
♦️ﻧﮑﺘﻪ ۲ :
ﺍﮔﺮ ﻣﯿﺨﻮﺍﯾﺪ ﺍﺯ ﺳﺎﯾﺖ ﻫﺎﯼ ﺭﺍﯾﮕﺎﻥ ﻣﺜﻞ ﻓﻮﺭﺷﯿﺮﺩ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﺪ ﯾﺎﺩﺗﻮﻥ ﺑﺎﺷﻪ ﮐﻪ ﻟﯿﻨﮏ ﻓﺎﯾﻞ ﺭﻭ ﺑﺎﯾﺪ ﺑﺪﯾﺪ ﻧﻪ ﻟﯿﻨﮏ ﺻﻔﺤﻪ ﺭﻭ

♦️ﻧﮑﺘﻪ ۳ :
ﻓﺎﯾﻞ ﺩﺭ ﻫﻤﻮﻥ ﺟﺎﯾﯽ ﺳﯿﻮ ﻣﯿﺸﻪ ﮐﻪ ﺍﺳﮑﺮﯾﭙﺖ ‏( ﺍﯾﻦ ﮐﺪ ‏) ﻫﺴﺖ؛ ﺍﮔﺮ ﺩﺭ ﺭﯾﺸﻪ ﻫﺴﺖ ﻓﺎﯾﻞ ﻫﻢ ﻫﻤﻮﻧﺠﺎ ذخیره ﻣﯿﺸﻪ.

♦️امیدوارم که از این آموزش لذت برده باشید

#آموزش
#درخواستی
@BotSorce
♦️توابع ﮐﺎﺭ ﺑﺎ آﺭﺍﻳﻪ ﻫﺎ
ﺍﻳﻦ ﺗﺎﺑﻊ ﻳﮏ ﻣﺘﻐﻴﺮ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ ﻭ ﺑﺮرسی ﻣﻴﮑﻨﺪ ﮐﻪ آﻳﺎ ﻣﺘﻐﻴﺮ ﻳﮏ آﺭﺍﻳﻪ ﻫﺴﺖ ﻳﺎ ﻧﻪ
is_array ();

♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﻳﮏ ﺍﺭﺍﻳﻪ ﺭﺍ ﺩﺭﻳﺎﻓﺖ ﻣﻨﻤﺎﻳﺪ ﻭ ﮐﻠﻴﺪ ﻭﻣﻘﺪﺍﺭ ﻋﻨﺼﺮ ﺟﺎﺭﻱ ﺭﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
each();

♦️ﺗﻌﺪﺍﺩی متغیر ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ ﻭ ﻋﻨﺎﺻﺮ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ آﻧﻬﺎ ﺍﺧﺘﺼﺎﺹ ﻣﻴﺪﻫﺪ
ﺍﻳﻦ ﺗﺎﺑﻊ ﺗﻨﻬﺎ ﺑﺎ آﺭﺍﻳﻪ ﻫﺎی ﺍﻳﻨﺪﮐﺲ ﺩﺍﺭ ﮐﺎﺭ ﻣﻴﮑﻨﺪ
list();
ﻣﺜﺎﻝ :
$arr = array (a, b,c,c );
list( $a,$b ,$c) = $arr ;
echo $b; / /outpu b

♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﻣﮑﺎﻥ ﭘﻴﻤﺎﻳﺶ ﻋﻨﺎﺻﺮ آﺭﺍﻳﻪ ﺭﺍ ﻓﺮﺍﻫﻢ ﻣﻴﮑﻨﺪ ﻭ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﻥ ﺩﻳﮕﺮ ﻧﻴﺎﺯی ﺑﻪ ﺣﻠﻘﻪ ﻧﻴﺴﺖ
ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ . اولی ﻧﺎﻡ ﺍﺭﺍﻳﻪ ﻭﺩﻭمی ﻧﺎﻡ ﻳﮏ ﺗﺎﺑﻊ ﮐﻪ ﺑﻮﺳﻴﻠﻪ ﺍﻥ ﻋﻤﻞ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ ﺑﺮ ﺭﻭی ﻋﻨﺎﺻﺮ ﺍﻧﺠﺎﻡ ﺩﻫﺪ
array _walk ();

♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﻣﺮﺗﺐ ﮐﺮﺩﻥ آﺭﺍﻳﻪ ﻫﺎ ﺭﺍ ﺑﺮ ﻋﻬﺪﻩ ﺩﺍﺭﺩ
ﺩﺭ ﺍﻳﻦ ﺗﺮﺗﻴﺐ ﺍﻭﻝ ﺍﻋﺪﺍﺩ ﺑﻌﺪ ﻋﻼﻣﺘﻬﺎ ﻭﺩﺭ آﺧﺮ ﺣﺮﻭﻑ ﺭﺍ ﻣﺮﺗﺐ ﻣﻴﮑﻨﺪ
ﺑﻌﺪ ﺍﺯ ﺗﺮﺗﻴﺐ ﻋﻨﺎﺻﺮ ﺍﻳﻨﺪﮐﺲ ﺟﺪﻳﺪ ﻣﻴﮕﻴﺮﻧﺪ
sort();

♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﺮﺍی ﻣﺮﺗﺐ ﮐﺮﺩﻥ آﺭﺍﻳﻪ ﻫﺎی انجمنی ﺑﮑﺎﺭ ﻣﻴﺮﻭﺩ ﻭ ﺭﻭﺵ ﮐﺎﺭ ﺍﻭ ﻣﺎﻧﻨﺪ ﺗﺎﺑﻊ قبلی ﺍﺳﺖ
ﺩﺭ ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﻳﻨﺪﮐﺲ های آﺭﺍﻳﻪ ﺗﻐﻴﻴﺮ ﻧﻤﻴﮑﻨﺪ
asort ();

♦️ﺍﻳﻦ ﺗﺎﺑﻊ آﺭﺍﻳﻪ های انجمنی ﺭﺍ ﺑﺮ ﺍﺳﺎﺱ ﮐﻠﻴﺪهای ﺍﻥ ﻣﺮﺗﺐ ﻣﻴﮑﻨﺪ
ksort ();

ﺍﻳﻦ ﺗﺎﺑﻊ ﮐﻠﻴﺪﻫﺎ ﻳﺎ ﺍﻧﺪﮐﺲ های ﺍﺭﺍﻳﻪ ﺭﺍ برای ﻭﺟﻮﺩ ﮐﻠﻴﺪ ﻣﻮﺭﺩ ﻧﻈﺮ بررسی ﻣﻴﮑﻨﺪ.ﺩﻭ ﺍﺭﮔﻮﻣﺎﻥ ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﺗﺮﺗﻴﺐ ﻧﺎﻡ ﮐﻠﻴﺪ ﻭ ﻧﺎﻡ آﺭﺍﻳﻪ ﺍﺳﺖ
array _key_ exists ();

♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﺭﺍﻳﻪ ﺭﺍ برای ﻣﻘﺪﺍﺭ خاصی ﺟﺴﺘﺠﻮ ﻣﻴﮑﻨﺪ ﻭﺩﺭ ﺻﻮﺭﺕ ﭘﻴﺪﺍ ﮐﺮﺩﻥ ﻣﻘﺪﺍﺭ ﻣﻮﺭﺩ ﻧﻈﺮ , ﮐﻠﻴﺪ آنرا ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
ﺩﻭ ﺍﺭﮔﻮﻣﻨﺖ ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﺗﺮﺗﻴﺐ ﻣﻘﺪﺍﺭ ﻣﻮﺭﺩ ﻧﻈﺮ ﻭﻧﺎﻡ آﺭﺍﻳﻪ ﺍﺳﺖ
array _search ();

ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﺎﻥ ﺩﺭﻳﺎﻓﺖ ﻭﮐﻠﻴﺪﻫﺎی آﻧﺮﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
array _keys ();

ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﺎﻥ ﺩﺭﻳﺎﻓﺖ ﻭﻣﻘﺪﺍﺭﻫﺎی آﻧﺮﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
array _values ();

♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺗﻌﺪﺍﺩ ﻋﻨﺎﺻﺮ ﻣﻮﺟﻮﺩ ﺩﺭ ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
count ();

ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﺎﺧﺘﺎﺭﻫﺎی ﺗﮑﺮﺍﺭ ﺟﻬﺖ ﭘﺮﺩﺍﺭﺵ ﻋﻨﺎﺻﺮ آﺭاﻳﻪ
foreach ();
ﻣﺜﺎﻝ :
$arr= array (a,b, c,c);
foreach ($arr as $val );
echo $val;

♦️ﺗﺮﮐﻴﺐ ﺩﻭ ﻳﺎ ﭼﻨﺪ آﺭﺍﻳﻪ ﺑﺎ ﻫﻢ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ
ﺍﺭﮔﻮﻣﺎﻥ ﻫﺎی ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﻳﺎ ﭼﻨﺪ آﺭﺍﻳﻪ ﺍﺳﺖ
array _merge ();

♦️ﺍﺿﺎﻓﻪ ﮐﺮﺩﻥ ﻳﮏ ﻳﺎ ﭼﻨﺪ ﻣﻘﺪﺍﺭ ﺑﻪ آﺭﺍﻳﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ
ﺍﺭﮔﻮﻣﺎﻥ ﺍﻭﻝ ﺍﻥ ﻧﺎﻡ ﻳﮏ ﺍﺭﺍﻳﻪ ﻭ ﺍﺭﮔﻮﻣﺎﻧﻬﺎی ﺑﻌﺪی ﺑﻪ ﻫﺮ ﺗﻌﺪﺍﺩ ﻋﻨﺎﺻﺮی ﺭﺍ ﻣﺸﺨﺺ ﻣﻴﮑﻨﺪ ﮐﻪ ﺑﺎﻳﺪ ﺍﺿﺎﻓﻪ ﺷﻮﻧﺪ
array _push ();

♦️ﺑﺎ ﺍﻳﻦ ﺗﺎﺑﻊ ﻣﻴﺘﻮﺍﻥ ﺍﻭﻟﻴﻦ ﻋﻨﺼﺮ ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺣﺬﻑ ﮐﺮﺩ
array _shift ();

♦️ﺑﺎﺯﻳﺎبی بخشی ﺍﺯ ﻳﮏ آﺭﺍﻳﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ.ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﺍﺭﮔﻮﻣﺎﻥ ﺿﺮﻭﺭی ﻭ ﻳﮏ ﺍﺭگوﻣﺎﻥ ﺍﺧﺘﻴﺎﺭی ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ
ﺍﺭﮔﻮﻣﺎﻧﻬﺎ ﺑﺘﺮﺗﻴﺐ ﻧﺎﻡ آﺭﺍﻳﻪ , ﻣﻮﻗﻌﻴﺖ ﺷﺮﻭﻉ ﻭﻃﻮﻝ ﺑﺨﺶ ﻣﻮﺭﺩ ﻧﻈﺮ.ﮐﻪ ﺍﮔﺮ ﺍﺭﮔﻮﻣﻨﺖ ﺳﻮمی ﻣﺸﺨﺺ ﻧﺸﻮﺩ ﺑﺨﺶ ﻣﻮﺭﺩ ﻧﻈﺮﺍﺯ ﻣﻮﻗﻌﻴﺖ ﺷﺮﻭﻉ ﺗﺎ ﺍﻧﺘﻬﺎی آﺭﺍﻳﻪ ﻓﺮﺽ ﻣﻴﺸﻮﺩ
array _slice ();

#آموزش
#درخواستی
@BotSorce
♦️ﺩﺭ ﺍﯾﻦ ﭘﺴﺖ ﻗﺼﺪ ﺩﺍﺭﻡ ﭼﻨﺪ ﺳﺮﻭﺭ ﺭﺍﯾﮕﺎﻥ ﺑﺮﺍﯼ ﺭﺍﻥ ﮐﺮﺩﻥ ﺭﺑﺎﺕ ﻫﺎﯼ ﺗﻠﮕﺮﺍﻡ ﻣﻌﺮﻓﯽ ﮐﻨﻢ
♦️ﺍﯾﻦ ﺳﺮﻭﺭ ﻫﺎ ﭘﺎﯾﺪﺍﺭﯼ ﺯﯾﺎﺩﯼ ﻧﺪﺍﺭﻧﺪ ﻭ ﺣﺪﺍﮐﺜﺮ 2 ﺳﺎﻋﺖ ﺁﻧﻼﯾﻦ ﻫﺴﺘﻨﺪ
ﻭ ﺍﮐﺜﺮﺍ ﺑﺮﺍﯼ ﺗﺴﺖ ﺳﻮﺭﺱ ﯾﺎ ﺭﺑﺎﺕ ﺍﺯ ﺍﯾﻨﮕﻮﻧﻪ ﺳﺮﻭﺭﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯿﮑﻨﻨﺪ

♦️ﻣﻌﺮﻓﯽ ﺳﺎﯾﺖ ﻫﺎﯼ ﺍﺭﺍﺋﻪ ﺩﻫﻨﺪﻩ ﺳﺮﻭﺭ ﺭﺍﯾﮕﺎﻥ :

#1
codeny
https://codenvy.com/

#2
codeanywhere
https://codeanywhere.com/

3#
cloud9
https://c9.io

#4
koding
https://www.koding.com/

#5
sourcelair
https://www.sourcelair.com/trial-expired

6#
nitrous
https://www.nitrous.io

@Botsorce
♦️اضافه شدن امکان https رایگان و خودکار در cPanel

♦️در نگارش ۶۰ پنل cPanel که به تازگی منتشر شده است ویژگی مهم و بزرگی افزوده شده است. این ویژگی که به گفته توسعه‌دهندگان cPanel مدت زیادی برای طراحی و برنامه‌نویسی آن صرف شده است، AutoSSL نام دارد.



♦️AutoSSL
چیست ؟

♦️پشتیبانی از پروتکل امن https برای رمزگزاری ارتباط میان بازدیدکنندگان سایت و سرور خدمت‌رسان طراحی و اجرا شده است. خرید گواهی امنیتی و نصب و فعال‌سازی آن روی دامنه‌های مختلف علاوه بر نیاز به تخصص، به انجام تنظیمات و مراحل مختلفی نیز نیازمند است. همچنین در زمان تمدید سالیانه گواهی امنیتی نیز انجام فرآیندهای خاصی مورد نیاز است.

♦️AutoSSL
انجام تمامی مراحل فوق را بدون نیاز به متخصص امنیتی و کاملا خودکار به انجام می‌رساند. علاوه بر این پشتیبانی از گواهی امنیتی رایگان Let’s Encryptدر این افزونه‌ی cPanel پیاده‌سازی شده است. به این معنی که دریافت، نصب و تمدید گواهی امنیتی برای دسترسی به سایت از طریق پروتکل https به رایگان و کاملا خودکار و بدون نیاز به تنظیمات دستی به انجام می‌رسد.

♦️محدودیت‌های AutoSSL چه هستند ؟

♦️این سرویس به دلیل انجام خودکار تمامی فعالیت‌های لازم در این بخش، ممکن است در برخی مواقع کارایی مورد نظر برای تعداد محدودی از سایت‌ها را نداشته باشد. برخی از این محدودیت‌ها عبارتند از:

♦️هر حساب کاربری cPanel از ۲۰۰ دامنه برای فعال‌سازی SSL پشتیبانی می‌کند. این محدودیت برای سرویس Let’s Encrypt، کمتر از این مقدار و برابر ۱۰۰ دامنه در هر حساب کاربری است.فعال‌سازی SSL تنها برای دامنه‌هایی که مالکیت آن‌ها از طریق DCV تایید شود قابل فعال‌سازی خواهد بود.به ازای هر دامنه، به صورت خودکار زیردامنه‌ی www نیز رمزگزاری می‌شود. این زیردامنه جزء محدودیت‌های موجود در بخش قبل به حساب خواهد آمد.
♦️رمزگزاری زیردامنه‌های Proxy یا Wildcard توسط AutoSSL به انجام نمی‌رسد.دامنه‌هایی که پیش از این به صورت دستی برایشان گواهی امنیتی ثبت شده باشد، در AutoSSL نادیده گرفته می‌شوند.سرویس Let’s Encrypt برای هر دامنه و زیرمجموعه‌های آن حداکثر ۵ گواهی در هفته صادر می‌کند.

♦️مزایای استفاده از https یا SSL

♦️فعال‌سازی SSL روی دامنه‌های سایت سبب ایجاد چند مزیت برای سایت خواهد شد:

♦️جلوگیری از مشاهده و سرقت اطلاعات شخصی کاربران و اطلاعات دریافتی و ارسالی به کاربران توسط شبکه‌های واسطبهبود رتبه سئو سایتامکان استفاده از برخی ویژگی‌های مرورگرهای مدرن مانند مکان جغرافیاییافزایش اعتبار سایت نزد مراجعه کنندگان

♦️فعال‌سازی AutoSSL روی هاست

♦️این ویژگی به دلیل تازه بودن و ناآشنایی بسیاری از میزبان‌های اینترنتی با آن، ممکن است هنوز در تعداد زیادی از میزبان‌های اینترنتی در دسترس نباشد، همچنین به دلیل رایگان بودن، ممکن است تهدیدی برای کسب درآمد از طریق واسطه‌گری فروش گواهی امنیتی به حساب آید. بنابراین پیش از تهیه‌ی هاست با پشتیبانی تماس گرفته و از فعال یا غیرفعال بودن آن اطمینان کسب نمایید

@Botsorce
👍2
@BotSorce

♦️دانلود سایت w3school بصورت آفلاین برای یادگیری طراحی وبسایت با زبان های مختلف php و html و ...
♦️از زیپ خارجش کنید و روی رم گوشیتون یا هر جایی که فضای خالی به اندازه کافی دارید،بریزید.
♦️بعد از اینکه بطور کامل اکسترکت کردید،میتونید کل سایت w3school رو بصورت آفلاین توی گوشیتون داشته باشید و از آموزشهای فوق العاده این سایت لذت ببرید
♦️گمون نمیکنم چنین فایلی از این سایت،قبل از این تو تلگرام ارسال شده باشه،یا حداقل شخصا ندیدم...اگر دیدید به ما هم خبر بدید....

♦️صرفا جهت اطلاع:

💯منبع یادت نره بچه

@BotSorce
https://t.me/joinchat/AAAAAERhZ1wDtKstt8Md_Q
♦️سورس ربات آپلود فایل روی هاست،با دادن لینک فایل به ربات،با محدودیت
♦️در آخر هم فایل رو براتون ارسال میکنه،هم آدرسی که روی هاستتون آپلود شده
♦️درصورتیکه نمیخواید این فایل آپلود شه و فقط با ارسال لینک،فایل رو واستون بفرسته و بعدش فایل رو پاک کنه و آدرس فایل رو هم نفرسته...پست بعدی رو کلا کپی کنید و جایگزین این سورس کنید.

@BotSorce
<?php
ini_set('memory_limit', '1024M');
define('API_KEY','توکن');
$telegram = json_decode(file_get_contents('php://input'),true);
$user_id =
$telegram['message']['chat']['id'];
$url = $telegram['message']['text'];
if($url == "/start"){
bot(
'sendMessage', [
'chat_id'=> $user_id,
'text'=> 'سلام خوش آمدید . لطفا لینک فایل مورد نظر را ارسال کنید .',
]);
}else{
if(filter_var($url, FILTER_VALIDATE_URL)){
bot('sendMessage', ['chat_id'=> $user_id,'text'=> 'در حال آپلود فایل ...']);
if(remote_file_size($url) < 50){
$fileName = upload($url);
send_file( $user_id , $fileName);
}
}
}
function bot($method,$datas=[]){
$url = "https://api.telegram.org/bot".API_KEY."/".$method; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_POSTFIELDS,$datas);
$res = curl_exec($ch);
if(curl_error($ch)){
var_dump(curl_error($ch));
}else{
return json_decode($res);
}
}
function remote_file_size($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
$data = curl_exec($ch);
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($ch);
return round(($size/1024)/1024);
}
function upload($url){
$filename= preg_replace('/\\?.*/', '', basename($url));
$to = "files/".$filename; $data=file_get_contents($url);
if($data===false)
return false;
else{
file_put_contents($to,$data);
return $filename;
}
}
function send_file( $user_id , $fileName){
$url= "https://api.telegram.org/bot".API_KEY."/sendDocument?chat_id=$user_id";
$post = array(
"document" => new CURLFile(realpath('files/'.$fileName))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_exec($ch);
unlink('files/'.$fileName);
}
?>


♦️ مربوط به پست قبلی
@BotSorce
#آموزش

♦️برای ارسال یک پیام با دکمه با استفاده از ربات به کانالتون نیاز به سرور ندارید .

♦️ابتدا یک ربات بسازید و اون رو به کانالتون اضافه کنید و ادمینش کنید ( برای افزودن به کانال در بخش administrators بروید و شناسه ربات رو جست جو کنید)

♦️حالا یک فایل بسازید و کد زیر رو در آن قرار دهید .

♦️عبارت های
@channelname
♦️رو به شناسه کانالتون ( با @ ) و
Token_here
♦️ توکن رباتتون در خط های 20 و 3 تغییر بدید .

♦️حالا فایل php رو در لوکال هاست یا با کامند php اجرا کنید

<?php

define('API_KEY','Token_Here');

function makeHTTPRequest($method,$datas=[]){
$url = "https://api.telegram.org/bot".API_KEY."/".$method;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($datas));
$res = curl_exec($ch);
if(curl_error($ch)){
var_dump(curl_error($ch));
}else{
return json_decode($res);
}
}

var_dump(makeHTTPRequest('sendMessage',[
'chat_id'=>'@channelname',
'text'=>"یک متن تست",
'parse_mode'=>'HTML',
'reply_markup'=>json_encode([
'inline_keyboard'=>[
[
['text'=>"botsorce",'url'=>'https://t.me/botsorce']
]

]
])
]));
?>


♦️به همین راحتی،بدون درد و خونریزی.
♦️میتونید در کنارش قابلیت ارسال پیام در زمان های مشخص رو هم اضافه کنید که واسه این قابلیت قبلا تو کانال زیاد توضیح دادیم.
♦️امیدواریم از این آموزش لذت برده باشید

#کپی این آموزش ها برای همه #آزاد میباشد
#بجز اون تعداد اندکی که خودشون می دونن کی هستن.

@BotSorce
#تکمیلی_پست_قبل

♦️چند نفر نخاله ای که حتی تو تایپ فارسی غلط املائی دارن ولی در کمال پر روئی و وقاحت ادعای برنامه نویسی دارن.
♦️طرف صحبتم با این به اصطلاح شاخهای لقب دار برنامه نویس تلگرامه
♦️بچه مدرسه ای،تو با کاری که داری میکنی،فقط داری سر اعضای کانالت کلاه میذاری،متأسفانه ملت همیشه در صحنه و بلانسبت سرخوش و روانپاکی هم داریم که ۲۴ ساعته میلولن تو کانالهایی که ادمینهاش حتی قادر به نوشتن یه سورس عادی که فقط جواب کاربر رو بده هم نیستن...البته مگه اینکه موقع تایپ،یا کپی کنن،یا از رو بنویسن(یه برنامه نویس به برق هم وصلش کنی،امکان نداره این کار رو نمیکنه)
♦️بچه...پاتو کج بذار و دوباره پست بدزد از اینور اونور،تا کاری کنم آخرین باری باشه که این دزد بازیا رو در میاری.
♦️کل کل با فنچ جماعت،حوصله میخواد که اینجا هیچکدوم از ادمینهاش،این یه قلم رو ندارن....
♦️اینکه زوم شدم روت،فکر نکن بزرگی،اسب آبی و گورخر ماده و گوریل هم بزرگن همه شون...
دلیل زوم شدنم....
اون بی ادبی که سری اول داشتی.
♦️کلیپی که خودت پیچونده بودی و بدون منبع زدی،یا حالا هر داستانی،واسه خودت نبود و ثابت شد....
♦️اونوقت بی ادبی ، که گویا تو خونواده ت یه چیز خیلی عادیه،حواله ادمین من کردی.
♦️اگه تو خونواده بزرگ میشدی،اون طرز حرف زدنت نبود،با کسی که تو طویله بزرگ شده،باید مثل حیوونهایی که تو طویله هستن،رفتار کرد.
♦️هنوز اون حرکتی که باید .... رو ، روت پیاده نکردم...
♦️حواست خیلی جمع باشه،من هیچوقت بی ادبی نمیکنم،چون تو فضای مجازی،هر کی داد و بیداد زیاد میکنه و میخواد خودی نشون بده،از این حرکات و الفاظ استفاده میکنه که یه بچه سه ساله هم میتونه انجامش بده.
♦️من بی ادبی نمیکنم،چون کاری که میکنم با خودکار و کاغذه...(خودکار زورش از خیلی چیزا بیشتره بچه)
♦️چند بار هم سورسهای همینجا رو اول و آخرشو ادیت کردی و زدی به نام خودت،ولی حواست به وسط و بقیه جاهای سورس نبود که ادیت کنی و #به_همه_ثابت_شد اونی که میخواد ادای برنامه نویس های رو در بیاره،کیه...
♦️همین روزها،احتمالا لیست میکنم که چند تا کانال،آموزشها و سورسهای کانال ما رو تو کانالشون فرستادن،ولی حتی یکبار هم اسمی ازشون نبردم و کاری هم باهاشون ندارم،می دونی چرا؟چون حتی اگه فکر میکنن زرنگ هستن،مؤدبن...بی ادبی نمیکنن که سورس رو از اینجا بردارن،بعد تو کانال خودشون ناسزا بنویسن واسه ما...
♦️خیلی جالبه ...وقتی آب سربالا بره،غورباقه(قورباغه) هم ابوعطا میخونه...
♦️با هیچکس که سورس میبره یا آموزش میبره ، کاری ندارم،ولی با تو یکی خیلی کار دارم.اصلا هم فکر نکن زرنگی،آمار تک تک اکانتها و بقیه کانالهایی که ادمین هستی رو هم دارم بچه ها درآوردن،آمار بیشتر باشه واسه وقتی که فکر کردی شوخیه این داستان...(البته شوخی واسه تو محسوب میشه،از اون بعد واسه ما جدی میشه....اصلا فکرشم نکن که جرمی مرتکب نشدی،چون قبل از کل کل با من،چند نفری شکایتتون رو کتبا ارسال کردن.جرایم سایبری یه خورده پیچیده ست،فکر میکنی کاری نکردی،ولی ...
♦️ فعلا باهات کار دارم،منتظرم....چون ۱% شاید همین روال،باعث بشه دیگه به کسی بی ادبی نکنی.(بستگی به گزارش بچه ها داره)
♦️با بی ادبی،کسی بزرگ نشده و نخواهد شد،طرف قمه شو فروخته،کراوات خریده بچه...
♦️حواست به پستهای کانالت باشه،چون اولین سین هایی که پستت میخوره،بچه های خودمونن.
♦️واسه آدم شدن،هیچوقت دیر نیست
♦️راه درست،آخرش شیرینه،ولی راه اشتباه،دقیقا نقطه مقابل راه درسته
♦️خودت انتخاب کن
#یا_علی
♦️دیگه بحث فیلترینگ توی ایران عادی شده و ...
بگذریم

♦️طبق درخواستهای خیلی از دوستان میخوایم ساخت ربات در پیامرسان گپ رو آموزش بدیم

♦️اما اگر بخوایم یک نگاه کلی به پیام رسان های داخلی داشته باشیم گپ تنها پیام رسانی هست که API ایی عمومی داره و میشه با امکانات محدودش سرویس هایی رو پیاده کرد
♦️اول از همه بگم که منظورم از پیامرسان گپ gap.im هست نه پیام رسان IGap .

♦️محدودیت های این API

♦️متاسفانه این API بسیار ضعیف است و در مقابل امکاناتی که تلگرام به ما می دهد قابل قیاس نیست.
♦️صرفا می تونیم پیام دریافت کنیم و پیام ارسال کنیم .
♦️خبری از Deep Linking و بررسی عضویت توی کانال و مدیریت گروه یا کانال با سرویس نیست … چون منطق سرویس های گپ کاربر محور است.
♦️یعنی یک سرویس ما داریم که کاربر عضو اون می شه و با آن کاربر تعامل میکنه !
♦️حالا با اضافه کردن یک پنل برای ارسال پیام همگانی خواستند کار ما را ساده تر کنند ولی کلا نیازی نبود
♦️بیاید یک سرویس پیاده سازی کنیم
♦️متاسفانه امنیت در پیام رسان های داخلی بحث مهمی انگار نبوده چون شما به راحتی بدون نیاز به ssl می تونید یه Webhook در سرویس های این پیامرسان تعریف کنید .یعنی کلا ssl نیازی نداره...
♦️پس اگر یک هاست و دامنه معمولی داشته باشید میتونید یک سرویس پیاده سازی کنید.
♦️من از لوکال هاست و Ngrok استفاده میکنم .
♦️ابتدا باید وارد بخش Developer های Gap شویم . برای اینکار به آدرس 
https://developer.gap.im
بروید و با اطلاعات حساب کاربری گپ تان وارد پنل بشید .
♦️خود گپ یک سری سرویس از قبل ساخته شده مثل فروشگاه ساز و آزمون ساز آماده کرده ( که بنظر من کار حرفه ایی نیست ) که میتوان از آن ها استفاده کرد .
♦️برای اینکه سرویس جدیدی اضافه کنید در پنل سرویس ها روی گزینه ایجاد سرویس کلیک کنید.
♦️خب با یک فرم بلند بالا برخورد میکنیم که باید همت کنیم و پرش کنیم !
من میخواهم یک سرویس پیاده سازی کنم که آدرس پیج اینستاگرام را بگیره و عکس پروفایل شخص را ارسال کنه .
♦️برای این کار فرم رو طبق اطلاعاتی که میخواهم پر میکنم .
♦️نوع سرویس ما تعاملی است . و در بخش لینک خارجی باید آدرس وب هوکمون رو وارد کنیم . ( مثل متد setWebhook تلگرام )
برای اینکار من تانل روی پورت 8283 با استفاده از ngrok آماده میکنم که بعدا وب سرور php رو روی همین پورت اجرا کنم و به عنوان وب هوک ازش استفاده کنم .
ngrok http 8283

خروجی باید همچین چیزی بشه
Forwarding http://b7c17272.ngrok.io -> localhost:8283
♦️پس آدرس 
http://b7c17272.ngrok.io
را به عنوان لینک خارجی به سرویس میدم .
♦️بخش مهم این فرم سایر تنظیماتشه!! چون اگر متن پیام خوش آمد گویی را پر نکنید گپ به باگ میخوره و کلا کسی نمیتونه سرویس شما را استارت کنه.
♦️البته سایت در صورت عدم وارد کردن پیام خوش آمد گویی به شما ارور نشان نمیده که لطف میکنه.
♦️خب،وقتی ذخیره رو زدید به شما یک API KEY مثل توکن های تلگرام میده که باید اون رو در جای امنی نگه دارید و دست کسی ندید.

✍🏼یک طوطی بنوسیم !

♦️واسه آشنا شدن بیشتر با وب سرویس گپ اول یک ربات طوطی بنویسیم!نظر مثبتتون چیه؟
♦️که هر چی گفتن ما هم همونو در جوابشون بگیم.
♦️یک پروژه جدید بسازید و اون رو روی پورت 8283 بالا بیارید :
php7.0 -S localhost:8283

♦️خب حالا اگه از ngrok استفاده میکنید با باز کردن آدرس 
http://127.0.0.1:4040
می تونید تک تک پیام های جدیدی که از طرف ربات میاد رو ببینید .
♦️اول برای تست،ربات رو توی گپ استارت کنید .
♦️یه همچین درخواست HTTP ایی برای ما ارسال می شه .
POST / HTTP/1.1
content-type: application/x-www-form-urlencoded
host: b7c17272.ngrok.io
content-length: 25
X-Forwarded-For: 77.238.120.242
chat_id=XXX&type=join

♦️یعنی ما به صورت POST هم type و هم chat_id را دریافت میکنیم .

♦️اگه وارد آدرس 
https://developer.gap.im/documents/api/
بشید میتونید تایپ های مختلف و ساختاری که پیام ها برای ما ارسال می شه را متوجه بشید که چی به چیه .

♦️گپ منطق خوبی برای سرویس هاش پیاده نکرده (‌ اگر لازم بود تو یه پست جداگانه تمام مشکلاتی که به نظر من هستن با راه حل هاشون رو می نویسم ) ولی کلا از این کارش که تایپ join داریم خوشم اومد ! دیگه نیازی نیست هر بار چک کنیم طرف عضو ربات بوده قبلا یا نه

♦️خب حالا یک پیام درون ربات ارسال کنید . برای مثال من می نویسم تست .
♦️چنین POST ایی برای من ارسال شد :

chat_id XXX
data   تست
from   {"id":XXX,"name":"امیر","user":""}
type   text

♦️خب میدونیم چه کاربری چه متنی رو برای ما ارسال کرده .

if($_POST['type'] == 'text'){

    $chat_id = $_POST['chat_id'];
    $text = $_POST['data'];
}
♦️حالا باید $text را برای $chat_id ارسال کنیم .

#ادامه_در_پست_بعد
👍1