/ الدليل / الملعب / LINE Bot
● رسمي line 🔑 يتطلب مفتاحك

LINE Bot

بواسطة line · line/line-bot-mcp-server

أرسل رسائل LINE وفقاعات Flex غنية والصور إلى المستخدمين أو المجموعات عبر LINE Messaging API — مثالي لتدفقات التنبيهات في اليابان وتايوان وتايلاند.

MCP رسمي من LINE يلف LINE Messaging API. ادفع النصوص والملصقات والصور وفقاعات Flex Message إلى مستخدم حسب userId أو إلى مجموعة/غرفة من خلال معرفها. يتضمن البث الموسع (لجميع المتابعين)، narrowcast (لقطاع محدد)، والبحث عن الملفات الشخصية. تنطبق تكاليف الرسائل فيما وراء الحد المجاني.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

line-bot.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "-y",
        "@line/line-bot-mcp-server"
      ]
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "-y",
        "@line/line-bot-mcp-server"
      ]
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "-y",
        "@line/line-bot-mcp-server"
      ]
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "-y",
        "@line/line-bot-mcp-server"
      ]
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "line-bot",
      "command": "npx",
      "args": [
        "-y",
        "@line/line-bot-mcp-server"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "line-bot": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@line/line-bot-mcp-server"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add line-bot -- npx -y @line/line-bot-mcp-server

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: LINE Bot

إرسال تنبيه العمليات منسقة إلى مهندس الخدمة الفنية عبر LINE

👤 فرق SRE المقرها اليابان وتايوان حيث LINE هو الصفحة القياسية ⏱ ~25 min intermediate

متى تستخدمه: تريد أن تنبيهات Sentry/Prometheus تنبه مهندسين محددين على LINE ببطاقة Flex نظيفة، وليس جدار نص.

المتطلبات الأساسية
  • حساب LINE الرسمي + channel access token — developers.line.biz → Channel → Messaging API → Issue token
  • معرف userId المهندس (من أحداث webhook الخاص بـ bot) — التقط userId من حدث follow أو message; قم بتخزينه في قاعدة بيانات المستخدم الخاصة بك
الخطوات
  1. تصميم فقاعة Flex
    صمم فقاعة Flex Message لتنبيه Sentry: رأس (عنوان المشكلة)، نص (عدد الأحداث، الإصدار، المستخدمون المتأثرون)، أزرار (فتح في Sentry، تأكيد).✓ تم النسخ
    → JSON Flex صحيح يمكن لـ Claude التحقق منه
  2. إرسال إلى المستخدم الموجود
    أرسل رسالة Flex هذه إلى userId U1234567890abcdef مع altText 'Sentry alert: <title>'.✓ تم النسخ
    → تم إرجاع messageId، بدون خطأ 400
  3. التعامل مع البديل إذا قام المستخدم بحظر البوت
    إذا فشل الإرسال مع خطأ 400 (المستخدم محظور)، قم بإرسال متعدد إلى معرفات المستخدمين الثانويين بدلاً من ذلك وسجل الفشل الأصلي.✓ تم النسخ
    → مسار بديل سلس

النتيجة: تنبيه مصقول وقابل للتنفيذ في LINE في غضون ثانيتين من الحدث الأساسي.

المزالق
  • altText مطلوب وحد أقصى 400 حرف — يفشل الإرسال صامتة بدونه — قم دائماً بتضمين altText؛ احفظه تحت 400 حرف ملخصاً الـ Flex
  • الإرسال بدون أن يكون المستخدم صديقاً للبوت يفشل مع خطأ 400 — أرسل فقط إلى userIds التقطتها من حدث webhook حقيقي — لا يمكنك تخمينها
اجمعها مع: sentry

بث تحديث منتج شهري لجميع المتابعين

👤 فرق التسويق التي لها وجود LINE OA ⏱ ~20 min intermediate

متى تستخدمه: مرة واحدة في الشهر، تُرسل ملخصاً لجميع المتابعين مع 3 عناصر رئيسية وروابط عميقة.

المتطلبات الأساسية
  • حد نصي كافي — تحقق من الحد الحالي مع getMessageQuota؛ رسائل LINE Push تُقاس حسب الخطة
الخطوات
  1. تحقق من الحد قبل الإرسال
    احصل على استهلاك الحد النصي الحالي والمتبقي. أكد أن لدينا رسائل <follower_count> على الأقل متبقية.✓ تم النسخ
    → رقم الحد المتبقي
  2. كوّن سلسلة دوارة Flex
    بناء سلسلة دوارة Flex بـ 3 فقاعات (عنوان، صورة، زر CTA). المدخلات: [موضوع، عنوان URL صورة، رابط] × 3.✓ تم النسخ
    → JSON سلسلة دوارة Flex صحيح
  3. بث
    بث هذه السلسلة الدوارة لجميع المتابعين مع altText '<brand> monthly update'.✓ تم النسخ
    → 200 OK، requestId للتدقيق

النتيجة: بث شهري موسوم للقاعدة الكاملة للمتابعين مع تتبع النقرات عبر روابطك المعاد توجيهها.

المزالق
  • عمليات البث مكلفة — قائمة كبيرة يمكن أن تنفذ الطبقة المجانية في إرسال واحد — للمحتوى غير العاجل، فكر في narrowcast مع قطاع محدد؛ أو قم بترقية الخطة قبل الإرسال

اسمح لـ Claude بنشر ملخص standup إلى مجموعة LINE الخاصة بالفريق

👤 الفرق حيث يكون standup يومي في مجموعة LINE ⏱ ~20 min intermediate

متى تستخدمه: كل صباح في الساعة 9، لخص نشاط Linear/Sentry بالأمس وانشر ملخصاً قصيراً.

المتطلبات الأساسية
  • groupId للدردشة المستهدفة — التقط من حدث join أو message عند إضافة البوت إلى المجموعة
الخطوات
  1. تجميع الملخص في upstream
    اسحب PRs المدمجة Linear بالأمس والمشاكل Sentry الجديدة الأعلى. لخص في 5 نقاط.✓ تم النسخ
    → markdown نظيف بـ 5 نقاط
  2. إرسال إلى المجموعة
    أرسل رسالة نصية (بدون markdown؛ LINE لا يعرض markdown) إلى groupId Cxxxxx مع 5 نقاط كأسطر عادية.✓ تم النسخ
    → 200 OK
  3. تأكيد الأخطاء بصراحة
    إذا فشل الإرسال (تم إزالة البوت من المجموعة)، اكتب الفشل في /logs/line-standup.log وأخبرني عبر البريد الإلكتروني.✓ تم النسخ
    → مسار تدقيق عند الفشل

النتيجة: ملخص standup يومي موثوق يصلح نفسه بصمت وينبهك إذا كان معطوباً.

المزالق
  • إزالة البوت من المجموعة تفشل الإرسال بصمت — اشترك في أحداث leave webhook وضع علامة على المجموعة غير نشطة في قاعدة البيانات الخاصة بك
  • رسائل نصية في LINE لا تعرض Markdown أو HTML — استخدم نص عادي مع emoji، أو قم بالتبديل إلى رسالة Flex للتنسيق الغني
اجمعها مع: sentry · linear

narrowcast حملة إلى قطاع جغرافي أو سلوكي

👤 فرق النمو التي تدير عمليات إرسال موجهة ⏱ ~20 min advanced

متى تستخدمه: تريد فقط ping متابعي منطقة طوكيو حول حدث شخصي، وليس قائمتك كاملة.

المتطلبات الأساسية
  • الجمهور المعرّف في مدير حساب LINE الرسمي — أنشئ جمهوراً (جغرافي، علامة، أو قائمة userId محملة) في واجهة مستخدم OA Manager
الخطوات
  1. قائمة الجماهير
    قائمة جميع الجماهير على LINE OA الخاصة بنا. أظهر الاسم، الحجم، آخر تحديث.✓ تم النسخ
    → فهرس الجمهور
  2. كوّن رسالة خاصة بالقطاع
    بناء بطاقة Flex لـ Tokyo meetup — الموقع، التاريخ، CTA. صمم النسخة لمستخدمي منطقة طوكيو.✓ تم النسخ
    → Targeted Flex JSON
  3. Narrowcast
    Narrowcast هذا الـ Flex إلى audienceId <id>. تأكد من قبول الطلب.✓ تم النسخ
    → 202 Accepted + requestId

النتيجة: حملات دقيقة بتكلفة أقل لكل عرض وارتفاع معدل النقر.

المزالق
  • narrowcast للجمهور < 50 يفشل لأسباب الخصوصية — إذا كان القطاع صغيراً، فارجع إلى الإرسال الفردي لقائمة المستخدمين بدلاً من ذلك

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

line-bot + sentry

auto-push تنبيه Flex إلى الموجود عند ظهور مشكلة Sentry حرجة

عندما تتجاوز مشكلة Sentry جديدة في مشروع web-prod 100 حدث في 5 دقائق، ادفع تنبيه Flex إلى مستخدم LINE الموجود.✓ تم النسخ
line-bot + linear

أخبر مجموعة LINE عند إنشاء مشكلة P0 Linear

عند وضع علامة على مشكلة Linear مع P0، ادفع رسالة نصية إلى groupId Cxxxx مع العنوان والعنوان URL.✓ تم النسخ
line-bot + monday

ادفع ملخصاً يومياً لعناصر monday.com المستحقة اليوم

كل صباح في الساعة 9 صباحاً، اجمع عناصر monday.com الخاصة بي المستحقة اليوم، صيغة كسلسلة دوارة Flex، ادفع إلى مستخدم LINE الخاص بي.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
push_message to: userId|groupId|roomId, messages: Message[] أرسل إلى معرف مستقبل معروف 1 message charge
multicast to: userId[], messages: Message[] نفس الرسالة لـ <=500 مستخدم محدد 1 charge per recipient
broadcast messages: Message[] بث لجميع المتابعين؛ تأكد من الحد أولاً 1 charge per follower
narrowcast messages, recipient (audience object), filter? إرسالات موجهة حسب الجمهور 1 charge per recipient
get_profile userId شخصص رسالة باسم المستخدم المعروض free
get_message_quota قبل أي بث/narrowcast free

التكلفة والحدود

تكلفة التشغيل

حصة API
LINE API تُقاس بالرسائل، وليس الطلبات. الطبقة المجانية: 500 رسالة push مجانية/الشهر (تجربة المطور) أو 200/الشهر (خطة light).
الرموز لكل استدعاء
رسالة نصية: ~200 رموز طلب. رسالة Flex: 500–2000 رمز حسب تعقيد الفقاعة.
التكلفة المالية
خطة light مجانية (200 رسالة/الشهر)، Standard ¥5,000/الشهر (حتى 30k رسالة)، Pro ¥15,000/الشهر (45k+).
نصيحة
استخدم reply_message كلما أمكن — الردود مجانية. ادفع فقط عندما لا يكون لديك replyToken.

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: Channel access token (طويل الأجل، Messaging API)
تخزين بيانات الاعتماد: CHANNEL_ACCESS_TOKEN و CHANNEL_SECRET في متغيرات env
نقل البيانات الخارجي: جميع الاتصالات إلى api.line.me و api-data.line.me
لا تمنح أبدًا: Channel secret لكود من جانب العميل — إنه للتحقق من توقيع webhook فقط

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

401 Invalid channel access token

انتهت صلاحية الرمز أو تم إلغاؤه. أعد الإصدار في developers.line.biz → Channel → Messaging API.

تحقق: curl -H 'Authorization: Bearer $CHANNEL_ACCESS_TOKEN' https://api.line.me/v2/bot/info
400 The property, altText, must be specified

كل رسالة غير نصية (صورة، Flex) تتطلب altText. أضفه.

400 The user hasn't added the LINE Official Account as a friend

لا يمكنك الإرسال إلى userIds عشوائية — فقط تلك التي أرسلت رسالة/متابعة البوت الخاص بك. استخدم replyToken بدلاً من ذلك لهذا المستقبل.

429 Monthly limit reached

لقد وصلت إلى حد الخطة الخاص بك. قم بترقية الخطة أو انتظر حتى الشهر القادم؛ الردود تبقى مجانية.

تحقق: Call get_message_quota

البدائل

LINE Bot مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Slack MCPالفريق موجود على Slack (معظم أوروبا/شمال أمريكا)جمهور مختلف؛ LINE يفوز لمستهلكي اليابان وتايوان وتايلاند
Telegram MCPهدف البوت هو مستخدمو Telegramالهيمنة الجغرافية مختلفة؛ بدون حد OA/broadcast
WhatsApp Cloud API MCPتحتاج إلى الوصول إلى مستهلكي SEA/LATAMBSP onboarding أثقل؛ موافقة template أكثر صرامة

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills