مولّد صور الذكاء الاصطناعي لبوت Telegram: بوتات مجانية وكيفية بناء واحد

يمكن للبوتات المجانية على Telegram تحويل جملة إلى صورة، لكن الجودة والخصوصية والحدود اليومية تختلف كثيرًا. تعرّف على الأنواع الثلاثة للبوتات المجانية، واختبار من خمسة أوامر نصية للمقارنة بينها، وسكربت Python جاهز لبناء بوت صور خاص بك، مع الاستضافة والحدود والتحكم في التكلفة.

مولّد صور الذكاء الاصطناعي لبوت Telegram: بوتات مجانية وكيفية بناء واحد
Cristian Da Conceicao
مؤسس Picasso IA

كتابة جملة في محادثة واستلام صورة بعد عشر ثوانٍ ما زال يبدو كحيلة سحرية صغيرة. وعلى Telegram تكون الفكرة عملية أيضًا: التطبيق موجود على هاتفك بالفعل، والمجموعات جاهزة، وتسجيل بوت لا يكلّف شيئًا. لهذا السبب أصبح مولّد صور الذكاء الاصطناعي لبوت Telegram مشروعًا شائعًا لعطلة نهاية الأسبوع، ولهذا يزدحم دليل البوتات بخيارات متفاوتة الجودة إلى حد كبير.

يؤدي هذا المقال مهمتين. أولًا، يوضح كيف تفرز البوتات المجانية التي تستحق وقتك من تلك التي تسجّل أوامرك أو تختفي الشهر المقبل. ثانيًا، يرشدك إلى بناء بوتك الخاص في نحو 60 سطرًا من Python، فتحدد النموذج والحدود ومن يمكنه قراءة الأوامر.

💡 الإجابة المختصرة: لصورة واحدة، جرّب بوتًا مستضافًا مجانيًا. أما لأي شيء ستستخدمه يوميًا، أو تشاركه مع فريق، أو تبني حوله نشاطًا تجاريًا صغيرًا، فشغّل بوتك الخاص. يستغرق ذلك بضع ساعات ويزيل الحدود اليومية.

كيف يعمل بوت توليد الصور على Telegram

شخص يحمل هاتفًا ذكيًا وفي المحادثة صورة منظر طبيعي كآخر رد

بوت Telegram برنامج يتواصل مع خوادم Telegram عبر HTTPS باستخدام توكن سري. ليست له شاشة خاصة به. يكتب الناس في المحادثة، فيمرّر Telegram الرسالة إلى برنامجك، ويرد برنامجك بنص أو صورة أو بكليهما.

حلقة الرسائل بلغة مبسطة

منظر علوي لمكتب فيه حاسوب محمول وهاتف ودفتر عليه رسم تخطيطي لوصول رسالة المحادثة إلى الخادم

يكرر كل بوت لتوليد الصور الخطوات الخمس نفسها:

  1. يرسل المستخدم أمرًا نصيًا مثل "ثعلب أحمر على تلة مغطاة بالثلج، ضوء صباحي ناعم".
  2. يسلّم Telegram الرسالة إلى بوتك. إما أن يستمر البوت في طلب الرسائل الجديدة (polling) أو أن يرسل Telegram الرسائل إلى عنوان ويب تحدده لك (webhook).
  3. يمرّر برنامجك النص إلى نموذج الصور.
  4. يعيد النموذج ملف صورة أو رابطًا.
  5. يرفع البوت الصورة إلى المحادثة نفسها باستخدام طريقة sendPhoto في Telegram.

يُعد polling الخيار الأسهل أثناء الاختبار، لأنه يعمل من حاسوب محمول دون عنوان عام. أما webhooks فتناسب بيئة الإنتاج، خاصة على الاستضافة بدون خوادم حيث لا يعمل شيء بين الرسائل.

من أين تأتي الصورة

لا يرسم البوت أي شيء بنفسه. إنه يستدعي نموذجًا موجودًا في مكان آخر، وهذا الاختيار يشكّل التجربة كلها:

  • API مدفوعة: تدفع مقابل كل صورة، والردود سريعة والجودة متوقعة.
  • طبقة مجانية أو نقطة نهاية مجتمعية: لا تكلّف شيئًا، لكن الطوابير والانقطاعات وتغييرات القواعد جزء من الصفقة.
  • وحدة GPU خاصة بك: لا رسوم على كل صورة، لكنك تشتري الأجهزة وتبقيها تعمل.

