24. LINE (plagin)¶
-
LINE OpenClaw’ga LINE Messaging API orqali ulanadi. 26. Plagin gateway’da webhook qabul qiluvchisi sifatida ishlaydi va autentifikatsiya uchun kanalga kirish tokeningiz + kanal maxfiy kalitingizdan foydalanadi.
-
Holati: plagin orqali qo‘llab-quvvatlanadi. 28. Shaxsiy xabarlar, guruh chatlari, media, joylashuvlar, Flex xabarlar, shablon xabarlar va tezkor javoblar qo‘llab-quvvatlanadi. 29. Reaksiyalar va thread’lar qo‘llab-quvvatlanmaydi.
30. Plagin talab qilinadi¶
- LINE plaginini o‘rnating:
32. openclaw plugins install @openclaw/line
- Lokal checkout (git repozitoriydan ishga tushirilganda):
34. openclaw plugins install ./extensions/line
35. Sozlash¶
-
- LINE Developers akkauntini yarating va Konsolni oching: https://developers.line.biz/console/
-
- Provider yarating (yoki tanlang) va Messaging API kanalini qo‘shing.
-
- Kanal sozlamalaridan Channel access token va Channel secret ni nusxalab oling.
-
- Messaging API sozlamalarida Use webhook ni yoqing.
-
- Webhook URL’ni gateway endpoint’ingizga o‘rnating (HTTPS talab qilinadi):
41. https://gateway-host/line/webhook
- Gateway LINE’ning webhook tekshiruviga (GET) va kiruvchi hodisalarga (POST) javob beradi.
- Agar sizga maxsus yo‘l kerak bo‘lsa,
channels.line.webhookPathyokichannels.line.accounts.<id>ni sozlang44..webhookPathva URL’ni mos ravishda yangilang.
45. Sozlash¶
- Minimal konfiguratsiya:
47. {
channels: {
line: {
enabled: true,
channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN",
channelSecret: "LINE_CHANNEL_SECRET",
dmPolicy: "pairing",
},
},
}
- Muhit o‘zgaruvchilari (faqat standart akkaunt uchun):
-
LINE_CHANNEL_ACCESS_TOKEN
-
LINE_CHANNEL_SECRET
- Token/maxfiy fayllar:
2. {
channels: {
line: {
tokenFile: "/path/to/line-token.txt",
secretFile: "/path/to/line-secret.txt",
},
},
}
- Bir nechta akkauntlar:
4. {
channels: {
line: {
accounts: {
marketing: {
channelAccessToken: "...",
channelSecret: "...",
webhookPath: "/line/marketing",
},
},
},
},
}
5. Kirishni boshqarish¶
- To‘g‘ridan-to‘g‘ri xabarlar (DM) sukut bo‘yicha juftlashga o‘rnatilgan. 7. Noma’lum jo‘natuvchilarga juftlash kodi beriladi va ular tasdiqlanmaguncha xabarlari e’tiborsiz qoldiriladi.
8. openclaw pairing list line
openclaw pairing approve line <CODE>
- Ruxsat etilgan ro‘yxatlar va siyosatlar:
-
channels.line.dmPolicy:pairing | allowlist | open | disabled
-
channels.line.allowFrom: DM uchun ruxsat etilgan LINE foydalanuvchi IDlari
-
channels.line.groupPolicy:allowlist | open | disabled
-
channels.line.groupAllowFrom: guruhlar uchun ruxsat etilgan LINE foydalanuvchi IDlari
-
- Guruh bo‘yicha alohida sozlamalar:
channels.line.groups.<groupId>15..allowFrom
- Guruh bo‘yicha alohida sozlamalar:
- LINE IDlari katta-kichik harflarga sezgir. 17. Yaroqli IDlar quyidagicha ko‘rinadi:
-
- Foydalanuvchi:
U+ 32 ta hex belgi
- Foydalanuvchi:
-
- Guruh:
C+ 32 ta hex belgi
- Guruh:
-
- Xona:
R+ 32 ta hex belgi
- Xona:
21. Xabarlar xatti-harakati¶
-
- Matn 5000 belgidan bo‘laklarga ajratiladi.
-
- Markdown formatlash olib tashlanadi; kod bloklari va jadvallar imkon qadar Flex kartalarga aylantiriladi.
-
- Oqimli javoblar buferlanadi; agent ishlayotgan paytda LINE to‘liq bo‘laklarni yuklanish animatsiyasi bilan qabul qiladi.
-
- Media yuklab olishlar
channels.line.mediaMaxMbbilan cheklanadi (sukut bo‘yicha 10).
- Media yuklab olishlar
26. Kanal ma’lumotlari (boy xabarlar)¶
- Tezkor javoblar, joylashuvlar, Flex kartalar yoki shablon xabarlarni yuborish uchun
channelData.linedan foydalaning.
28. {
text: "Here you go",
channelData: {
line: {
quickReplies: ["Status", "Help"],
location: {
title: "Office",
address: "123 Main St",
latitude: 35.681236,
longitude: 139.767125,
},
flexMessage: {
altText: "Status card",
contents: {
/* Flex payload */
},
},
templateMessage: {
type: "confirm",
text: "Proceed?",
confirmLabel: "Yes",
confirmData: "yes",
cancelLabel: "No",
cancelData: "no",
},
},
},
}
- LINE plagini Flex xabarlar uchun tayyor sozlamalarga ega
/cardbuyrug‘ini ham taqdim etadi:
30. /card info "Welcome" "Thanks for joining!"
31. Nosozliklarni bartaraf etish¶
-
- Webhook tekshiruvi muvaffaqiyatsiz: webhook URL HTTPS ekanligiga va
channelSecretLINE konsolidagi qiymatga mos kelishiga ishonch hosil qiling.
- Webhook tekshiruvi muvaffaqiyatsiz: webhook URL HTTPS ekanligiga va
-
- Kirish hodisalari yo‘q: webhook yo‘li
channels.line.webhookPathga mos kelishini va shlyuz LINE’dan yetib borilishi mumkinligini tasdiqlang.
- Kirish hodisalari yo‘q: webhook yo‘li
-
- Media yuklab olish xatolari: media sukut bo‘yicha limitdan oshsa,
channels.line.mediaMaxMbni oshiring.
- Media yuklab olish xatolari: media sukut bo‘yicha limitdan oshsa,