کلاس BotFilters – فیلترهای پیشساخته
کلاس BotFilters
مجموعهای از فیلترهای ساده و کاربردی برای تشخیص نوع پیام دریافتی در ربات است. این فیلترها بهصورت متدهای استاتیک پیادهسازی شدهاند تا بتوان از آنها مستقیماً در هندلرها یا شرطها استفاده کرد.
وابستگیها:
Message
: ساختار پیام استاندارد در RubJSClientFilters.findKey(...)
: متدی برای بررسی وجود کلید خاص در پیام
فیلترهای پایه
isText(message): boolean
بررسی میکند که آیا پیام دارای محتوای متنی (text
) است یا خیر.
isLocation(message): boolean
بررسی وجود موقعیت مکانی (location
) در پیام.
isSticker(message): boolean
تشخیص اینکه پیام حاوی استیکر است.
isForward(message): boolean
بررسی اینکه پیام از کاربر دیگری فوروارد شده (forwarded_from
) است یا نه.
isReply(message): boolean
تشخیص اینکه پیام یک پاسخ (reply_to_message_id
) به پیام دیگری است یا خیر.
isContact(message): boolean
بررسی وجود مخاطب (contact_message
) در پیام.
isPoll(message): boolean
تشخیص اینکه پیام شامل نظرسنجی (poll
) است.
isLiveLocation(message): boolean
بررسی اینکه پیام شامل موقعیت مکانی زنده (live_location
) است یا نه.
isFile(message): boolean
بررسی اینکه پیام حاوی فایل (file
) است یا خیر.
isDelete(message): boolean
تشخیص اینکه آیا پیام مربوط به حذف یک پیام دیگر است (removed_message_id
).
فیلترهای قابل سفارشیسازی
kypadID(button_id: string): (message: Message) => boolean
فیلتر داینامیکی برای بررسی مقدار button_id
در پیام. خروجی این تابع یک تابع دیگر است که میتوان آن را مستقیماً در شرطها یا هندلرها استفاده کرد.
مثال:
const { Bot } = require("rubjs");
const bot = new Bot("YOUR_TOKEN");
bot.on("message", [BotFilters.kypadID("confirm_delete"), BotFilters.isDelete], (ctx) => {
console.log(ctx);
});
bot.run()