سلسلة برمجة بوتات تيليجرام
586 subscribers
3 photos
2 videos
6 links
• قناة لتعلم لغه البرمجه php من الصفر
• تنزيل اكواد برمجيه مدفوعه واستضافات مجانا
• سورسات وملفات بوتات بلغه phpوpy
• بوت استضافه ملفات : @avsjdkxbot
- المطور { @abdo_1 }
Download Telegram
$update = json_decode(file_get_contents('php://input'));
$message = $update->message;
$message_id = $update->message->message_id;
$chat_id = $message->chat->id;
$text = $message->text;
if (preg_match('/^مسح\s+\d+$/', $text)) {
preg_match('/\d+/', $text, $matches);
$count = intval($matches[0]);
for ($i = 0; $i < $count; $i++) {
bot('deleteMessage', [
'chat_id' => $chat_id,
'message_id' => $message_id - $i,
]);
}
}

دا كود من ملف الحمايه الي بعمله
تكتب مسح + عدد الرسايل ال عايز تمسحها
كود سهل جدا
خاص ب @Abdo_1
كل ال طالبه دعوه حلوه عشان داخل على امتحانات
1❤‍🔥1👍1
#الاساسيات_5

المتغيرات (VARIABLES)

اي هيا المتغيرات و اي فايدتها وليه هيا مهمه؟ 🤨

المتغيرات دي بتبقا عباره عن حاجه زي صندوق احنا بنسميه ب اسم من عندنا وبنحطله قيمه من اي انواع للبيانات الي شرحناها المره ال فاتت مثلا كلمه او رقم او حرف او اي نوع من انواع البيانات.

طب اي هيا فايدتها؟ 🤔

افرض عندنا اسم مثلا ahmed كتبناه ف 50 مكان ف الكود وعايزين نغيره ل mohamed.. بكدا هنفضل ندور على كلمة ahmed ف الكود كله ولو الكود الف سطر هيبقا صعب جدا. والمتغيرات حلتلنا المشكله دي بحيث ممكن نغير كلمة ahmed ونحط متغير الي عايزينه مكان الاسم مثلا:
$name = 'ahmed';

كدا ممكن نحط $name مكان ahmed ف اي حته ف الكود وهيظهر ahmed. ولو عايزين نخليه mohamed ف الكود كله هنغير بس المتغير ونخليه كدا:
$name = 'mohamed';

وبكدا هيظهر mohamed ف الكود كله من غير تعب.

ناخد مثال تاني عشان نفهم اكتر 🫤

لو عندنا كود بيحسب مساحة مستطيل:
$length = 5;
$width = 10;
$area = $length * $width;

دلوقتي لو عايزين نغير الطول من 5 لـ 7، مش هنضطر ندور على كل مكان كتبنا فيه الطول. هنغير بس قيمة المتغير $length:
$length = 7;

وبكدا الكود كله هيتحدث تلقائيًا.

ازاي نستخدم المتغيرات؟

- لازم نسمي المتغير بإسم مفهوم عشان نعرف نرجعله بعدين. الاسم ممكن يكون اي حاجه بس الافضل يكون بيعبر عن المحتوى الي هيحمله.
- لازم نستخدم علامة $ قبل اسم المتغير زي كدا $name.
- لازم نحط القيمه بين علامتين تنصيص (لو الكلمه او الجمله) او بدون (لو رقم).

مثال توضيحي:

افرض عندنا موقع بنبيع فيه منتجات وعايزين نخزن اسم المنتج وسعره:
$productName = "Laptop";
$productPrice = 15000.50;

هنا عندنا متغيرين:
- $productName بيخزن اسم المنتج.
- $productPrice بيخزن سعر المنتج.

لو حبينا نعرض المعلومات دي للمستخدم:
echo "The product is " . $productName . " and it costs " . $productPrice . " EGP.";

وده هيظهر لنا:
The product is Laptop and it costs 15000.50 EGP.

ملحوظة مهمه:

- اسم المتغير مينفعش يبدأ برقم، يعني مينفعش نسميه 5product.
- مينفعش نحط مسافات في اسم المتغير، ممكن نستخدم underscore (_) او camelCase زي: product_name او productName.

وده كان شرح مبسط للمتغيرات.
المره الجايه هنتكلم عن الجمل الشرطيه (if) وازاي في تنفيذ الكثير من العمليات. 🥰

اتمنى تكونوا استفدتوا واستمتعتوا بالشروحات البسيطه دي، واشوفكم المره الجايه مع درس جديد.
4👍4🥰2❤‍🔥1🔥1😁1😍1
#الاساسيات_6

الجمل الشرطيه ( if/else )

سؤالنا الطبيعي ال بنساله دايما اي هيا الجمل الشرطيه وليه هيا مهمه جدا ف البرمجه

هناخد مثال بسيط ونبني عليه
تعالوا نتخيل ان الكمبيوتر دا انسان واحنا عايزينه يطبخ كيكه
هنقول اي للكمبيوتر ؟

1- حط الكيكه في الفرن
2- لما الكيكه تستوي طلعها من الفرن وسيبها تبرد


ملاحظ الامر التاني ؟
الامر التاني دا عباره عن شرط (if) بيقول للكمبيوتر بالتفصيل
لو الكيكه استوت طلعها وسيبها تبرد ولو لسه سيبها لحد ما تستوي
طب ما نيجي نجرب نكتب الشرط بالبرمجه
if ( الكيكه استوت ) {
// طلعها من الفرن وسيبها تبرد
} else {
// سيبها شويه كمان
}

الشرط دا بالتفصيل بيقول للكمبيوتر لو الكيكه استوت يطلعها من الفرن ويبردها
ولو الشرط متحققش يعني الكيكه مستوتش يسيبها شويه

طب دلوقتي عرفنا ممكن نستخدم الشروط ازاي دلوقتي لازم نعرف اي اهميتها
الجمل الشرطيه ممكن تبقا هيا اساس عمل البرنامج بتاعك او اكتر حاجه البرنامج معتمد عليها

