Skip to content

Instantly share code, notes, and snippets.

@rozsazoltan
Last active October 6, 2022 11:11
Show Gist options
  • Save rozsazoltan/54e1d4f91cf3e2772772ab459d3d63ed to your computer and use it in GitHub Desktop.
Save rozsazoltan/54e1d4f91cf3e2772772ab459d3d63ed to your computer and use it in GitHub Desktop.
How to can remove all send messages permanently in facebook messenger from me and other participants?

rozsazoltan - gist License

Facebook kiegészítők

Messenger elküldött üzenetek végleges törlése

RemoveSendMessages-In-FacebookMessenger.js - Minden általad elküldött üzenet törlése egy adott chatbeszélgetésből. (Ezt ugyanis egyesével kellene megtenned, de az algoritmus ezt elvégzi helyetted, akár az első üzenetig visszamenőleg.)

Marketplace kevesebb termék megjelenítése

LessContent-In-FacebookMarketplace.js - A Marketplace kategóriák gyakoriságát lehet csökkenteni. Az algoritmus segít nagy mértékben csökkenteni a rád zúdított egyébként nem szükséges termékek megjelenítését. Így nem ösztönöz a továbbiakbn vásárlásra a felület.

Reklámok, javaslatok elrejtése

BlockAds-In-Facebook.md - Nem kívánatos elemek, személyreszabott reklámok és javaslatok megfelelő hivatkozás esetén mindig beazonosíthatóak, és egy megfelelő kóddal elrejthetőek az oldal betöltést követően. A listában fellelhető számos - szinte a legtöbb - ilyen elem hivatkozása. Ezeket egy megfelelő kód használatával elrejtheti.

Elemek listája

Reklámok, felesleges javaslatok megjelenítésének blokkolásához szükséges elemek listája:

facebook.com##.gm7ombtx.jbae33se.gpl4oick.bjjx79mm.taijpn5t.cbu4d94t.j83agx80.bp9cbjyn
facebook.com##.f9o22wc5.ad2k81qe.h5jnrui8.gh85xwnk.grtyclo8
facebook.com##.pybr56ya.dati1w0a.hv4rvrfc.osnr6wyh.lhclo0ds.j83agx80.bp9cbjyn
facebook.com##.rq0escxv.l9j0dhe7.du4w35lb.obtkqiv7.sv5sfqaa.sj5x9vvc.cxgpxx05
facebook.com##.du4w35lb.k4urcfbm.l9j0dhe7.e5nlhep0.ecm0bbzt
facebook.com##.je60u5p8
facebook.com##.b3onmgus.ph5uu5jm.g5gj957u.buofh1pr.cbu4d94t.rj1gh0hx.j83agx80.rq0escxv.fnqts5cd.fo9g3nie.n1dktuyu.e5nlhep0.ecm0bbzt
facebook.com##.oajrlxb2.g5ia77u1.qu0x051f.esr5mh6w.e9989ue4.r7d6kgcz.rq0escxv.nhd2j8a9.p7hjln8o.kvgmc6g5.cxmmr5t8.oygrvhab.hcukyx3x.jb3vyjys.rz4wbd8a.qt6c0cv9.a8nywdso.i1ao9s8h.esuyzwwr.f1sip0of.n00je7tq.arfg74bv.qs9ysxi8.k77z8yql.abiwlrkh.p8dawk7l.lzcic4wl.bp9cbjyn.j83agx80.cbu4d94t.datstx6m.taijpn5t.l9j0dhe7.k4urcfbm
facebook.com##.s1i5eluu.akjuzmll.bub6lnnc.i09qtzwb.lthxh50u.pmqtw6m8.pmk7jnqg.tkxwya3v.tt24zdws.ms05siws.flx89l3n.b7h9ocf4.jav28p83
facebook.com##.i09qtzwb.rq0escxv.n7fi1qx3.pmk7jnqg.j9ispegn.kr520xx4.nhd2j8a9
facebook.com##.rq0escxv.l9j0dhe7.du4w35lb.hybvsw6c.qbxu24ho.bxzzcbxg.lxuwth05.h2mp5456.goun2846.ccm00jje.s44p3ltw.mk2mc5f4.frvqaej8.ed0hlay0.afxsp9o4.jcgfde61.io0zqebd.m5lcvass.fbipl8qg.nwvqtn77.k4urcfbm.ni8dbmo4.stjgntxs.kmp5kqmu
facebook.com##.l9j0dhe7.du4w35lb.rq0escxv.j83agx80.cbu4d94t.pfnyh3mw.d2edcug0.ihqw7lf3.cwj9ozl2
facebook.com##.rq0escxv.l9j0dhe7.du4w35lb.j83agx80.cbu4d94t.buofh1pr.tgvbjcpo.sv5sfqaa.obtkqiv7
facebook.com##.xbbxn1n.xwxc41k.xxbr6pl.x1p5oq8j.xl56j7k.xdt5ytf.x78zum5.x6s0dn4
facebook.com##.x1j85h84.x4p5aij
facebook.com##.x1n2onr6.x1ja2u2z.x9f619.x78zum5.xdt5ytf.x2lah0s.x193iq5w.x1l90r2v.x1jx94hy

Az elemekre a megfelelő osztályokkal hivatkozhatunk, így előfordulhat, hogy egy adott nem kívánatos elem blokkolásánál eltűnhet más szükséges elem is az oldalról. Ezekért felelősséget nem áll módunkban vállalni. Mindenki a saját felelősségére használja a listát! Utolsó frissítés: 2022-10-06 Figyelem, ha a lista utolsó frissítése óta huzamosabb idő telt el, előfordulhat, hogy a tesztelt állapottól eltér a facebook felépítése, és annomáliákat eredményezhet!

Használt bővítmény

A fenti elemeket integrálhatja bármely elemeket eltávolító oldalmannipulációs böngésző bővítménybe. Javasolt bővítmény megtekintéséhez kattintson ide.

/**
** Használati útmutatás
* 1. Link megnyitása: https://www.facebook.com/marketplace/
* 2. Böngésző Konzol megnyitása
* 3. Ezen fájl kódjának beillesztése, majd ENTER billentyű leütése
* 4. Türelem, türelem és türelem
*/
/**
** Kiegészítők
*/
/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
// Szükséges a https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js importálása a kódfuttatása előtt.
/**
** Paraméterek
* - Sebesség: mennyi másodpercenként ellenőrizze a törlést?
* - Lassabb gépeken előfordulhat, hogy lassabban kell haladnia a böngésző lassú renderelése miatt.
*/
const speed = 1; // 1s - 1000ms
/**
** Kategóriák eltüntetése
*/
const interval = setInterval(function() {
// Továbbiak gombra kattintás
$("div[aria-label='továbbiak']").click();
// Mutass kevesebbet kiválasztása
$("div[role='menuitem']").click();
// Oldal aljára tekerés újabb elemek megjelenítéséhez
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
}, speed*1000);
/**
** Végtelen ciklus leállítása
* - Ciklus leállításához üsse be a konzolba a következő parancsot, majd nyomjon ENTER billentyűt
* - Ha az oldal már nem hoz több elemet sikerrel járt a tartalomcsökkentés, és leállíthatja a keresést.
*/
// clearInterval(interval);
/**
** Használati útmutatás
* 1. Link megnyitása: https://www.facebook.com/messages/t/
* 2. Törölni kívánt beszélgetés kiválasztása
* 3. Böngésző Konzol megnyitása
* 4. Ezen fájl kódjának beillesztése, majd ENTER billentyű leütése
* 5. Türelem, türelem és türelem
*/
/**
** Kiegészítők
*/
/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
// Szükséges a https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js importálása a kódfuttatása előtt.
/**
** Paraméterek
* - Sebesség: mennyi másodpercenként ellenőrizze a törlést?
* - Lassabb gépeken előfordulhat, hogy lassabban kell haladnia a böngésző lassú renderelése miatt.
*/
const speed = 0.5; // 0.5s - 500ms
/**
** Görgetés adott elemhez
* - biztosítja a folyamatos törlést
*/
const scrollingTo = (target = null) => {
const container = $('div[data-release-focus-from="CLICK"]')[0];
Element.prototype.documentOffsetTop = function () {
return this.offsetTop + ( this.offsetParent ? this.offsetParent.documentOffsetTop() : 0 );
};
const toTop = target == null;
const top = toTop ? 0 : document.getElementById(target).documentOffsetTop() - ( container.innerHeight / 2 );
container.scrollTo( 0, top );
}
/**
** Szimuláció: Adott elemhez egér mozgatása
*/
const mouseEventOf = (eventType) => (element, x, y) => {
const rect = element.getBoundingClientRect()
const event = new MouseEvent(eventType, {
view: window,
bubbles: true,
cancelable: true,
clientX: rect.left + x,
clientY: rect.top + y,
})
element.dispatchEvent(event)
}
/**
** Szimuláció: Adott elem "click" eseményének megidézése
*/
const clickOnElement = (element, x, y) => {
mouseEventOf('click')(element, x, y)
}
/**
** Szimuláció: Adott elem "hover" eseményének megidézése
*/
const hoverOnElement = (element, x, y) => {
mouseEventOf('mousemove')(element, x, y)
mouseEventOf('mouseover')(element, x, y)
}
/**
** Adott elem törlése
*/
const remove = (e, needScroll = false) => {
if(needScroll) {
e.id = "here-removing";
scrollingTo(e.id);
e.id = "";
}
// Szimuláció: vidd az egeret az adott elem (1;1) kordinátájába (bal felső sarok) - hover
// Az üzenetet kezelő gombok csak hover esetén jelennek meg javascripttel
hoverOnElement(e, 1, 1);
// További lehetőségek megnyitása
$("[aria-label='Továbbiak']").click();
// Üzenet eltávolításának kiválasztása
$("[aria-label='Üzenet eltávolítása']").click();
// Ekkor az ablak neve határozza meg, hogy ki küldte az üzenetet
// Ha saját üzenet
if($("[aria-label='Kinek szeretnéd eltávolítani ezt az üzenetet?']").length) {
// Távolítsa el
$("[aria-label='Eltávolítás']").click();
}
// Ha más üzenete
else if($("[aria-label='Eltávolítás magadnak']").length) {
// Hagyja meg
$("[aria-label='Mégsem']").click();
// Vegye ki a listából
e.setAttribute('data-testid', '');
}
}
/**
** Üzenet törlése megadott időintervallumonként
* - A messenger chat ablak legújabb üzenetei alul vannak, így a legutolsó elemet kiválasztja
* - Eltudja dönteni, hogy saját vagy nem saját üzenetről van e szó (Nem sajátot nem lehet véglegesen törölni, így nincs értelme)
* - Ha saját üzenet, akkor véglegesen törli. Ha nem saját vagy már törölt, akkor átugorja
* - A művelet elvégzését követően eltávolítja az azonosításra használt data-testid értékét, így egy idő után elfogynak az eddig renderelt elemek
* - Ha nincs renderelve a keresett elem, akkor a chaten belül fentebb görget a kód és folytatja a munkáját
*/
const interval = setInterval(function() {
// Üzenetek mindig message-container data-testid-val vannak ellátva, így ezeket lekérve mindig a 0. elemmel dolgozunk
let item = $('div[data-testid="message-container"]').slice(-1)[0];
// Ha nincs ilyen elem, akkor állítsa le a ciklust
/*if(typeof item == 'undefined') {
clearInterval(myInterval);
return false;
}*/
// Ha nincs ilyen elem, akkor görgessen fentebb
if(typeof item == 'undefined') {
scrollingTo();
return false;
}
// Ha az elem még nem visszavont üzenet, akkor töröld
if(item.innerText.includes("Visszavontál egy üzenetet") == false) {
remove(item);
}
// Ha törölt elemre bukkantunk, akkor csak eltávolítjuk a listából
else {
item.setAttribute('data-testid', '');
}
return true;
// Nincs visszatérés, ez nem végtelen ciklus. Hanem 350ms-ként meghívandó ciklus
}, speed*1000);
/**
** Végtelen ciklus leállítása
* - Ciklus leállításához üsse be a konzolba a következő parancsot, majd nyomjon ENTER billentyűt
*/
// clearInterval(interval);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment