متر تشخیص بات (BotDetectionMeter)

نمایش درصدی سه‌حالته‌ی تشخیص بات — واقعی / مشکوک / بات — برای پروفایل‌های رسانه و تحلیل کامنت‌ها

معرفی

BotDetectionMeter توزیع سه‌حالته‌ی تشخیص بات را نمایش می‌دهد: واقعی (حساب‌های انسانی تأیید‌شده)، مشکوک (شواهد ناکافی)، و بات (خودکار تأیید‌شده). برای ارزیابی اعتبار یک پیج، پاک‌سازی کامنت‌ها پیش از تحلیل، یا نمایش خلاصه‌ی کیفیت دنبال‌کنندگان مناسب است.

چه زمانی استفاده کنیم:

  • صفحه‌ی پروفایل یک اکانت رسانه اجتماعی — نمایش کیفیت دنبال‌کنندگان
  • کارت‌های کامنت‌سنج — چه درصدی از کامنت‌ها از اکانت‌های واقعی است
  • خلاصه‌ی کمپین تبلیغ/بوستر — کیفیت تعامل

چه زمانی استفاده نکنیم:

  • دسته‌بندی بیش از 3 حالت نیاز دارید — Distribution (kind="sentiment" یا kind="flow") برای 4-5 کلاس
  • فقط یک درصد تکی مثل «82٪ واقعی» — CircularProgress یا Progress ساده کافی است
  • داده‌ی سری‌زمانی — از یک خط‌نمودار کوچک در کنار این متر استفاده کنید، نه این متر به‌تنهایی
نرخ حساب‌های واقعی78٪
واقعی78٪مشکوک15٪بات7٪

زمین بازی

زمین بازی
نرخ حساب‌های واقعی78٪
واقعی78٪مشکوک15٪بات7٪
تنظیمات
ظاهر
محتوا
کد این نمونه به‌صورت خودکار قابل تولید نیست — برای کد آماده‌ی copy/paste به بخش «استفاده» در بالای صفحه مراجعه کنید.

استفاده

import { BotDetectionMeter } from '@partodata/ui'

export function AccountAudit() {
  return <BotDetectionMeter data={{ real: 824, suspicious: 156, bot: 74 }} />
}

پیش‌فرض variant="stacked": یک نوار افقی با سه بخش رنگی، خلاصه‌ی «نرخ حساب‌های واقعی» بالا، و legend پایین. درصدها با روش «بزرگ‌ترین باقیمانده» گرد می‌شوند تا جمع دقیقاً 100 باشد.

انواع

bars — سه نوار جداگانه

واقعی82478٪
مشکوک15615٪
بات747٪

هر حالت یک نوار مستقل دارد؛ مناسب جاهایی که می‌خواهید هر دسته جداگانه خوانده شود. showCounts برای نمایش تعداد مطلق کنار درصد.

compact — فقط یک خط متن

واقعی78٪مشکوک15٪بات7٪

برای table cell، tooltip، یا کارت‌های کوچک که جا محدود است.

اندازه‌ها

sm

واقعی84٪مشکوک12٪بات4٪

md (پیش‌فرض)

واقعی84٪مشکوک12٪بات4٪

lg

واقعی84٪مشکوک12٪بات4٪

size="sm" برای table cell، size="md" پیش‌فرض، size="lg" برای کارت‌های مستقل.

حالت خالی

وقتی هر سه مقدار (real، suspicious، bot) صفر باشند، کامپوننت به‌جای رسم یک متر خالی («0٪ 0٪ 0٪» که مثل نتیجه‌ی واقعیِ «صفر بات» خوانده می‌شود) پیام «داده‌ای برای تحلیل وجود ندارد» را با data-empty="true" روی ریشه نمایش می‌دهد. لازم نیست پیش از پاس دادن داده این حالت را خودتان مدیریت کنید.

ترکیب در کارت پروفایل

@news_channel_ir

1,054 کامنت تحلیل‌شده

مشکوک
نرخ حساب‌های واقعی64٪
واقعی64٪مشکوک25٪بات11٪

ترکیب با یک badge وضعیت و متادیتا — الگوی معمول در صفحه‌ی Audit یک اکانت.

Props

Prop

Type

راهنمای استفاده

بکنید

  • در پروفایل اکانت از variant پیش‌فرض (stacked) با size="lg" استفاده کنید تا به‌عنوان شاخص اصلی دیده شود - در ردیف جدول از variant="compact" یا size="sm" استفاده کنید - اگر تعداد مطلق را نمی‌خواهید نشان دهید، showCounts={false} بگذارید (پیش‌فرض) — درصد تنها واضح‌تر است - BotDetectionMeter را کنار یک badge وضعیت («اعتبار پایین»/«اعتبار متوسط»/«اعتبار بالا») بگذارید تا کاربر معنی دقیق درصد را زود بفهمد

نکنید

  • variant="bars" را در فضاهای خیلی باریک نگذارید — label در یک خط جا نمی‌شود - رنگ‌ها را override نکنید؛ توکن‌ها معنای semantic دارند (سبز = واقعی، زرد = مشکوک، قرمز = بات)

دسترسی‌پذیری

  • هر segment دارای role="progressbar" با aria-valuenow/min/max است و یک aria-label توصیفی (مثل «مشکوک: 15٪»)
  • نوار استک شده در یک role="group" پیچیده شده با aria-label="نرخ حساب‌های واقعی"
  • رنگ تنها راه تمایز نیست — متن درصد هم در legend نمایش داده می‌شود
  • تراز رقم‌ها در ردیف‌های جدول را کلاس tabular-nums تضمین نمی‌کند — فونت YekanBakh فقط pnum دارد، نه tnum، و عرض ارقام فارسی تناسبی است؛ اگر تراز عمودی رقم‌ها لازم است، ستون را با یک container عرض‌ثابت (مثل w-12 text-end) بسازید

کامپوننت‌های مرتبط

  • Distribution — توزیع احساس 3/4‌کلاسه (الگوی خانوادگی مشابه)
  • Progress — اگر فقط یک درصد تکی دارید (نرخ کل)
  • SeverityBadge — برای خلاصه‌ی یک‌کلمه‌ای اعتبار کنار متر