مثلا لو التيليجرام عايز يعمل ميزه معينه زي ان هو ميخليش حد يقدر يتكلم في الجروب الا لو هوا عضو فيه يعمل كدا ازاي ؟
بالضبط كدا زي ما انت بتفكر هيتحقق اذا كان منضم للجروب ولا لا وبعدين يتعامل
مثلا الكود هيبقا كدا
if ( منضم للجروب ) {
// اسمح له بالتحدث
} else {
// لا تسمح له بالتحدث
}

الشرط شغال كـ الاتي
اذا كان العضو منضم للجروب
يسمح له بالتحدث
ولو لم يتحقق الشرط فإنه لا يسمح له بالتحدث

وبكدا تقدر تعمل ملايين الجمل الشرطيه الي تقدر تستفاد بيها في الكود بتاعك وتبني برنامج متكامل


وبكدا خلصنا الاساسيات العامه والباقي هيبقا تخصص لغات وكلهم مختصين ببوتات التيليجرام فقط

اشوفكم على خير
👍6🔥42❤‍🔥1🥰1🌚1
#PHP_1
نبتدي بلغة php ونقول بسم الله

مقدمة خفيفة عن لغة php

كلمة "PHP" اختصار لـ "Hypertext Preprocessor" وتعتبر واحدة من أكتر لغات البرمجة استخدامًا في تطوير الويب "المواقع الإلكترونية".
واللغة دي كانت معمولة في الأول عشان تعالج النصوص HTML. دلوقتي بقت تستخدم في كتير من المواقع المشهورة زي فيسبوك وويكيبيديا، وغيرها كتير.

ولغة php سهلة جدًا، وإحنا استغليناها في عمل بوتات التليجرام البسيطة والمتطورة.

طب إزاي تعمل بوت تليجرام بلغة مخصصة للويب "المواقع الإلكترونية"؟
ممكن نجاوب السؤال دا بالاجابه على سؤال تاني قريب بردو

ازاي php بتتواصل مع الخدمات الخارجية أساسا زي فيسبوك وويكيبيديا؟

طريقة التواصل بتبقى عن طريق طلبات "HTTP" او "HTTPS".
خلينا نشرح الموضوع دا بمثال بسيط بعيد عن البرمجة:

تخيل إنك في البيت وعايز تطلب بيتزا من المطعم:
- الطلب (HTTP Request): بتفتح الموبايل وبتتصل بالمطعم، وبتقول "مساء الخير، أنا عايز أطلب بيتزا مارجريتا".
- معالجة الطلب: الموظف في المطعم بيسجل طلبك وبيبدأ يحضر البيتزا.
- الاستجابة (HTTP Response): بعد ما البيتزا تجهز الموظف بيتصل بيك تاني ويقولك "طلبك جاهز، البيتزا هتوصلك خلال 30 دقيقة".

دلوقتي هنشوف إزاي نفس الفكرة دي بتتطبق في البرمجة باستخدام php وبوت تليجرام:

1. الطلب (HTTP Request):
- البوت بتاعك في تليجرام عايز يعرف إذا كان فيه رسائل جديدة من المستخدمين. البوت بيبعت طلب لخادم تليجرام يقول فيه: "لو سمحت، اديني آخر الرسائل اللي بعتها المستخدمين للبوت".

الكود اللي بيعمل كده في php ممكن يبقى حاجة زي كده:

   $content = file_get_contents("php://input");

2. معالجة الطلب:
- تليجرام بيشوف إذا كان فيه رسائل جديدة للبوت، بيدور في قاعدة البيانات بتاعته ويجمع كل الرسائل اللي اتبعتت للبوت.

3. الاستجابة (HTTP Response):
- تليجرام بيرجع يبعت للبوت كل الرسائل اللي لقاها. الرسائل دي بتبقى في شكل بيانات (JSON) "هنفهمها بعدين"
- البوت يستقبل البيانات دي ويقدر يبدأ يعالجها ويرد على المستخدمين.

الكود اللي بيستقبل البيانات دي في php ممكن يبقى حاجة زي كده:

   $update = json_decode($content, true);

الخلاصة

لغة php قوية ومرنة ومش مقتصرة على تطوير المواقع بس
باستخدام طلبات HTTP تقدر تعمل بيها بوتات تليجرام بسهولة
البوتات دي بتستخدم API تليجرام عشان تتواصل مع المستخدمين وده بيخلي php مشهوره وسهله في عمل البوتات

عارف ان ف دماغك سؤال بيقول اي هوا api تيليجرام دا وانا جبلتك مثال هيخليك تشرب الاجابه زي المايه

تخيل إنك مدير شركة وعايز تتواصل مع الموظفين بسرعة وكفاءة. بدلاً من إنك تروح لكل مكتب أو تبعت إيميل لكل موظف، بتستخدم سكرتير ذكي

- تليجرام API: هو السكرتير الذكي بتاعك.
- الأوامر: هي التعليمات اللي بتديها للسكرتير (زي ابعت رسالة، اعمل اجتماع، سجل الحضور).
- الردود: هي المعلومات اللي السكرتير بيرجعها ليك (زي الرد على الرسائل، تأكيد الاجتماع، بيانات الحضور).

السكرتير ده موجود 24 ساعة 7 ايام في الاسبوع وبيتبع تعليماتك بدقة وبيخليك تتواصل مع الموظفين بسهولة وسرعة

بنفس الطريقة، API تليجرام هو "السكرتير الذكي" اللي بيساعد البوت بتاعك يتواصل مع مستخدمي تليجرام عن طريق تنفيذ الأوامر والرد عليها بشكل فوري وفعال.

وبس كدا اشوفكم في درس جديد
6👍3🕊2❤‍🔥1🥰1👏1🍓1🎃1😇1🆒1
#PHP_2

النهارده بإذن الله هنتكلم عن المتغيرات والمصفوفات وهنشوف إزاي نربط بينهم

المتغيرات (Variables)

كنا عرفنا المتغيرات قبل كدا بس دلوقتي هنعرفها بشكل تاني

