پرش به محتویات

فیلترهای حساب کاربری

این فیلترها برای شناسایی و مدیریت پیام‌ها در ربات مورد استفاده قرار می‌گیرند. هر فیلتر یک ویژگی خاص از پیام را بررسی می‌کند و در صورت مطابقت، مقدار True برمی‌گرداند.


📌 is_pinned

بررسی می‌کند که آیا پیام سنجاق‌شده (Pinned) است یا خیر.


🔕 is_mute

تشخیص می‌دهد که آیا گفتگو روی سایلنت (Mute) قرار دارد یا نه.


🔢 count_unseen

نمایش تعداد پیام‌های خوانده‌نشده در یک گفتگو.


🆔 message_id

شناسه‌ی یکتا برای هر پیام.


👥 is_group

تشخیص می‌دهد که پیام در یک گروه ارسال شده است.


👤 is_private

تشخیص می‌دهد که پیام در یک چت خصوصی ارسال شده است.


📣 is_channel

بررسی می‌کند که پیام از یک کانال آمده باشد.


📇 is_in_contact

بررسی می‌کند که آیا فرستنده‌ی پیام در لیست مخاطبین شما قرار دارد یا نه.


📝 text

تشخیص می‌دهد که پیام از نوع متنی باشد.


📨 original_update

حاوی اطلاعات خام و اصلی آپدیت دریافت‌شده از سرور.


🆔 object_guid

شناسه‌ی یکتا برای چت (گروه/کانال/خصوصی).


🆔 author_guid

شناسه‌ی یکتا برای فرستنده‌ی پیام.


⏰ time

زمان ارسال پیام (Timestamp).


↩️ reply_message_id

شناسه‌ی پیام در صورتی که این پیام ریپلای (پاسخ) به پیام دیگری باشد.


🙋 is_me

تشخیص می‌دهد که پیام توسط خود شما (ربات/کلاینت) ارسال شده باشد.


📤 is_forward

بررسی می‌کند که پیام از جایی دیگر فوروارد شده باشد.


🎉 is_event

پیام‌های سیستمی یا رویدادها مانند اضافه شدن/خروج کاربر.


📝 is_text

بررسی می‌کند که پیام شامل متن باشد.


🎵 music

بررسی می‌کند که پیام شامل یک فایل موسیقی (MP3 و مشابه) باشد.


📂 file

بررسی می‌کند که پیام شامل یک فایل (Document) باشد.


🖼️ photo

تشخیص می‌دهد که پیام یک عکس باشد.


🎥 video

تشخیص می‌دهد که پیام یک ویدیو باشد.


🎤 voice

تشخیص می‌دهد که پیام یک ویس (Voice Message) باشد.


👤 contact

تشخیص می‌دهد که پیام شامل یک مخاطب (Contact Card) باشد.


📍 location

تشخیص می‌دهد که پیام شامل یک موقعیت مکانی (Location) باشد.


📊 poll

بررسی می‌کند که پیام شامل یک نظرسنجی (Poll) باشد.


🎞️ gif

تشخیص می‌دهد که پیام یک گیف متحرک باشد.


🏷️ sticker

تشخیص می‌دهد که پیام یک استیکر باشد.


یک مثال ساده

بررسی میکنیم که آیا پیام ورودی متن است یا خیر:

from rubpy import Client, filters

app = Client("my_account")

@app.on_message_updates(filters.is_text)
async def on_new_text(update):
    await update.reply(update.text)

app.run()

چگونه فیلتر بسازیم؟

با توجه به مثال زیر، شما میتوانید فیلترهای اختصاصی خود را طراحی کنید:

async def custom_filter(update, result):
    return update.text