إطار عمل البوت لا يهم كثيرًا. النموذج هو الأهم، ولهذا يتناول قسم كامل أدناه كيفية اختياره.

بوتات مجانية لتوليد الصور على Telegram للتجربة

عمدًا لن أسرد أسماء بوتات بعينها. الحصص المجانية والطوابير والمالكون تتغير باستمرار، وأي قائمة بالأسماء ستصبح قديمة قبل أن تنتهي من القراءة. ما يبقى صالحًا هو معرفة الأنواع الثلاثة للبوتات المجانية وكيفية اختبار أي منها بسرعة.

ثلاثة أنواع من البوتات المجانية

مصوّر في طاولة مقهى يتصفح هاتفه بتعبير متردد

النوعلماذا هو مجانيالعائق المعتاد
بوت مستضاف بحصة يوميةالمالك يدفع ثمن وحدات GPU ويبيع الترقياتحد يومي، أو علامة مائية، أو طابور بطيء
بوت مفتوح المصدر تستضيفه بنفسكالشيفرة مجانية، وأنت توفّر الوصول إلى النموذجتدفع ثمن تشغيل النموذج أو تملك GPU
بوت على نقطة نهاية مجتمعية مشتركةخلفه API عامة مجانيةانقطاعات، وردود بطيئة، وتغييرات مفاجئة في القواعد

ما الذي تكلّفك المجانية عادةً

لا شيء مجاني بالنسبة للمشغّل، لذا ابحث عن المكان الذي تقع فيه التكلفة:

  • أوامرك. يستطيع المالك قراءة كل رسالة. افترض أن كل ما تكتبه يُخزَّن.
  • وقتك. قد تتجاوز فترات الانتظار 30 ثانية عندما يتشارك كثيرون وحدة GPU واحدة.
  • جودة المخرجات. غالبًا ما تعمل البوتات المجانية بنماذج أقدم أو أصغر، فتتضرر الأيدي والنصوص الصغيرة والمشاهد المزدحمة.
  • الاستمرارية. قد يختفي بوت يديره شخص واحد أو يغيّر حدوده أو يصبح مدفوعًا دون إشعار.

اختبار الأوامر النصية الخمسة

شغّل الأوامر النصية الخمسة نفسها على كل بوت تفكر فيه. يستغرق الأمر عشر دقائق، ويخبرك بأكثر مما تخبرك به أي مراجعة:

  1. صورة شخصية تظهر فيها اليدان بوضوح.
  2. لافتة شارع تحمل كلمتين قصيرتين.
  3. منتج على خلفية بيضاء بسيطة.
  4. مشهد سوق مزدحم.
  5. طلب بشكل غير معتاد، مثل خلفية هاتف طويلة.

قيّم كل نتيجة وفق السرعة والأيدي والنص والتكوين وما إذا كان البوت يرفض أوامر غير ضارة. قد يختلف بوتان بجودة صورة واحدة من حيث السرعة والرفض، وهذا غالبًا ما يحسم الاختيار.

💡 قاعدة الخصوصية: لا ترسل أبدًا صورة شخصية أو مستندًا أو تفصيلًا خاصًا إلى بوت لا تستطيع التعرف على مالكه.

ابنِ بوتك الخاص بلغة Python

شاشة حاسوب محمول مليئة بشيفرة Python ويد مبرمج على لوحة التتبع

تحتاج إلى أربعة أشياء: إصدار حديث من Python 3، وحساب على Telegram، وتوكن من مزود صور، ونحو ساعة. يستخدم المثال python-telegram-bot، وهي مكتبة غير متزامنة (async) شائعة. ويعمل aiogram بالكفاءة نفسها إن فضّلته.

أنشئ البوت باستخدام BotFather

  1. افتح Telegram وابحث عن BotFather، الحساب الرسمي لإنشاء البوتات (انتبه إلى شارة التوثيق).
  2. أرسل /newbot.
  3. اختر اسم عرض، ثم اسم مستخدم ينتهي بالمقطع bot.
  4. يرد BotFather بـ توكن. انسخه في مكان آمن.

تعامل مع التوكن كما تعامل مع كلمة المرور. أي شخص يملكه يتحكم في بوتك. إذا تسرّب، أرسل /revoke إلى BotFather واحصل على توكن جديد.

التثبيت والإعداد

pip install python-telegram-bot replicate
export TELEGRAM_BOT_TOKEN="paste-the-botfather-token"
export REPLICATE_API_TOKEN="paste-your-image-provider-token"