مثلا انت بتعمل لعبة واللاعب سجل اسمه "احمد" واحتاج يغير اسمه بعد فتره وعايز يخليه "حمادا" معقول هتغير كلمة احمد من الكود كله كل ما مزاج احمد يتغير ؟
المتغيرات بقا جابت حل للموضوع وبقينا بنعبر عن اسم اللاعب بالمتغير دا وكل ما احمد يغير رايه ويحب يغير الاسم نغير احنا الاسم الي موجود جوا المتغير "القيمه" وبكدا حلينا المشكله
وعشان الحاجه دي بتتغير كل شويه خلينا اسمها "متغير (Variables)"

في لغة php بنستخدم علامة الدولار $ عشان نعمل المتغير بعدها بنكتب اسم المتغير "اي اسم تحبه مش شرط اسم معين" ونحط القيمة اللي عايزين نخزنها"كلمه، اسم، كلمه، جمله، رقم، حرف، اي حاجه"

مثال :
$name = "Ahmed";  // هنا خزنا النص "Ahmed" في متغير اسمه name
$age = 25; // هنا خزنا الرقم 25 في متغير اسمه age

- العلامه دي $ لازم تتكتب عشان الكمبيوتر يفهم ان دا متغير
- علامة = دي معناها ان المتغير دا بيساوي القيمه الي بعد العلامه أيًا كانت
- ودي ; لازم لازم لازم تتكتب ف نهاية كل ام او متغير او كذا حاجه هنعرفها بعدين ولو نسيتها البرنامج او البوت هيقف ويقولك والله ما انا شغال

ملحوظه !!! "خليك مبرمج نضيف واكتب اسماء معقوله للمتغيرات وبلاش تكتب كلام ميتقريش بالله عليك 🥲"


مثال على استخدام المتغيرات
echo "اسمي $name وعمري $age سنة";

- echo: ده أمر في php بيستخدم عشان تطبع كلمه او جمله على الشاشه مش اكتر
- كدا الكود دا هيطبع علر الشاشه : اسمي Ahmed وعمري 25 سنة



المصفوفات (Arrays)

اي هيا المصفوفات ؟

تخيل إنك رايح السوبر ماركت وعندك قائمة مشتريات بدلاً من إنك تكتب كل صنف في ورقة مختلفه بتحط كل الأصناف في ورقة واحدة وكذالك المصفوفات بتجمع حاجاتك بتحطهالك ف مكان واحد بدل ما بتحط كل حاجه في متغير مختلف
ودلوقتي لما اقول (المصفوفات في البرمجة زي الورقة دي بنخزن فيها مجموعة من البيانات تحت اسم واحد) كدا انت المفروض فهمت

كتابة المصفوفات

في لغة php بنستخدم حاجه اسمها array() عشان نعمل مصفوفة.

مثال :
$abdo = array("احمد", "تيليجرام", 20, "بطاطس");

- اول ملاحظه ان بردو المصفوفه زي المتغير بتبدا بالعلامه $ زي المتغير
- $abdo: ده اسم المصفوفة.
- array(): دي حاجه اسمها داله بتستخدم لإنشاء مصفوفة
- "احمد", "تيليجرام", 20, "بطاطس": دي القيم اللي خزناها في المصفوفة
- الفاصلة ( , )بتستخدم للفصل بين العناصر وبتتحط دايما بعد العناصر كلها ماعدا اخر عنصر

- المصفوفه بيتم ترقيمها من الصفر يعني مثلا ( "احمد" )>> دا يبقا النصر صفر ( "تيليجرام" )>> يبقا العنصر الاول ( 20 )>> يبقا العنصر الثاني ( "بطاطس" )>> يبقا العنصر الثالث وهكذا لحد اخر عنصر

تاني مره احذر من انك تنسى تحط ; ف الاخر

طب ازاي نطلع عنصر من داخل المصفوفة
بنستخرجه عن طريق اسم المصفوفه ورقم العنصر داخل المصفوفه "ترقيم من الصفر يعني تبدا عد من الصفر اياك تنسى"
- مثال
echo $abdo[0];  // هيطبع: احمد
echo $abdo[1]; // هيطبع: تيليجرام
echo $abdo[2]; // هيطبع: 20
echo $abdo[3]; // هيطبع: بطاطس

- بالطريقة دي تقدر تطلع العنصر الي تحبه مهما كان المهم تعرف موقعه او رقمه في المصفوفه

والمصفوفات ليها اكتر من نوع يلا نتعرف عليهم
أنواع المصفوفات:

1. مصفوفة عادية (Indexed Array):
- اعتبرها زي قايمة مرتبة بالأرقام
وهيا دي اول مصفوفه اخدنا عليها مثال خد واحد كمان

    $fruits = array("Apple", "Banana", "Orange");
echo $fruits[1]; // هتطبع Banana

2. مصفوفة مرتبطة (Associative Array):
- بتبقا عباره عن مفاتيح وكل مفتاح ليه قيمه معينه
- زي دفتر تلفونات كل اسم ليه رقم

    $ages = array("Ahmed" => 25, "Sara" => 20, "Mona" => 30);
echo $ages["Sara"]; // هتطبع 20

نستخرج قيمه معينه ازاي ؟
تكتب اسم المصفوفه الي هيا هنا سميناها $ages وبعدين تعمل قوسين من دا [ ] وتكتب جواهم اسم المفتاح
مثلا Mona مثال $ages["Mona"] كدا دا شايل القيمه بتاعة المفتاح الياسمه Mona او بمعنى اصح العمر بتاع منى الي هوا 30

وبكدا فهما اي هيا المتغيرات والمصفوفات في php وعرفنا انواع المصفوفات وازاي نستخدمها

شرح المره الجايه هيبقا عن الجمل الشرطيه في php مع امثله حقيقيه وشرح مبسط

وبس كدا اشوفكم في درس جديد
6👏3👍2🥰2❤‍🔥1😁1
اسمي عبدالرحمن يوزري @Abdo_1
تعرفني او متعرفنيش اتمنى تدعيلي دعوه بظهر الغيب
انا داخل على امتحانات وعايز اجيب 95% 👈👉
لو جبتها هوزع عليكم شوكلاته وملفات وحاجات حلوه 🥺
ولو مجبتهاش هوقف البوتات وابقوا قابلوني لو عرفتوا تطلعوا مني بفايده واحده 👈👉
7❤‍🔥4👏3🥰2😁2
#PHP_3

النهارده بإذن الله هنتكلم عن الدوال (Functions"فنكشن") في لغة php

اي هيا الدوال (Functions)
خلينا ناخد مثال سهل يفهمنا كل حاجه

تخيل إنك في مطبخ وعايز الكمبيوتر يطبخ
كل مرة بتخليه يحضر أكلة معينه بيعمل نفس الخطوات مثلا عشان تخليه يعمل شاي الاوامر هتبقا بالشكل دا (سخن المايه، ضيف الشاي، حط السكر، قلب) بدل ما تشرح الخطوات دي كل مرة ممكن تكتبهم في ورقة وتسميها "ورقة الشاي" كل ما تحتاج تعمل شاي، بتبعت ورقة الشاي للكمبيوتر وهوا هينفذ الخطوات الي مكتوبه فيها بشكل تلقائي.

عندنا في البرمجة الدوال هي "الورقة" دي بنجمع مجموعة من الأوامر تحت اسم معين زي "ورقة الشاي" والاسم بيكون على حسب مزاجك وتستدعيها لما تحتاجها.

خلينا متفقين ان
- الدالة: ورقة الشاي.
- الخطوات: تسخين المايه، إضافة الشاي، إضافة السكر، التقليب.
- الاستدعاء: "اعمل شاي".

طب ما نيجي نشوف شكلها فعلا في php

في لغة php بنستخدم كلمة function عشان نعرف الكمبيوتر ان دي دالة بعدها بنكتب اسم الدالة ونحدد الخطوات اللي عايزين ننفذها "زي طريقة تحضير الشاي"

function makeTea() {
echo "تسخين المايه";
echo "إضافة الشاي";
echo "إضافة السكر";
echo "التقليب";
}

- makeTea: ده اسم الدالة "انا حبيت الاسم دا ممكن انت تسمي الاسم الي تحبه"
- { }: الأقواس دي بتحدد بداية ونهاية الدالة
- echo: ده أمر بيستخدم لطباعة النصوص على الشاشة "عرفناه المره الي فاتت"

طب ازاي اقدر اقول للكمبيوتر اني عايز اعمل شاي وابعتله الورقة ؟

لما نحتاج ننفذ الدالة، بنستدعيها باستخدام اسمها
يعني مثلا الداله الي عملناها اسمها "makeTea" فاحنا بنكتبها زي ما هيا بالطريقة دي
makeTea();

متنساش الاقواس عشان مهمه وليها استخدامات هنذكرها كمان شويه
واياك تنسى ; عشان لو نسيتها الكود البرنامج كله هيقف وهيعمل خطا

كدا استدعيناها ف هوا هيفهم انها الورقه وهيفهم انك عايز تنفذها ف هينفذها وهيطبع
تسخين المايه
إضافة الشاي
إضافة السكر
التقليب

حلو اوي كدا عرفنا الداله العاديه دلوقتي محتاجين نعرف نوع كمان وهي دوال ليها مدخلات
اي يعم الكلام العجيب دا ؟ اي هي المدخلات دي و اي فايدتها

يتبع...
👍32🔥2🥰2❤‍🔥1👏1
#PHP_3 (جـ2)

أحيانًا بنحتاج ندي الدالة معلومات عشان تنفذ الخطوات بطريقة معينة. زي لو عايزين نعمل شاي بسكر زيادة أو قليل

مثال:
- الدالة: ورقة الشاي.
- الخطوات: تسخين المايه، إضافة الشاي، إضافة كمية السكر المطلوبة، التقليب.
- الاستدعاء او المدخل الي هندخله: "اعمل شاي بسكر قليل او كتير انت الي بتحدد".
function makeTea($sugarAmount) {
echo "تسخين المايه";
echo "إضافة الشاي";
echo "إضافة $sugarAmount معلقة سكر";
echo "التقليب";
}

- $sugarAmount: ده المتغير اللي بيحدد كمية السكر وكتبناه فوق جمب كلمة makeTea وبداخل الاقواس كدا makeTea(عشان$sugarAmount) نعرف الكمبيوتر ان دا بيتم تعيينه بعدين داخل الكود
طب ازاي بنستخدمه ؟
انت كل الي بتعمله انك بتستدعي الداله زي ما عملنا فوق بس بتحط كمية السكر داخل الاقواس الي فاضيه
makeTea(2);

- وبكدا هيطبع: تسخين المايه، إضافة الشاي، إضافة 2 معلقة سكر، التقليب

ملحوظه.. تقدر تحط اكتر من متغير عادي
مثال
function makeTea($sugarAmount, $Classify) {
echo "تسخين المايه";
echo "إضافة $Classify";
echo "إضافة $sugarAmount معلقة سكر";
echo "التقليب";
}

- وبتستدعيه كدا
makeTea(2, "القهوة");

- وبكدا هيطبع: تسخين المايه، إضافة االقهوة إضافة 2 معلقة سكر، التقليب

ومعانا كمان تخر نوع
الدوال بالمخرجات (Return Values)

أحيانًا بنحتاج الدالة ترجع لنا نتيجة معينة بعد ما تنفذ الخطوات. زي لو عايزين نعرف نتيجة معادلة رياضية.

مثال:
- الدالة: ورقة الجمع "اسم الورقه طبعا كل واحد بيختار اسم على مزاجه"
- الخطوات: إضافة الارقام وكتابة الاوامر

مثال
function addNumbers($num1, $num2) {
return $num1 + $num2;
}

- return: الكلمة دي بتستخدم لإرجاع نتيجة من الدالة "يعني بتنفذ الكود وتشوف لو فيه نتيجه للعك الي بنعمله والعك هنا الي هوا الرقم الاول + الرقم التاني.. ملحوظه عارف انك مش بتحب الرياضه ف متشتمش 🙄"

طب ما تيجي نجرب نستدعي الداله
$result = addNumbers(3, 5);
echo $result; // هيطبع: 8

- addNumbers(3, 5): دي بتبقا عباره عن ناتج العمليه الحسابيه بين الاتنين
- $result: هنا خزنا نتيجة الجمع الي اتعمل في الداله في متغير "زي ما اخدنا قبل كدا"


