Developer and self-hosted
Nextcloud Talk
وضعیت: Plugin همراه (بات Webhook). پیامهای مستقیم، اتاقها، واکنشها و پیامهای markdown پشتیبانی میشوند.
Plugin همراه
Nextcloud Talk در نسخههای فعلی OpenClaw بهصورت Plugin همراه عرضه میشود، بنابراین ساختهای بستهبندیشدهٔ معمولی به نصب جداگانه نیاز ندارند.
اگر از یک ساخت قدیمیتر یا نصب سفارشی استفاده میکنید که Nextcloud Talk را شامل نمیشود، بستهٔ npm را مستقیماً نصب کنید:
نصب از طریق CLI (رجیستری npm):
openclaw plugins install @openclaw/nextcloud-talk
از بستهٔ بدون نسخهٔ مشخص استفاده کنید تا برچسب انتشار رسمی فعلی را دنبال کند. فقط زمانی یک نسخهٔ دقیق را پین کنید که به نصب قابل بازتولید نیاز دارید.
چکاوت محلی (هنگام اجرا از یک مخزن git):
openclaw plugins install ./path/to/local/nextcloud-talk-plugin
جزئیات: Plugins
راهاندازی سریع (مبتدی)
-
مطمئن شوید Plugin مربوط به Nextcloud Talk در دسترس است.
- نسخههای بستهبندیشدهٔ فعلی OpenClaw از قبل آن را همراه دارند.
- نصبهای قدیمیتر/سفارشی میتوانند آن را با فرمانهای بالا بهصورت دستی اضافه کنند.
-
روی سرور Nextcloud خود، یک بات ایجاد کنید:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
بات را در تنظیمات اتاق هدف فعال کنید.
-
OpenClaw را پیکربندی کنید:
- پیکربندی:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - یا env:
NEXTCLOUD_TALK_BOT_SECRET(فقط حساب پیشفرض)
راهاندازی CLI:
openclaw channels add --channel nextcloud-talk \ --url https://cloud.example.com \ --token "<shared-secret>"فیلدهای صریح معادل:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret "<shared-secret>"رمز مبتنی بر فایل:
openclaw channels add --channel nextcloud-talk \ --base-url https://cloud.example.com \ --secret-file /path/to/nextcloud-talk-secret - پیکربندی:
-
Gateway را بازراهاندازی کنید (یا راهاندازی را تمام کنید).
پیکربندی حداقلی:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
نکات
- باتها نمیتوانند DMها را آغاز کنند. کاربر باید ابتدا به بات پیام بدهد.
- URL مربوط به Webhook باید برای Gateway قابل دسترسی باشد؛ اگر پشت پراکسی هستید،
webhookPublicUrlرا تنظیم کنید. - بارگذاری رسانه توسط API بات پشتیبانی نمیشود؛ رسانه بهصورت URL ارسال میشود.
- بار دادهٔ Webhook بین DMها و اتاقها تمایز قائل نمیشود؛ برای فعالسازی جستوجوی نوع اتاق،
apiUser+apiPasswordرا تنظیم کنید (در غیر این صورت DMها بهعنوان اتاق در نظر گرفته میشوند).
کنترل دسترسی (DMها)
- پیشفرض:
channels.nextcloud-talk.dmPolicy = "pairing". فرستندگان ناشناس یک کد جفتسازی دریافت میکنند. - تأیید از طریق:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- DMهای عمومی:
channels.nextcloud-talk.dmPolicy="open"بههمراهchannels.nextcloud-talk.allowFrom=["*"]. allowFromفقط با شناسههای کاربری Nextcloud تطبیق داده میشود؛ نامهای نمایشی نادیده گرفته میشوند.
اتاقها (گروهها)
- پیشفرض:
channels.nextcloud-talk.groupPolicy = "allowlist"(محدود به منشن). - اتاقها را با
channels.nextcloud-talk.roomsدر allowlist قرار دهید:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- برای مجاز نکردن هیچ اتاقی، allowlist را خالی نگه دارید یا
channels.nextcloud-talk.groupPolicy="disabled"را تنظیم کنید.
قابلیتها
| ویژگی | وضعیت |
|---|---|
| پیامهای مستقیم | پشتیبانی میشود |
| اتاقها | پشتیبانی میشود |
| رشتهها | پشتیبانی نمیشود |
| رسانه | فقط URL |
| واکنشها | پشتیبانی میشود |
| فرمانهای بومی | پشتیبانی نمیشود |
مرجع پیکربندی (Nextcloud Talk)
پیکربندی کامل: پیکربندی
گزینههای ارائهدهنده:
channels.nextcloud-talk.enabled: فعال/غیرفعال کردن راهاندازی کانال.channels.nextcloud-talk.baseUrl: URL نمونهٔ Nextcloud.channels.nextcloud-talk.botSecret: رمز مشترک بات.channels.nextcloud-talk.botSecretFile: مسیر فایل معمولی رمز. پیوندهای نمادین رد میشوند.channels.nextcloud-talk.apiUser: کاربر API برای جستوجوی اتاقها (تشخیص DM).channels.nextcloud-talk.apiPassword: گذرواژهٔ API/برنامه برای جستوجوی اتاقها.channels.nextcloud-talk.apiPasswordFile: مسیر فایل گذرواژهٔ API.channels.nextcloud-talk.webhookPort: پورت شنوندهٔ Webhook (پیشفرض: 8788).channels.nextcloud-talk.webhookHost: میزبان Webhook (پیشفرض: 0.0.0.0).channels.nextcloud-talk.webhookPath: مسیر Webhook (پیشفرض: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: URL مربوط به Webhook که از بیرون قابل دسترسی است.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: allowlist مربوط به DM (شناسههای کاربری).openبه"*"نیاز دارد.channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: allowlist گروه (شناسههای کاربری).channels.nextcloud-talk.rooms: تنظیمات و allowlist برای هر اتاق.channels.nextcloud-talk.historyLimit: محدودیت تاریخچهٔ گروه (0 غیرفعال میکند).channels.nextcloud-talk.dmHistoryLimit: محدودیت تاریخچهٔ DM (0 غیرفعال میکند).channels.nextcloud-talk.dms: بازنویسیهای هر DM (historyLimit).channels.nextcloud-talk.textChunkLimit: اندازهٔ قطعهٔ متن خروجی (نویسهها).channels.nextcloud-talk.chunkMode:length(پیشفرض) یاnewlineبرای تقسیم بر اساس خطوط خالی (مرزهای پاراگراف) پیش از قطعهبندی بر اساس طول.channels.nextcloud-talk.blockStreaming: غیرفعال کردن پخش جریانی بلوکی برای این کانال.channels.nextcloud-talk.blockStreamingCoalesce: تنظیم همجوشی پخش جریانی بلوکی.channels.nextcloud-talk.mediaMaxMb: سقف رسانهٔ ورودی (MB).
مرتبط
- نمای کلی کانالها — همهٔ کانالهای پشتیبانیشده
- جفتسازی — احراز هویت DM و جریان جفتسازی
- گروهها — رفتار گفتوگوی گروهی و محدودسازی با منشن
- مسیریابی کانال — مسیریابی نشست برای پیامها
- امنیت — مدل دسترسی و مقاومسازی