يستدعي المثال النموذج عبر مكتبة replicate، التي تقرأ توكنه من البيئة. ينطبق النمط نفسه، أي إنشاء مهمة ثم انتظارها وجلب الملف، على أي مزوّد له API مشابهة. يتغير الاستدعاء في المنتصف فقط.

شيفرة البوت

import asyncio
import os

import replicate
from telegram import Update
from telegram.constants import ChatAction
from telegram.ext import (
    ApplicationBuilder, CommandHandler, ContextTypes, MessageHandler, filters,
)

MODEL = "black-forest-labs/flux-schnell"
MAX_PROMPT = 500


async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text(
        "Describe a picture and I will send it back. Example: a red fox on a snowy hill."
    )


async def make_image(update: Update, context: ContextTypes.DEFAULT_TYPE):
    prompt = update.message.text.strip()
    if len(prompt) > MAX_PROMPT:
        await update.message.reply_text(f"Please keep prompts under {MAX_PROMPT} characters.")
        return

    await context.bot.send_chat_action(update.effective_chat.id, ChatAction.UPLOAD_PHOTO)
    try:
        output = await asyncio.to_thread(
            replicate.run, MODEL, input={"prompt": prompt, "aspect_ratio": "16:9"}
        )
        image_bytes = output[0].read()
    except Exception:
        await update.message.reply_text("The image service failed. Try again in a minute.")
        return

    await update.message.reply_photo(photo=image_bytes, caption=prompt[:200])


def main():
    app = ApplicationBuilder().token(os.environ["TELEGRAM_BOT_TOKEN"]).build()
    app.add_handler(CommandHandler("start", start))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, make_image))
    app.run_polling()


if __name__ == "__main__":
    main()

تستحق بعض التفاصيل الإشارة إليها:

  • asyncio.to_thread يمنع استدعاء النموذج البطيء والمعطِّل من تجميد البوت أثناء انتظاره.
  • حد الطول هو أول أدوات التحكم في التكلفة. الأوامر الطويلة نادرًا ما تكون أفضل، وهي أسهل في إساءة الاستخدام.
  • send_chat_action يعرض "sending photo" في المحادثة، مما يجعل الانتظار القصير يبدو أقصر.
  • كتلة try تعني أن انقطاع المزود يُنتج رسالة مهذبة بدلًا من بوت صامت.

تتغير إصدارات المكتبات باستمرار، لذا إذا اختلف استيراد أو اسم وسيط على تثبيتك، فراجع سجل التغييرات الخاص بتلك الحزمة.

شغّل البوت واختبره

شغّل python bot.py، ثم افتح بوتك في Telegram، وأرسل /start، ثم أرسل أمرًا نصيًا. يجب أن تصل أول صورة خلال ثوانٍ. إذا لم يحدث شيء:

  • تحقق من أن توكن Telegram لا يحتوي على مسافات أو علامات اقتباس زائدة.
  • تأكد من أن نسخة واحدة فقط من البوت تعمل بطريقة polling. النسخة الثانية تسبب أخطاء "Conflict".
  • تأكد من أن توكن مزود الصور مضبوط في الجلسة الطرفية نفسها التي تشغّل البرنامج.

اختيار نموذج صور للمحادثة

منظر علوي لهواتف وجهاز لوحي على طاولة، كل منها يعرض صورة مختلفة

للمحادثة إيقاعها الخاص. كقاعدة تقريبية، الرد الذي يقل عن 15 ثانية يبدو كمحادثة، أما انتظار دقيقة فيبدو كطابور مهام. نماذج تحويل النص إلى صورة على PicassoIA التالية تستحق التجربة لبوت، مع المقايضة المتوقعة من كل منها:

النموذجيناسب البوت عندماالمقايضة
Flux Schnellتريد ردودًا سريعة جدًا للمستخدمين العاديينيميل إلى أن يكون أقل صقلًا من النماذج الأكبر
P-Imageتريد نتائج سريعة وواقعية كالصور الفوتوغرافيةتحقق من طريقة تعامله مع النصوص الطويلة داخل الصورة
Flux 2 Proالجودة أهم من السرعةأبطأ وأغلى لكل صورة
Seedream 4.5الصور الشخصية وصور المنتجات بمظهر مصقولاختبره أمام أرخص خيار لديك أولًا
GPT Image 2الأوامر التي تحتاج نصوصًا مقروءة، مثل الملصقاتعادةً الأغلى في المجموعة
Imagen 4 Fastالأوامر اليومية ذات الإنجاز السريععناصر تحكم أقل في الأسلوب
Stable Diffusion 3.5 Mediumتستضيفه بنفسك وتريد نموذجًا مفتوحًا أخفتحتاج إلى وحدة GPU قادرة

