যেহেতু আমি অতিরিক্ত বিশদ সরবরাহ করছি, মূলটির উপর ভিত্তি করে আমি নিজের উত্তর লিখছি (এটি সম্পাদনার পরিবর্তে)।
হ্যাঁ, এটি করার একটি উপায় আছে তবে এই পদ্ধতিটি কেবল ওয়েব-ভিত্তিক ফেসবুক এবং ম্যাসেঞ্জারের জন্য কাজ করে; আপনি মোবাইল অ্যাপ্লিকেশনগুলির জন্য অনুরূপ কিছু করতে পারবেন না।
মূলত, ক্লায়েন্টটি এখনও উপলব্ধ কিনা তা যাচাই করার জন্য ফেসবুক সার্ভার সাইডে সময়োচিত অনুরোধগুলি ব্যবহার করে। সুতরাং সামনের প্রান্তটি (লোড হওয়া ফেসবুক ওয়েব পৃষ্ঠা) পর্যায়ক্রমে তাদের সার্ভারগুলিতে অলস সময় সহ একটি HTTP অনুরোধ ( এক্সএইচআর ) প্রেরণ করবে ।
এই জাতীয় অনুরোধের উদাহরণ এখানে:
https://1-edge-chat.facebook.com/pull?channel=p_<UserID>&seq=0&partition=-2&clientid=18ae8ecc&cb=ie3k&idle=117&qp=y&cap=8&msgs_recv=0&uid=userid&viewer_uid=userid&msgr_region=FRC&state=offline
দ্রষ্টব্য: আমি ব্যবহারকারীর আইডি প্রতিস্থাপন করেছি যা সাধারণত একটি নম্বর হবে।
যদি আপনি উপরের ইউআরএলটি পড়েন তবে আপনি অংশটি নিষ্ক্রিয় = 117 বলছেন । এটি অ্যাকাউন্টটি নিষ্ক্রিয় হয়ে যাওয়ার মোট সংখ্যাকে বোঝায়। রাষ্ট্র = অফলাইন চ্যাট চালু বা বন্ধ করা হয় কিনা ঘোরা।
সুতরাং, এটি অক্ষম করতে, কেবলমাত্র আপনার বিজ্ঞাপন ব্লকারের ফিল্টারগুলির কাস্টম তালিকায় নিম্নলিখিত নিয়মটি যুক্ত করুন:
||*-edge-chat.facebook.com^$xmlhttprequest
ফেসবুক এবং ম্যাসেঞ্জার উভয়কেই অক্ষম করতে, আপনি নিম্নলিখিত দুটি লাইন যুক্ত করতে পারেন:
||*-edge-chat.facebook.com^$xmlhttprequest
||*-edge-chat.messenger.com^$xmlhttprequest
অথবা একক লাইন, রেজেক্স ব্যবহার করে :
/^https?\:\/\/\d+-edge-chat\.(facebook|messenger)\.com\/?/$xmlhttprequest
এই পদ্ধতির কয়েকটি ত্রুটি হ'ল আপনি আসল সময়ে বার্তাগুলি গ্রহণ করতে সক্ষম হবেন না এবং চ্যাট চালু থাকলেও আপনি অনলাইনে উপস্থিত হবেন না। নতুন বার্তা পাওয়ার জন্য আপনাকে পৃষ্ঠাটি রিফ্রেশ করতে হবে।
এই উভয় ত্রুটিগুলি এড়াতে, এখানে একটি কার্যকারিতা রয়েছে। পরিবর্তে আপনি এই লাইনটি যুক্ত করতে পারেন:
/^https?\:\/\/\d+-edge-chat\.facebook\.com\/pull\?.*state=offline/$xmlhttprequest
অথবা, এটি ফেসবুক এবং ম্যাসেঞ্জার উভয়ের জন্য যুক্ত করুন:
/^https?\:\/\/\d+-edge-chat\.(facebook|messenger)\.com\/pull\?.*state=offline/$xmlhttprequest
এর শেষ ফলাফলটি নিম্নলিখিত হবে:
- আপনার চ্যাট বন্ধ হয়ে গেলে, আপনি অনলাইনে উপস্থিত হবেন না, আপনার শেষ ক্রিয়াকলাপটি রিপোর্ট করা হবে না এবং আপনি রিয়েল টাইমে বার্তাগুলি গ্রহণ করতে সক্ষম হবেন না।
- যখন আপনার চ্যাট চালু থাকবে, আপনি অনলাইনে উপস্থিত হবেন, আপনার শেষ ক্রিয়াকলাপটি প্রতিবেদন করা হবে এবং আপনি রিয়েল টাইমে বার্তা পেতে সক্ষম হবেন be
দুর্ভাগ্যক্রমে, অন্য কোনও সমাধান নেই বলে মনে হয় যেহেতু ফেসবুকের সামনের প্রান্তটি কেবল তখনই মেসেজ আনতে পারে যখন ক্লায়েন্ট পর্যায়ক্রমে প্রতিবেদন করে যে তারা সক্রিয় রয়েছে, অতএব শেষ ক্রিয়াকলাপটি প্রকাশিত হওয়ার পরে এটি আনা হয়। এই উভয় ক্রিয়া একই অনুরোধের মাধ্যমে একটি একক ব্যাক-এন্ড স্ক্রিপ্ট ( * -edge-chat.facebook.com / পুল ) দ্বারা সম্ভব হয়েছে ; অতএব, আপনি অন্য ছাড়া একটি থাকতে পারে না।