ملحوظه مهمه جدا جدا جدا
ممنوع تمام تعمل دالتين بنفس الاسم عشان كدا الكمبيوتر هيشتمنا 🥲

وقبل ما تمشي لازم تعرف أهمية الدقة في البرمجة

زي ما شفنا، نسيان الفاصلة المنقوطة (;) أو الأقواس ({} ،()) ممكن يعمل اخطاء والبرنامج كله يقف لازم نكون دقيقين في كتابة الكود


وبكدا اتعرفنا على الدوال (Functions) في لغة php وشفنا إزاي نعمل دالة نديها مدخلات، ونخليها ترجع لنا نتائج
الدوال بتسهل علينا كتير بدل ما نكتب الكود كل شويه بنكتبه مره واحده ونستدعيه باسم الداله فقط

اشوفكم ف درس جديد
5👍4👏4🥰3❤‍🔥1
Forwarded from BroCode || بـࢪوڪـود (Just abdo)
هضطر اقطع فتره لحد ما اخلص امتحانات 💔
اتمنى تدعولي دعوه ف ظهر الغيب من غير ما تقولولي

بالنسبه لكورس البرمجه ف انا كاتب حوالي 3 دروس تقريبا بس محتاجين تنظيم وهينزلوا اول يوم اجازه

وبالنسبه للبوتات والملفات ف ملف الحمايه بتاعي داخل على 9000 سطر وفيه اكتر من 50 امر بس لسه فاضله شوية اوامر كمان غير ان لعبة البنك محتاجه شوية تعديل
وبالنسبه ل بوت الاستضافه ف انا فعلا عملت كود ل رفع الملفات المضغوطه ومش ناقص غير كود حمايه اركبه عليه وهينزل اول يوم اجازه بردو
ولعبة xo و ملف منع التفليش و لعبة الغاز ومنع السب وملف بوت المسابقات بدون رشق كل دول جاهزين وهينزلوا بردو اول ما اخد الاجازه

اتمنى تستنوني ومش هقصر معاكم باذن الله
استنى🙄 بردو مشيت من غير ما تدعيلي😒 بهزر معاك انت حبيبي طبعا واكيد دعيتلي 🙈
👍1210👏6🥰5❤‍🔥2
كل سنه وكل اخواتي وحبايبي بخير
ربنا يجعله عيد فرحه عليكم كلكم
ويجعلنا نتقابل على عرفات ونتصور واحنا بنكبر كلنا مع بعض
8👍5❤‍🔥2
اظن كدا كتير ولازم ارجع اكمل الكورس
اتفاعلوا بقا معايا واسالوني على اي حاجه مش فاهمينها @abdo_1

هنكمله لحد ما ننهيه باذن الله وهنعمل مفاجآت كتير
كل حاجه مجاني ومش مستني فلوس او اي حاجه من حد كفايه ربنا يوفقني ف الي بعمله
8👍4🔥2❤‍🔥1
#PHP_4

هنكمل ف الدرس الرابع عن حاجه مهمه جدا وجميله وهتسهل كل حاجه في الكود بتاعنا
هنتكلم عن الدالة العجيبة اللي هتحرك البوت بتاعك وتخليه يعمل اغلب الحاجات الي هتحتاجها

دالة bot()

احنا عرفنا قبل كدا الدوال و يعني اي داله وبتحتاج ايه وبتشتغل ازاي
النهارده بقا هديك داله جاهزه ومش عايزك تفهم حاجه فيها خالص غير انها بتستخدم حاجه اسمها "مكتبة CURL" ودي كلمه مكونه من حروف اختصار ل حاجه مش لازم تهمها بردو

الدالة دي هي اللي بتتحكم في كل حاجة في البوت بتاعك

طب دلوقتي خلينا نبص على الدالة دي بسرعة ونشوف هي بتعمل إيه:
function bot($method, $data) {
$url = "https://api.telegram.org/bot" . "YOUR_BOT_TOKEN" . "/" . $method;
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}

نظرة عامة على الدالة:

- $method: ده الاسم بتاع الطريقة اللي عايزين ننفذها، زي إرسال رسالة أو الحصول على معلومات المستخدم.
- $data: دي البيانات اللي بنبعتها مع الطلب، زي نص الرساله ال اللي عايزين نبعتاه او ايدي الشات (chat_id).

الدالة دي بتعمل الآتي:
1. بتحدد عنوان الـ URL بتاع تليجرام API.
2. بتجهز البيانات اللي هتتبعت.
3. بتبعت الطلب وبتاخد النتيجة.

« ومش لازم تعرف اكتر من كدا حتى لو مفهمتش هتفهم بعدين بالتفصيل »

دلوقتي هنشوف مثال بسيط لإرسال رسالة باستخدام دالة bot()

نفترض إننا عايزين نبعت رسالة "مرحباً بكم" لمستخدم معين. الكود هيبقى بالشكل ده:
bot('sendmessage', [
'chat_id' => 'USER_CHAT_ID',
'text' => 'مرحباً بكم'
]);

ايه التعقيد دا يا عم وكمان جاي تقولي انه سهل ! 🙄
لا تعقيد ولا حاجه انت هتلاقي كل حاجه بسيطه خالص

الاول زي ما احنا عارفين لما بنكون عايزين نعمل استدعاء للداله بنكتب اسم الداله في الاول واحنا مسميين الدالة بتاعتنا bot..
ثانيا لازم نفتح الاقواس بتاعة الدالة زي ما اتفقنا المره الي فاتت
ف دا شكلها
bot(


الداله بتاخد مدخلات وهنا احنا مبندخلش غير مدخلين 2 وبس..

المدخل الاول بيبقا عبارة عن الامر الي لازم تدخله مثلا ابعت رساله : sendmessage او عدل رساله : editmessage او يبعت صوره او ريكورد او اغنيه او غيرهم كتير ودول للاسف هتضطر تحفظ كل حاجه بتتبعت ازاي "متقلقش مع الوقت هتحفظهم بسهوله شديده"
لازم نحط بعده العلام دي « , » زي ما اتعودنا

هنكمل على المثال بتاعنا ودا شكلها
bot('sendMessage',


كدا عرفنا اول مدخل

بعدين هنحط تاني مدخل.. اقف عندكك اي الحاجات دي كلها وهنحط المدخل التاني فين بالظبط ؟؟

المدخل التاني عباره عن مصفوفه بنحط فيها كل حاجه زي ايدي الشات او نص الرساله او الصوره الي عايز تبعتها او الريكورد او الملف او اي حاجه وحتى ممكن تحط ازرار وممكن تعمل كل حاجه بداخل المصفوفه دي

طب خلينا واحده واحده احنا عارفين المصفوفه لازم نفتحلها قوس مربع زي دا ] بعدين بنقدر نحط حاجاتنا زي ما احنا عايزين

طب ازاي نحط الحاجات في المصفوفه ؟
بص انت دلوقتي احفظ الشكل العام ليها "بصمج يمعلم 😂" وحاول تكتبه كذا مره واحنا هنكمل وهنقولك بعدين شرح كل تفصيله في وقتها

بعد.ما بنفتح القوس المربع بنكتب "chat_id" بين علامتين تنصيص كدا وبعدين بتعمل علامة = واكبر من > كدا => عشان تعمل زي شكل السهم وبعدين بتكتب الايدي بتاع الشات بتاعك "ممكن تحط علامات تنصيص وتحطه بداخله وممكن تحطه من غيره براحتك" ومتنساش فيه ف النهاية علامة , لو نسيتها البوت مش هيشتغل
بيبقا دا شكلها
bot('sendmessage', [
"chat_id" => 12345,

وطبعا تحط الايدي الحقيقي للشات او الدردشه بتاعة المستخدم الي عايز البوت يبعتله الرساله

وبعدين بتنزل سطر وبتكتب "text" وبتعمل يساوي واكبر من => زي الي فوقه بالظبط وبعدين بتعمل علامتين تنصيص " وبتكتب جواهم النص الي عايز البوت يبعته
بيبقا دا شكله
bot('sendmessage', [
   "chat_id" => 12345,
    "text'" => "مرحباً بكم"

وطبعا عشان هنقفل المصفوفه بعد النص ف مش بنحتاج نحط العلامه دي ,

وف الاخر بنقفل القوس المربع بتاع المصفوفه وبتقفل القوس التاني ) بتاع دالة bot()
ويبقا دا الشكل النهائي
bot('sendmessage', [
   "chat_id" => 12345,
    "text'" => "مرحباً بكم"
]);

ملحوظه اوعى تنسى تحط ; عشان الكود يشتغل

وبكدا خدنا نبذه سريعه عن الداله وفهمنا حاجات كتير عنها وفي الدروس الجايه هناخدها بالتفصيل وغالبا درس كمان او اتنين وهتقدر تعمل اول بوت ليك
اتمنى تكونوا استفدتوا واشوفكم ف درس جديد
5🥰2❤‍🔥1👍1
#PHP_5

هنكمل الدرس الخامس بشرح تفصيلي وبسيط عن ازاي نقدر نستقبل البيانات اللي بتتبعت للبوت بكل سهوله

اولا احنا قولنا قبل كدا ان الكود دا مسؤول عن استقبال اي حاجه هتوصل للبوت وهتتحفظ ف متغير بنسميه $update او اي اسم تحبه
$update = json_decode(file_get_contents('php://input'));


• مبدأيا تعال نفهم الأول الكود ده بيعمل ايه
لما حد يبعت رسالة للبوت بتوصل رسالة للموقع بتاعك اللي عليه ملف الـ php
الرسالة دي بتكون عبارة عن بيانات جاية في هيئة JSON "ودي صيغة بيانات سهله وكل لغات البرمجه بتدعمها هنفهمها بعدين بالتفصيل"
الكود ده وظيفته انه ياخد البيانات دي ويحولها من JSON لمصفوفة عشان نقدر نتعامل معاها ونطلع منها المعلومات اللي احنا محتاجينها
المعلومات دي بتبقا حاجات كتير مثلا نعتبر مستخدم بعت رساله للبوت ف البوت هيبعت معلومات عن كل حاجه تخص الرساله
مثلا بتبقا نص الرساله اللي المستخدم بعتها و رقم الرساله في الشات بتاع المستخدم و ايدي المستخدم اللي بعت الرساله واسم المستخدم ويوزر المستخدم وغيرها كتيير
طيب ازاي ده بيتم؟
تعال نقسم الكود سطر سطر ونفهم كل جزء

file_get_contents('php://input')

• الجزء ده بيقول للـ PHP "هات كل البيانات اللي جايه في الطلب اللي جايلك"
• هنا البيانات بتكون في هيئة JSON زي ما قولنا قبل كدا

json_decode(...)

• الجزء ده بياخد البيانات اللي جايه ويحولها من JSON لمصفوفة عشان نقدر نتعامل معاها بالـ PHP


طيب تعال ندي مثال بسيط جدا
• نفرض ان في حد بعت رسالة للبوت بتاعتنا الرسالة دي نصها "/start"
• الكود ده هيخلي الرسالة دي تتحول لمصفوفة وفيها كل التفاصيل الخاصة بالرسالة زي ايدي المستخدم والنص اللي كتبه
• دلوقتي احنا عايزين نطلع نص الرسالة اللي هو "/start"
هتكتب الكود بالشكل ده

$update = json_decode(file_get_contents('php://input'));

- ودا اللي بيستقبل البيانات ويحطها في المتغير زي ما قولنا
$message_text = $update->message->text;


• في الكود ده احنا بنقول لـ php خد المصفوفة اللي طلعناها من JSON وطلع منها الجزء الخاص بالرسالة
• الرسالة نفسها بتكون جوه جزء اسمه "message" وده اللي بيحتوي على كل تفاصيل الرسالة بنوصلها ب العلامتين دول مع بعض ->
text ده الجزء اللي جوه الرسالة اللي بيحتوي على نص الرسالة اللي اتبعت للبوت


طيب نفترض مثلا ان المستخدم بعت رسالة تانية بدل "/start" وكتب "hello"
• الكود هيشتغل بنفس الطريقة وهيطلع النص اللي المستخدم كتبه سواء كان "/start" او "hello" او اي حاجة تانية

بكده انت دلوقتي فهمت ازاي نستقبل البيانات اللي جاية للبوت وازاي نطلع منها نص الرسالة اللي اتبعت


بكده نبقى عرفنا الأساسيات لاستقبال الرسائل وفهمنا ازاي نطلع نص الرسالة
13👍9🥰5❤‍🔥1👎1👏1
يجدعان عييب
لما اعمل دروس بتاخد مني ساعات ف التحضير والترتيب وبتاخد مني وقت وانتوا مش بتتفاعلوا كدا عيب والله..

ازاي اكمل وانا مش طالب دعم مادي ولا دعم معنوي ولا اي حاجه كل اللي طالبه انكم تثبتوا اني بنشر حاجه كويسه وانكم بتستفادوا عشان اتشجع واكمل
👍209🔥6❤‍🔥4😁4👏1
Forwarded from BroCode || بـࢪوڪـود (Just abdo)
اشتاقتولي ؟

مش عارف اقولكم اي بس انا حرفيا شغفي بقا صفر ع الشمال وم لاقي حد يشجعني ولا حاجه تشجعني 🙂

اسف لو طولت عليكم الغيبه هحاول اكمل ملفاتي وشروحاتي حتى ولو شغفي م موجود بس اتمنى تعذروني 👈👉
5🔥1
#PHP_6

واخيرا هناخد في الدرس السادس ازاي تقدر تعمل بوت تيليجرام متكامل يرد على الرسايل
دي لسه البدايه احنا لسه هنعمل بوتات تيليجرام كتير بتعمل حاجات كتير جدا هنتعلمها مع بعض

هنعمل بوت بسيط يرد على رسالة "/start" باستخدام اللي اتعلمناه مع استخدام شرط if
هنشرح بداية الكود ونهايته وكمان الأجزاء اللي لازم تكون موجودة في كل سكربت php

• بداية كود الـ php:

في أي ملف php لازم نبدأ بـ
<?php

ده بيقول للسيرفر إن الكود اللي جاي هو كود php ومش محتاج تعرف تفاصيل أكتر عن السبب غير إنه لو مش موجود السيرفر هيقرأ الكود كأنه نص عادي مش كود برمجي، يعني البوت مش هيشتغل.

• دالة bot()
طبعا بتاخد الداله كوبي وتحطها ف الملف
function bot($method, $data) {
$url = "https://api.telegram.org/bot" . "00000" . "/" . $method;
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}

ولازم تحط التوكن بتاع البوت مكان 00000
ميفرقش مكان الداله اول الكود او اخره المهم تكون بعد البداية <?php


• كود استقبال الرسايل
لازم نستقبل البيانات اللي بتتبعت للبوت. وده عن طريق الكود اللي شرحناه قبل كده:

$update = json_decode(file_get_contents('php://input'));

الكود ده هو اللي بيجيب كل حاجة جاية من المستخدم للبوت
وطبعا احنا عايزين نعرف نص الرساله الي وصلت للبوت
$textbot = $update->message->text;

$id = $update->message->chat->id;

1. احنا هنا قولنا للسيرفر روح للمعلومات الي جايه من البوت وبعدين روح لقسم الرسايل الموجود جوا المعلومات بعدين شوف نص الرساله وطلعه وحطه في متغير $textbot

2. قولناله بردو روح للمعلومات وقسم الرسايل ال جايه من البوت وطلع ايد("الرقم المميز لكل حساب تيليجرام زي ما اتفقنا قبل كدا) الشخص الي بعت الرساله واحفظه في متغير $id

وطبعا انت ممكن تسمي المتغير بالاسم الي انت عايزه بس انا بحب اسميه اسماء معقوله عشان لو رجعت للملف بعد فتره ابقا فاكر دا كان اي


• الشرط (if)
دلوقتي علشان نحدد إذا كانت الرسالة هي "/start" بنستخدم شرط if
الفكرة في if ببساطة إنها بتقول: "لو الشرط ده اتحقق.. اعمل كذا"
وهنا الشرط بتاعنا هو نص الرسالة.
if ($textbot == "/start") {

}

== معناها "يساوي" ولازم يبقوا اتنين مش واحده، فإحنا بنقوله "لو نص الرسالة بيساوي /start".

لو الشرط اتحقق يعني لو الرساله طلعت فعلا "/start"، هننفذ اللي جوا الأقواس {}


•استخدام دالة bot()
دي الدالة اللي هنستخدمها علشان نبعت رد. اتفقنا إن دالة bot() بتسهل التعامل مع تيليجرام:
bot('sendmessage', [
'chat_id' => $id,
'text' => 'مرحبا بك في بوت سلسلة برمجة بوتات تيليجرام'
]);


وطبعا في الكود قولنا للبوت ابعت الرساله الي قولنالك عليها للمستخدم صاحب الايدي اللي حفظناه قبل كدا في المتغير $id

وبكدا شرحنا كل قطعه في الكود وهنعمل مسابقه خفيفه:
احسن واحد هيجمع الكود بتاعنا ويعمل اوامر اكتر الكود بتاعه هينزل هنا في القناه ب اسمه كأحسن تجميعه للكود
ابعت الكود هنا ☜ @abdo_1

في الدرس ده جمعنا بين الدروس اللي فاتت واستخدمنا شرط if علشان نعمل بوت يرد على اي رساله المستخدم ممكن يبعتها

وف الدروس الجايه هنخلي البوت يعمل حاجات اكتر بكتير بس بالتدريج

اشوفكم على خير
7🔥2🥰2👍1👏1
Forwarded from BroCode || بـࢪوڪـود (Just abdo)
اخواتي
ساعدونا نرجع القناه تاني انشروها من جديد زي ما كنا بنعمل يلا عشان تحمسونا نكمل باقي الملفات وننزلها ونطور بوتات اكتر
شير بقا للمنشور دا عايزه يوصل ل كتير وعارف انكم مش هتقصروا 🤨
يوزر القناه @INNV8
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🥰3🔥2
Forwarded from رسايل
واخيرا اخيرا بجد تحرير سوريا من ايد المجرم بشار الاسد 🙈💗

مبارك لكل اهلنا في سوريا هذا التحرير العظيم ربنا يسعدكم وينصركم ويقويكم اللهم امين 💘

اللهم كما نصرت اهل الحق في سوريا انصر اهل الحق في فلسطين على العدو يارب العالمين 🤲
12😢1
هخلص امتحانات الاسبوع دا
نكمل السلسله ؟؟
Anonymous Poll
70%
كملها مستنيينك
7%
لا زهقنا
23%
اتعلمنا php من زمان 😂
5👍2🍓1
اسف ع الغيبه الكبييره دي 💔
راجعين ب قوة بإذن الله
وراجعين ب اكتر من سلسلة وبوت واجبات ومتابعه قوي جدا 🔥

اللي قادم اقوى 💪
🔥3👏32🥰1
#php_7

درس النهارده عن الأزرار

دخلنا تيليجرام ودخلنا عالم البوتات فتحنا البوتات لقيناها مليانه ميزات وحاجات عظيمه
دايما البوت شكله شيك كدا ومنظم في الرسايل اللي بيبعتها
غالبا اي بوت بتدخل عليه بتلافي عنده ازرار كدا تحت الرساله شكلها شيك "مثلا زر لرابط القناه او زر دخول قائمه معينه وغيرهم كتير جدا"
طبعا احنا ك مبرمجين بنعمل الحاجات دي بروقان وبنظمها عشان البوت يبقا شكله جميل

ببساطه الزر ده معمول بلغه الكود، إحنا اللي بنرسمه، وبنقول للبوت يحطه تحت أي رساله يبعتها… وفيه نوعين مهمين جدا:

أول نوع | زر يفتح رابط 🔗

اكيد لما دخلت اي بوت تيليجرام غالبا بتلاقي زر ف الرساله اللي البوت بعتها مكتوب فيها "قناة المطور" او "اشترك في القناه" ومش ظاهر غير النص دا ومش ظاهر روابط.

إزاي تعملها في الكود؟ بسيطه:
bot('sendmessage', [
'chat_id' => $id, // ده ايدي الدردشه بتاع الشخص اللي هيجيله الرساله
'text' => "لو عايز تدخل على قناتنا الرسمية 👇",
'reply_markup' => json_encode([
'inline_keyboard' => [
[
['text' => "الدخول للقناه", 'url' => "https://t.me/estedafa"]
]
]
])
]);

ركز هنا:
['text' => "الدخول للقناه", 'url' => "https://t.me/estedafa"]

-text ده الكلام اللي على الزر نفسه وممكن تكتبه اي حاجه زي ما انا كاتب "الدخول للقناه".

-url ده اللينك اللي هيتفتح لما المستخدم يدوس على الزر وممكن تحط اي رابط يعجبك.



الموضوع بسيط، لكن شكله في البوت بيطلع محترم، بدل ما تبعت لينك نص، تحطه زر تحت الرساله

تاني نوع | زر بيرجع قيمه للبوت 🔄

تخيل مثلاً فيه لعبه، أو اختيار، أو اختبار صغير، والبوت عايز يعرف إنت اخترت إيه… الزر هنا مش هيفتح لينك، الزر هيرجع معلومه للبوت، يقدر يتصرف بناء عليها.

إزاي؟ بص هنا:
bot('sendmessage', [
'chat_id' => $id,
'text' => "اختار وظيفتك المفضله:",
'reply_markup' => json_encode([
'inline_keyboard' => [
[
['text' => "مبرمج", 'callback_data' => "job_programmer"],
['text' => "مصمم", 'callback_data' => "job_designer"]
]
]
])
]);

في الكود ده:

كل زر موجود فيه text دا بيبقا النص اللي هيظهر للناس ف الزر زي "مبرمج" او "مصمم"

-callback_data دي القيمه اللي البوت هيرجعله لما المستخدم يدوس، البوت يفهم انت اخترت إيه ويشتغل على الأساس ده.


وطبعاً البوت هيستقبل القيمه دي بالشكل ده:
$update = json_decode(file_get_contents('php://input'));

if (isset($update->callback_query)) {
$data = $update->callback_query->data;
$id = $update->callback_query->message->chat->id;

if ($data == "job_programmer") {
bot('sendmessage', [
'chat_id' => $id,
'text' => "إنت اخترت مبرمج، تمام كده 👨‍💻"
]);
} elseif ($data == "job_designer") {
bot('sendmessage', [
'chat_id' => $id,
'text' => "إنت اخترت مصمم، اختيار حلو 🎨"
]);
}
}

هنا المتغير $data دخل على التحديثات اللي استلمها من البوت "$update" واخد قيمة الزر اللي المستخدم ضغط عليه وبقا يحتوي على قيمة الزر دا

يعني لو المستخدم ضغط على زر "مبرمج" قيمة المتغير $data هتساوي "job_programmer" يقوم البوت باعت الرد ده زي ما كتبناه "إنت اخترت مبرمج، تمام كده 👨‍💻"
-----
ولو المستخدم ضغط على زر "مصمم" قيمة المتغير $data هتساوي "job_designer" يقوم البوت باعت الرد ده بالظبط زي ما كتبناه "إنت اخترت مصمم، اختيار حلو 🎨"


كده هيحصل ك الاتي
المستخدم يدوس على الزر يقوم البوت يستلم القيمه ويرد عليه حسب إختياره مفيش لف ولا دوران ف الموضوع نهائي

ملحوظه
تقدر تكتب القيمه اللي تحبها اي حاجه حرفيا رقم اسم حرف وكمان ب اي لغه تحبها بس فالغالب احنا بنكتبها كلمات معقوله عشان لو راجعنا الكود بعد فتره نفتكر استخدامه بسرعه
الخلاصه
الأزرار الانلاين حاجه أساسيه في البوت تخلي شكل الرسائل شيك، ومنظمه.

- فيه زر يفتح لينك.
- وزر يرجع قيمه للبوت، والبوت يتصرف حسبها.
6🔥2👏1🍓1