عمود المقايضة نقطة انطلاق وليس حكمًا نهائيًا. شغّل اختبار الأوامر النصية الخمسة الذي سبق على اثنين أو ثلاثة منها قبل أن تلتزم بأحدها.

السرعة مقابل الجودة

لست مضطرًا إلى الاختيار بينهما فقط. اربط الأوامر بالنماذج: الرسائل العادية تستخدم الخيار السريع، و/best يرسل الأمر نفسه إلى النموذج الأبطأ وذي الجودة الأعلى. في الشيفرة يكون ذلك قاموسًا صغيرًا من اسم الأمر إلى معرّف النموذج، مع ملاحظة في الرد مثل "هذا يستغرق وقتًا أطول".

أوامر تنجح في المحادثة

يكتب الناس ستّ كلمات، لا ستّ جمل. أضف لاحقة أسلوب ثابتة على الخادم، مثل "واقعي كالصور الفوتوغرافية، إضاءة طبيعية، عدسة 35mm"، واحتفظ بالنص الأصلي للمستخدم كتعليق توضيحي. ستصبح النتائج أكثر اتساقًا، ولن يحتاج أحد إلى دراسة بناء الأوامر.

إضافة مُعيد كتابة للأوامر

يستطيع نموذج لغوي أن يوسّع عبارة «ثعلب في الثلج» إلى أمر تصوير مفصّل قبل استدعاء الصورة. Claude Sonnet 5 وGemini 3.5 Flash وGPT-5.6 Luna كلها متاحة كنماذج نصية على PicassoIA. تكفي تعليمة بسيطة: "أعد كتابة هذا كأمر تصوير في أقل من 80 كلمة. أبقِ العنصر الرئيسي كما هو." هذا يضيف استدعاءً إضافيًا وقليلًا من التكلفة لكل رسالة، لذا اجعله اختياريًا. وبعد أن تعمل الصور، يكون أمر /video مدعومًا بنموذج تحويل نص إلى فيديو مثل Wan 3 خطوة تالية طبيعية.

الاستضافة والحدود والتكاليف

حاسوب صغير أحادي اللوحة بجوار جهاز توجيه واي فاي على رف مكتب منزلي

أين تشغّله

  • حاسوبك المحمول: مناسب للاختبار، ويتوقف البوت عند إغلاق الغطاء.
  • حاسوب منزلي صغير: رخيص ومفتوح دائمًا، لكنه يعتمد على إنترنت منزلك.
  • VPS منخفض التكلفة: الخيار المعتاد. شغّل البرنامج تحت systemd أو داخل حاوية Docker حتى يُعاد تشغيله بعد أي عطل.
  • الدوال بدون خوادم: مناسبة جدًا مع webhooks، لأنك تدفع فقط عندما تصل رسالة.

حدود Telegram يجب احترامها

الحدالقيمةما الذي تفعله
الصورة المرسلة مع sendPhotoحتى 10 MBصغّر حجم الملف، أو أرسله كمستند
رفع مستند بواسطة بوتحتى 50 MBاستخدمه للملفات الأصلية بدقة كاملة
الرسائل عبر كل الدردشاتنحو 30 في الثانيةضع الرسائل الصادرة في طابور
الرسائل في دردشة واحدةنحو 1 في الثانيةوزّع الردود على المستخدم الواحد
الرسائل في مجموعة واحدة20 في الدقيقةرُد واحدًا تلو الآخر في المجموعات النشطة

تجاوز هذه الحدود يعني أخطاء HTTP 429، لذا يثبت طابور إرسال صغير فائدته من أول مرة تصبح فيها مجموعة شائعة.

إبقاء التكاليف متوقعة

البوت العام دون حدود يدعو إلى سوء الاستخدام. أربع عادات تُبقي الفاتورة متوقعة وخالية من المفاجآت:

  • ضع حصة يومية لكل مستخدم، تُخزَّن في SQLite أو حتى في قاموس بسيط.
  • اسمح بمهمة واحدة قيد التشغيل لكل مستخدم في الوقت نفسه.
  • حدّد طول الأمر النصي، كما في الشيفرة أعلاه.
  • أضف مفتاح إيقاف، مثل متغير بيئة PAUSED يجعل البوت يرد بـ "back soon".

حساب الميزانية بسيط: عدد الصور في اليوم × تكلفة الصورة. بافتراض سعر تقديري قدره $0.01 للصورة، فإن 500 صورة يوميًا تكلّف $5. ابحث عن السعر الفعلي للنموذج الذي اخترته في صفحة المزود، واضربه في تقدير متشائم لاستخدامك اليومي.

ماذا يستخدم الناس هذه البوتات

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

حالات الاستخدام أقل بريقًا مما قد تتوقع، وأكثر فائدة:

  • المتاجر الصغيرة: خلفيات منشورات التواصل والبانرات الموسمية وفن القوائم، تُنتج من الهاتف بين زبون وآخر.
  • المجموعات: نكات متكررة وملصقات مخصصة وصور رمزية تظهر خلال ثوانٍ.
  • المجتمعات: ملصقات الفعاليات وترويسات القنوات التي يمكن للمشرفين طلبها دون فتح تطبيق تصميم.
  • المصممون والكتّاب: لوحات مزاج أولية ومراجع مشاهد أثناء الابتعاد عن المكتب.

أربعة أصدقاء يضحكون أمام هاتف على شرفة سطح عند الساعة الذهبية

هناك ملاحظتان للسلامة تنطبقان عندما يتمكن غرباء من استخدام بوتك. أضف مرشّحًا أساسيًا للأوامر يرفض الطلبات الضارة بوضوح، ولا تسمح بإنتاج صور واقعية لأشخاص حقيقيين يُذكرون بأسمائهم. ضع علامة تشير إلى أن الصور مولّدة بالذكاء الاصطناعي عندما تنشرها علنًا.

كيفية استخدام P-Image على PicassoIA

إذا أردت الصور دون كتابة بوت، فإن P-Image مكان سريع للبدء. الخطوات نفسها تنطبق على النماذج الأخرى في الجدول أعلاه.

  1. افتح صفحة P-Image على PicassoIA.
  2. اكتب وصفك في مربع الأمر النصي. سمِّ العنصر الرئيسي والمكان والإضاءة والعدسة، مثل "خباز يحمل صينية من الكرواسان، ضوء نافذة الصباح، 35mm".
  3. اختر نسبة العرض إلى الارتفاع. تناسب 16:9 ترويسات المدونات، وتناسب النسب الطويلة خلفيات الهاتف.
  4. شغّل التوليد وانتظر النتيجة.
  5. نزّل الصورة التي تعجبك، أو غيّر تفصيلة واحدة في الأمر النصي وشغّله مرة أخرى.

💡 نصيحة: غيّر شيئًا واحدًا في كل تشغيل. إذا أعدت كتابة الأمر كاملًا في كل مرة، فلن تعرف أبدًا أي عبارة صنعت الفرق.

الأوامر الواقعية كالصور الفوتوغرافية تكافئ التفاصيل: طول العدسة ووقت اليوم وملمس السطح تتفوق على صفات مثل "جميل" أو "مذهل". وبعد أن يعمل الأمر جيدًا في المتصفح، ألصقه في بوتك كلاحقة أسلوب.

أنشئ صورك الخاصة على Picasso IA

امرأة بشعر فضي تراجع صورًا مولّدة على جهاز لوحي على طاولة مطبخها

مشروع البوت على Telegram فكرة جيدة، وهو يعلّمك ما يهم فعلًا في توليد الصور: النموذج والأمر النصي والحدود. ويمكنك مع ذلك تخطي الإعداد كله والبدء في إنشاء الصور اليوم.

تضع Picasso IA عشرات نماذج تحويل النص إلى صورة في مكان واحد، لتشغّل الأمر النصي نفسه على Flux 2 Pro، وSeedream 4.5 وP-Image وترى أيها يناسب ذوقك. وإذا أردت لاحقًا ربط نموذج ببوتك الخاص، يتوفر لدى PicassoIA أيضًا API بنقاط نهاية بنمط Replicate. راجع صفحة API للاطلاع على النماذج الحالية والحدود والأسعار قبل أن تبني عليها.

اختر أمرًا واحدًا من هذا المقال، وشغّله على ثلاثة نماذج، واحتفظ بالفائز كنموذج افتراضي لبوتك. تصفح الكتالوج الكامل على picassoia.com/en/all-models وأنشئ أول صورة لك الآن.

شارك هذا المقال

اختر لغتك

مقالات ذات صلة