لو نفسك تعمل بوت أذكار زي اللي بنشوفه في قنوات تليجرام الكبيرة، وعايز تبنيه بنفسك خطوة بخطوة بدون خبرة برمجية… فأنت في المكان الصح!
هنتعلم إزاي ننشئ بوت بيعرض أذكار الصباح والمساء والنوم وغيرهم – باستخدام بايثون وTelegram API – من أول ما تجهّز المطلوب منك، لحد ما البوت يشتغل عندك تمامًا
كله هيكون عملي، بسيط، خطوة بخطوة، وهتخرج من الفيديو وعندك بوت شغال بإيدك!
يلا بينا نبدأ 👇"
انشاء بوت تيليجرام
- بالذكاء الاصطناعي بدون خبرة برمجية
- تصنيعة بلغة بايثون مجاناً
- يمكن تشغيل البوت دائماً بدون توقف
- يمكن إنشاء مئات البوتات بعد مشاهدة الفيديو
- يمكن بيع الوت حسب الطلب او بيع نسخ منه
- الربح من بوتات تليجرام بنشر اعلانات حسب الطلب
البرامج المطلوبة
✅ الجزء الأول: المتطلبات الأساسية
1. تثبيت Python:
من الموقع الرسمي: https://python.org
لازم تفعل خيار Add Python to PATH أثناء التثبيت.
2. تثبيت Visual Studio Code:
من الموقع: https://code.visualstudio.com
بعد التثبيت: ثبت اضافة اسمها "Python" من الـ Marketplace.
الملفات المطلوبة
3. إنشاء مجلد المشروع:
وليكن اسمه: azkar_bot
جواه 3 ملفات:
azkar.py ← ملف الكود.
azkar.txt ← ملف الأذكار.
config.py ← ملف التوكنات والمفاتيح.
معرفة id حسابك على تليجرام
@userinfobot
رابط معرفة الهاش لحسابك على تليجرام
https://my.telegram.org/auth?to=apps
---------------------------
ملف config.py
---------------------------
API_KEY = "" # OpenAI key (لو مش هتستخدمه سيبه فاضي)
BOT_TOKEN = "0"
API_HASH = "0"
API_ID = "0"
DevID = 0
---------------------------
ملف azkar.txt
---------------------------
#اذكار الصباح
اكتب هنا اذكار الصباح
#اذكار المساء
اكتب هنا اذكار المساء
#اذكار الصلاة
اكتب هنا اذكار الصلاة
#اذكار النوم
اكتب هنا اذكار النوم
---------------------------
ملف azkar.py
---------------------------
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup, BotCommand
from telegram.ext import Application, CommandHandler, CallbackQueryHandler, ContextTypes
import config
# تحميل الأذكار من الملف
def load_azkar():
azkar_dict = {}
current_key = None
with open("azkar.txt", "r", encoding="utf-8") as file:
for line in file:
line = line.strip()
if line.startswith("#"): # العناوين تبدأ بعلامة #
current_key = line.replace("#", "").strip()
azkar_dict[current_key] = []
elif current_key:
azkar_dict[current_key].append(line)
return azkar_dict
AZKAR_DATA = load_azkar()
# تحويل الأسماء العربية إلى أوامر بالإنجليزي
AZKAR_COMMANDS = {
"اذكار الصباح": "morning_azkar",
"اذكار المساء": "evening_azkar",
"اذكار النوم": "sleep_azkar",
"اذكار الصلاة": "prayer_azkar",
"اذكار الوضوء": "wudu_azkar",
"اذكار الطعام": "food_azkar",
"اذكار التشهد": "tashahhud_azkar",
"اذكار المسجد": "mosque_azkar",
"اذكار الآذان": "azan_azkar",
"اذكار المنزل": "home_azkar",
"أذكار بعد الصلاة": "after_prayer_azkar",
"الرُّقية الشرعية": "ruqya_azkar"
}
# تقسيم النص الطويل إلى أجزاء بحد أقصى 4096 حرف لكل جزء
def split_text(text, max_length=4000):
parts = []
while len(text) > max_length:
split_index = text.rfind("\n", 0, max_length) # نحاول تقسيم النص عند آخر سطر
if split_index == -1:
split_index = max_length
parts.append(text[:split_index])
text = text[split_index:].strip()
parts.append(text)
return parts
# إعداد أوامر البوت داخل قائمة تيليجرام
async def set_bot_commands(application):
commands = [BotCommand(eng_cmd, f"عرض {arabic_cmd}") for arabic_cmd, eng_cmd in AZKAR_COMMANDS.items()]
await application.bot.set_my_commands(commands)
# دالة عرض قائمة الأذكار عند تشغيل البوت
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
keyboard = [[InlineKeyboardButton(name, callback_data=name)] for name in AZKAR_DATA.keys()]
reply_markup = InlineKeyboardMarkup(keyboard)
await update.message.reply_text("📌 *اختر نوع الأذكار:*", reply_markup=reply_markup, parse_mode="Markdown")
# دالة لإرسال الأذكار عند اختيارها
async def send_azkar(update: Update, context: ContextTypes.DEFAULT_TYPE):
if update.callback_query: # المستخدم ضغط على زر
query = update.callback_query
await query.answer()
azkar_type = query.data
chat_id = query.message.chat_id
else: # المستخدم كتب أمر في الشات
command = update.message.text.replace("/", "")
azkar_type = next((key for key, value in AZKAR_COMMANDS.items() if value == command), None)
chat_id = update.message.chat_id
if azkar_type and azkar_type in AZKAR_DATA:
azkar_text = "\n\n".join(AZKAR_DATA[azkar_type])
azkar_parts = split_text(azkar_text) # تقسيم النص إذا كان طويل
await context.bot.send_message(chat_id, f"📜 *{azkar_type}*\n", parse_mode="Markdown")
for part in azkar_parts:
await context.bot.send_message(chat_id, part, parse_mode="Markdown")
else:
await context.bot.send_message(chat_id, "❌ الأذكار غير موجودة. تأكد من اختيار قسم صحيح.")
# تشغيل البوت
def main():
application = Application.builder().token(config.BOT_TOKEN).build()
async def startup():
await set_bot_commands(application)
# أوامر البداية
application.add_handler(CommandHandler('start', start))
application.add_handler(CallbackQueryHandler(send_azkar))
# إضافة الأوامر لكل نوع أذكار
for arabic_name, command in AZKAR_COMMANDS.items():
application.add_handler(CommandHandler(command, send_azkar))
# تشغيل البوت
application.run_polling(allowed_updates=Update.ALL_TYPES)
# تشغيل ضبط الأوامر بعد بدء التطبيق
application.create_task(startup())
if __name__ == '__main__':
main()
---------------------------
المكتبات المطلوبة
---------------------------
ممكن نستخدم ده بس
pip install "python-telegram-bot[ext]"
لو مشتغلش نثبت دول
pip install python-telegram-bot
pip install httpx
pip install apscheduler
pip install pytz
رابط موقع الذكاء الاصطناعي chatgpt