SendWhatsppTextByJavaScript
BoilR
Our great sponsors
SendWhatsppTextByJavaScript | BoilR | |
---|---|---|
282 | 149 | |
10 | 1,309 | |
- | - | |
0.0 | 6.4 | |
about 3 years ago | 6 days ago | |
JavaScript | Rust | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SendWhatsppTextByJavaScript
-
Selenium WebScraper for WhatsApp to atomatically add People in Group
def __init__(self, group_name=GN): self.group_name = group_name logging.info("Starting WhatsAppGroupManager") options = webdriver.ChromeOptions() options.add_argument("user-data-dir=" + PATH_TO_CHROME_DRIVER_USER_PROFILE) self.driver = webdriver.Chrome(options=options) # self.driver.maximize_window() self.driver.get('https://web.whatsapp.com/') logging.info("Opened WhatsApp Web") def manager_kill(self): self.driver.close() self.driver.quit() def open_group_chat(self): try: # Wait for the chat input field to be visible chat_input = WebDriverWait(self.driver,45).until(EC.visibility_of_element_located( ( By.XPATH, '/html/body/div[1]/div/div[2]/div[3]/div/div[1]/div/div[2]/div[2]/div/div[1]/p') ) ) time.sleep(sleep_time) chat_input.click() Logger.info("Clicked on the chat input field on the left side of WhatsApp") time.sleep(sleep_time) # Find the input field again after clicking on it chat_input = WebDriverWait(self.driver, 45).until(EC.visibility_of_element_located( ( By.XPATH, '/html/body/div[1]/div/div[2]/div[3]/div/div[1]/div/div[2]/div[2]/div/div[1]/p') ) ) chat_input.send_keys(self.group_name) Logger.info("Inserted the group name into the search field") time.sleep(sleep_time) chat_input.send_keys(Keys.ENTER) Logger.info("Pressed ENTER") time.sleep(sleep_time) Logger.info("Opened the group chat") except Exception as e: Logger.error(f"Error: {e}") self.manager_kill() return None def open_group_info(self): try: # open group chat self.open_group_chat() time.sleep(sleep_time) chat_input = WebDriverWait(self.driver, 45).until(EC.visibility_of_element_located( ( By.XPATH, '/html/body/div[1]/div/div[2]/div[4]/div/header/div[3]/div/div[3]/div/div/span') ) ) chat_input.click() Logger.info("Clicked on the group info button") time.sleep(sleep_time) # Find the input field again after clicking on it chat_input = WebDriverWait(self.driver, 45).until(EC.visibility_of_element_located( ( By.XPATH, '/html/body/div[1]/div/span[5]/div/ul/div/div/li[1]/div') ) ) chat_input.click() Logger.info("In group info menu") time.sleep(sleep_time) except Exception as e: logging.error(f"Error in open_group_info: {e}") self.manager_kill() return None def open_add_telephone_numbers(self): self.open_group_info() time.sleep(sleep_time) try: chat_input = WebDriverWait(self.driver, 45).until(EC.visibility_of_element_located( ( By.XPATH, '/html/body/div[1]/div/div[2]/div[5]/span/div/span/div/div/div/section/div[7]/div[2]/div[1]/div[2]/div/div') ) ) chat_input.click() Logger.info("Clicked on the add telephone numbers button") time.sleep(sleep_time) except Exception as e: logging.error(f"Error in open_add_telephone_numbers: {e}") self.manager_kill() return None def add_telephone_numbers(self, phone_numbers): if isinstance(phone_numbers, str): phone_numbers = [phone_numbers] # convert string to list self.open_add_telephone_numbers() time.sleep(sleep_time) try: for phone_number in phone_numbers: try: chat_input = WebDriverWait(self.driver, 45).until(EC.visibility_of_element_located( ( By.XPATH, '/html/body/div[1]/div/span[2]/div/span/div/div/div/div/div/div/div[1]/div/div[2]/div[2]/div/div[1]/p') ) ) chat_input.click() Logger.info("Clicked on the search field") time.sleep(sleep_time) # Clear the text field chat_input.send_keys(Keys.CONTROL + 'a') chat_input.send_keys(Keys.DELETE) chat_input.send_keys(phone_number) Logger.info("Inserted the phone number into the search field") time.sleep(sleep_time) # Check if the phone number exists # Not Working try: WebDriverWait(self.driver, 2).until(EC.visibility_of_element_located( ( By.XPATH, '/html/body/div[1]/div/span[2]/div/span/div/div/div/div/div/div/div[2]/div/div/div/div[2]/div/div[2]') ) ) Logger.info("Phone Number exist") time.sleep(sleep_time) # Send the ENTER key chat_input.send_keys(Keys.ENTER) Logger.info("Pressed ENTER to add the person into the group") time.sleep(sleep_time) continue except: Logger.info(f"Phone number does not exists: {phone_number}") time.sleep(sleep_time) pass except Exception as e: logging.error(f"Error in open_add_telephone_numbers: {e}") self.manager_kill() return None # Send the ENTER key chat_input.send_keys(Keys.ENTER) Logger.info("Pressed ENTER to add the person into the group") time.sleep(sleep_time) chat_input = WebDriverWait(self.driver, 45).until(EC.visibility_of_element_located( ( By.XPATH, '/html/body/div[1]/div/span[2]/div/span/div/div/div/div/div/div/span[2]/div/div/div/span') ) ) chat_input.click() Logger.info("Clicked on the add telephone numbers button") time.sleep(sleep_time) # Confirm the adding of the telephone numbers chat_input = WebDriverWait(self.driver, 45).until(EC.element_to_be_clickable( ( By.XPATH, '/html/body/div[1]/div/span[2]/div/span/div/div/div/div/div/div[2]/div/button[2]/div/div') ) ) time.sleep(5) Logger.info("Should click on the confirmation the add telephone numbers button") chat_input.click() Logger.info("Clicked on Confirmation the add telephone numbers button") time.sleep(4) except Exception as e: logging.error(f"Error in add_telephone_numbers: {e}") self.manager_kill() return None
-
User-facing/client-side tools for internet troubleshooting
Hi everyone. The other day a client of mine's employees started having issues with the "internet not working". After some detective work with traceroute and interviewing them about what sites they were having issues with, I determined that the actual issue was with the web.whatsapp.com service having downtime. I'm mentioning all this because I'm now thinking of making them a small video/article on our intranet about how to troubleshoot problems like this by themselves. Part of that strategy is deploying WinMTR on their machines so they can run it. I still don't know how I'll verify if it's installed, but maybe checking if it's in the target folder (intend to send it to System32 by creating an Intune package with IntuneWinAppUtil.exe) is a good start. There is a Tracert app on the Appstore but it's paid and I have no idea how one can pay for it in bulk without having each employee put in a credit card. Anyways just wanted to ask what you all are doing for this type of scenarios. Cheers. PS: anyone hiring for Intune/sysadmin type jobs or know where one can find remote jobs for non-US citizens?
-
Is WhatsApp Web down in Oman?
I believe web.whatsapp.com is being blocked by local telecom companies in order to protect their duopoly and keep Oman in tech--stone-age. If fewer people know how else the rest of the world uses the internet, then they don't have to make an effort to improve their offerings. Omantel is definitely blocking this web.whatsapp.com.
-
Open Letter to WhatsApp: Need for a Linux Desktop App
What's wrong with https://web.whatsapp.com/ ?
-
Simplistic
{"nightTab":true,"version":"7.3.0","state":{"layout":{"area":{"header":{"width":74,"justify":"center"},"bookmark":{"width":100,"justify":"center"}},"alignment":"center-center","order":"header-bookmark","direction":"horizontal","size":91,"width":99,"padding":49,"gutter":49,"breakpoint":"lg","scrollbar":"none","title":"Launchpad","favicon":"https://cdn-icons-png.flaticon.com/512/7397/7397876.png","overscroll":false},"header":{"item":{"justify":"center"},"greeting":{"show":true,"type":"good","custom":"","name":"Avnes","size":146,"newLine":true},"transitional":{"show":false,"type":"time-and-date","size":100,"newLine":false},"clock":{"hour":{"show":true,"display":"number"},"minute":{"show":true,"display":"number"},"second":{"show":true,"display":"number"},"separator":{"show":true,"text":":"},"meridiem":{"show":false},"hour24":{"show":true},"size":362,"newLine":true},"date":{"day":{"show":true,"display":"word","weekStart":"monday","length":"long"},"date":{"show":true,"display":"number","ordinal":true},"month":{"show":true,"display":"word","length":"short","ordinal":true},"year":{"show":true,"display":"number"},"separator":{"show":true,"text":":"},"format":"date-month","size":121,"newLine":true},"search":{"show":true,"width":{"by":"custom","size":82},"engine":{"selected":"google","custom":{"name":"","url":"","queryName":""}},"text":{"justify":"center"},"size":86,"newLine":true,"newTab":false,"string":"partial derivative symbol"},"order":["greeting","clock","date","search"],"edit":false},"bookmark":{"size":56,"url":{"show":true},"line":{"show":true},"shadow":{"show":true},"hoverScale":{"show":true},"orientation":"bottom","style":"block","newTab":false,"edit":false,"add":false,"show":true,"item":{}},"group":{"area":{"justify":"left"},"order":"header-body","name":{"size":100},"toolbar":{"size":100},"edit":false,"add":false},"toolbar":{"location":"corner","position":"bottom-right","size":76,"accent":{"show":true},"add":{"show":true},"edit":{"show":true},"newLine":false},"theme":{"color":{"range":{"primary":{"h":218,"s":60}},"contrast":{"start":11,"end":68},"shades":14},"accent":{"hsl":{"h":270,"s":100,"l":68},"rgb":{"r":173,"g":92,"b":255},"random":{"active":false,"style":"any"},"cycle":{"active":false,"speed":300,"step":10}},"font":{"display":{"name":"Montserrat","weight":250,"style":"normal"},"ui":{"name":"Montserrat","weight":400,"style":"normal"}},"background":{"type":"image","color":{"rgb":{"r":0,"g":0,"b":0},"hsl":{"h":0,"s":0,"l":0}},"gradient":{"angle":160,"start":{"hsl":{"h":206,"s":16,"l":40},"rgb":{"r":86,"g":104,"b":118}},"end":{"hsl":{"h":219,"s":28,"l":12},"rgb":{"r":22,"g":28,"b":39}}},"image":{"url":"https://source.unsplash.com/random/1920x1080/?landscape,nature,wallpaper","blur":0,"opacity":69,"scale":100,"grayscale":0,"accent":0,"vignette":{"opacity":21,"start":100,"end":90}},"video":{"url":"","blur":0,"opacity":100,"scale":100,"grayscale":0,"accent":0,"vignette":{"opacity":0,"start":90,"end":70}}},"opacity":{"general":0},"layout":{"color":{"by":"theme","blur":6,"opacity":0,"hsl":{"h":195,"s":100,"l":55},"rgb":{"r":26,"g":198,"b":255}},"divider":{"size":0}},"header":{"color":{"by":"custom","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"search":{"opacity":34}},"bookmark":{"color":{"by":"theme","opacity":10,"hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"item":{"border":1,"opacity":50}},"group":{"toolbar":{"opacity":0}},"toolbar":{"opacity":18},"style":"dark","radius":73,"shadow":171,"shade":{"opacity":1,"blur":0},"custom":{"all":[],"edit":false}},"search":false,"modal":false,"menu":true},"bookmark":[{"name":{"text":"","show":true},"collapse":false,"toolbar":{"openAll":{"show":false},"collapse":{"show":false}},"items":[{"url":"https://web.whatsapp.com/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":12},"visual":{"show":true,"type":"icon","size":48,"letter":{"text":"Whatsapp"},"icon":{"name":"whatsapp","prefix":"fab","label":"What's App"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":121,"s":99,"l":69},"rgb":{"r":98,"g":254,"b":100}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1700054080534},{"url":"https://www.ahaguru.com/signin","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":12},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"AG ©"},"icon":{"name":"","prefix":"","label":""},"image":{"url":""},"shadow":{"size":36}}},"accent":{"by":"custom","hsl":{"h":192,"s":99,"l":56},"rgb":{"r":32,"g":209,"b":254}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1700054310774},{"url":"https://class.ahaguru.com/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":12},"visual":{"show":true,"type":"letter","size":25,"letter":{"text":"AG Ⓛ"},"icon":{"name":"500px","prefix":"fab","label":"500px"},"image":{"url":""},"shadow":{"size":34}}},"accent":{"by":"custom","hsl":{"h":176,"s":98,"l":51},"rgb":{"r":8,"g":253,"b":236}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1700054253962},{"url":"https://artsexperiments.withgoogle.com/periodic-table/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":12,"name":{"show":true,"text":"","size":12},"visual":{"show":true,"type":"image","size":62,"letter":{"text":""},"icon":{"name":"","prefix":"","label":""},"image":{"url":"https://cdn-icons-png.flaticon.com/512/4535/4535867.png?ga=GA1.1.677380455.1700120484"},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":322,"s":97,"l":72},"rgb":{"r":253,"g":114,"b":202}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":true,"tall":false},"timestamp":1700925270146},{"url":"https://app.raindrop.io","display":{"alignment":"bottom-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":12},"visual":{"show":true,"type":"image","size":54,"letter":{"text":""},"icon":{"name":"","prefix":"","label":""},"image":{"url":"https://miro.medium.com/v2/resize:fit:1024/1*JtxOMEcB0N7yoGiHjFf1Gg.png"},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":195,"s":100,"l":61},"rgb":{"r":56,"g":205,"b":255}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":true},"timestamp":1700491631679},{"url":"https://desmos.com/scientific","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":7},"visual":{"show":true,"type":"icon","size":34,"letter":{"text":""},"icon":{"name":"square-root-alt","prefix":"fas","label":"Alternate Square Root"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":154,"s":72,"l":38},"rgb":{"r":27,"g":167,"b":106}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":true,"tall":false},"timestamp":1701435891254},{"url":"https://unsplash.com","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":30,"name":{"show":true,"text":"","size":7},"visual":{"show":true,"type":"image","size":45,"letter":{"text":""},"icon":{"name":"","prefix":"","label":""},"image":{"url":"https://cdn.icon-icons.com/icons2/2566/PNG/512/unsplash_icon_153496.png"},"shadow":{"size":0}}},"accent":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0}},"color":{"by":"custom","hsl":{"h":0,"s":8,"l":85},"rgb":{"r":220,"g":214,"b":214},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":false},"timestamp":1701421863143},{"url":"https://mail.google.com/","display":{"alignment":"bottom-right","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":13},"visual":{"show":true,"type":"icon","size":44,"letter":{"text":"GM"},"icon":{"name":"envelope","prefix":"fas","label":"Envelope"},"image":{"url":""},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":281,"s":100,"l":64},"rgb":{"r":197,"g":71,"b":255}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":true,"tall":false},"timestamp":1626298011293},{"url":"https://doc.rust-lang.org/stable/book/","display":{"alignment":"bottom-left","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":12},"visual":{"show":true,"type":"image","size":90,"letter":{"text":""},"icon":{"name":"","prefix":"","label":"rust"},"image":{"url":"https://www.fpcomplete.com/wp-content/uploads/2023/04/rust-logo-512x512_white.png"},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":0,"s":99,"l":69},"rgb":{"r":254,"g":98,"b":98}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":true,"tall":true},"timestamp":1700491471508},{"url":"https://netaccess.iitm.ac.in/account/login","display":{"alignment":"center-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":12},"visual":{"show":true,"type":"icon","size":36,"letter":{"text":""},"icon":{"name":"wifi","prefix":"fas","label":"WiFi"},"image":{"url":""},"shadow":{"size":46}}},"accent":{"by":"custom","hsl":{"h":220,"s":100,"l":65},"rgb":{"r":77,"g":136,"b":255}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":true},"timestamp":1700054179807},{"url":"https://chromewebstore.google.com/","display":{"alignment":"top-center","direction":"vertical","order":"visual-name","rotate":0,"translate":{"x":0,"y":0},"gutter":25,"name":{"show":true,"text":"","size":7},"visual":{"show":true,"type":"image","size":41,"letter":{"text":""},"icon":{"name":"","prefix":"","label":""},"image":{"url":"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Google_Chrome_Web_Store_icon_2015.svg/512px-Google_Chrome_Web_Store_icon_2015.svg.png?20220227092509"},"shadow":{"size":0}}},"accent":{"by":"custom","hsl":{"h":0,"s":0,"l":100},"rgb":{"r":255,"g":255,"b":255}},"color":{"by":"theme","hsl":{"h":0,"s":0,"l":0},"rgb":{"r":0,"g":0,"b":0},"opacity":50},"background":{"show":false,"type":"image","opacity":100,"image":{"url":""},"video":{"url":""}},"border":1,"shape":{"wide":false,"tall":true},"timestamp":1701422504835}]}]}
-
Best app, like, ever?
Whatsapp (Free) - chat. although some people prefer iMessage and other ones.
-
WhatsApp Mac Client - can I have it installed two times?
use browser for one account https://web.whatsapp.com/ and app for the other
-
Can a PC get infected by Malware or Virus by watching a video via WhatsApp Web?
I've received a video via WhatsApp from an untrusted source. I used my personal PC to open the video (via "WhatsApp Web" website). I should mention that I didn't download the video to my PC, I just opened the video online, watched it then closed the web browser.
-
Unable to link any devices (browser, windows app)
I have recently moved from iPhone to Pixel 8, and when I try to link a device, for example my browser (web.whatsapp.com) or the windows app, the Whatsapp App on the phone crashes and restarts, and the linking process does not succeed.
-
https://web.whatsapp.com/ --- Search is not working
on my chrome browser i have linked device https://web.whatsapp.com/ and when i select search button (magnifying glass) i type a word and i can see search is looking for messages... but the search never completes and no messages are found.
BoilR
-
steam input in lutris games?
The easiest way to do this is to use Boilr. It supports Lutris and will add your Lutris games to Steam as shortcut automatically (and also download game art from SteamGridDB if you give it an API number). Boilr is also on Flathub so installing it and using it is super super easy.
-
Using Steam Rom Manager to add non steam games
And the fantastic Boilr
-
Proper Way to Add Alan Wake 2 as Steam Shortcut?
Hi, there's this old thread, and here the link to the tool itself. Hope it works.
-
The worst part of the Steam Deck? Launchers.
For most of them, use Boilr. Sometimes it doesn’t work, or the launcher isn’t supported, then you gotta look up “How to add X launcher games to steam”.
-
Last night I finally worked up the courage to do the shell swap!
Or Boilr, to automate it.
- Adding epic games 'games' to steamOS
-
Adding Custom Art to Non Steam Games
Can try this https://github.com/boppreh/steamgrid or this one https://github.com/PhilipK/BoilR for art on non steam game needs ur steamgriddb id
-
Best way for non-Steam Games/Launchers
You can use BoilR (https://github.com/PhilipK/BoilR) for that, it will scan all of the usual install locations for your games and let you add them to Steam as individual entries.
-
Linux Tech Tips EP#17: Install Game Launchers on Steam, the easy way!
Update: You can use BoilR (https://github.com/PhilipK/BoilR) to scan for the games installed and add them as individual entries to Steam, thanks to u/RightSaidJames for the tip!
-
Yet another Steam Deck settings guide (30fps)
I unfortunately haven't used steam rom manager before. I'll take a look into it if I get some spare time today and update this comment with how to do it. I use an app called BoilR to add my non-steam games and download artwork for them. You can read about it on it's GitHub page. It may be a bit more technical but I like it better since it adds the emulators rather than the games. This so I don't have my steam library filled with duplicates of my games between yuzu stable and yuzu-ea, if that makes sense.
What are some alternatives?
curl-impersonate - curl-impersonate: A special build of curl that can impersonate Chrome & Firefox
steamgrid - Downloads images to fill your Steam grid view
Cobalt - Standalone unofficial fully-featured Whatsapp Web and Mobile API for Java and Kotlin
HeroicBashLauncher - Directly launch any Epic Games Store and GOG game from anywhere without Heroic on Linux.
DNSlock-PiHole-whitelist
EmuDeck - Emulator configurator for Steam Deck
Ferdium - Ferdium is a desktop app that helps you organize how you use your favourite apps by combining them into one application.
steam-rom-manager - An app for managing ROMs in Steam
watomatic - Auto reply app helping you move away from less private messengers like WhatsApp and Facebook Messenger
SGDBoop - A program used for applying custom artwork to Steam, using SteamGridDB. Supports both Windows and Linux, written completely in C.
challenge-bypass-extension - DEPRECATED - Client for Privacy Pass protocol providing unlinkable cryptographic tokens
NonSteamLaunchers-On-Steam-Deck - Installs the latest GE-Proton and Installs Non Steam Launchers under 1 Proton prefix folder and adds them to your steam library. Installs... Battle.net, Epic Games, Ubisoft, GOG, EA App, Amazon Games, itch.io , Legacy Games, The Humble Games Collection, IndieGala, Rockstar Games Launcher, Glyph, Minecraft & VK Play. SD Card Support and Games.