BetterDiscord plugin to see what your friends are playing across platforms, all on Discord

Overview

CrossPlatformPlaying

A plugin that brings Rich Presence to games that don't support it, and lets you see what your friends are playing even if they turned off game activity.

valorant demo

valorant demo

valorant demo

CrossPlatformPlaying is a plugin that lets you see what your friends are playing, as well as any additional information available such as gamemode, score, map, etc.

Currently supports

  • Valorant/League of Legends/Wild Rift
  • Steam
  • Hypixel

Installation

  • Download CrossPlatformPlaying.plugin.js and move it to your plugins folder.
  • A new file called CrossPlatformPlaying.config.json should appear in your plugins folder, open it in your favorite text editor.
  • Do the appropriate setup for the platform(s) you want to use:

Current status

This is my first time writing a BetterDiscord plugin, so any feedback and/or contributions are greatly appreciated, especially if this project is to support more platforms and games that I don't play or have the knowledge of how they work.

Feel free to DM me or ping me in the BetterDiscord server to give feedback or to ask any questions.

Future improvements:

  • Platform support:
    • Epic Games (currently working on it)
    • Twitch
    • Xbox Live (this is useful as it shows what people are playing on Xbox but also on PC via Game Bar)
    • Support for Steam Rich Presence (to show extra info in games that use Steam's RPC such as CS:GO)
    • Implement the rest of Riot Games (TFT, Runeterra)
    • Playstation
    • Battle.net
    • Uplay
    • Any other platform or game that lets you see what your friends are playing, theoretically
  • Improve the settings panel
    • Add user-friendly interface to easily link discord users to in-game IDs
    • Enable toggling individual platforms on/off
    • Make inputting API keys and tokens easier
  • The Code
    • Make it modular to easily install/remove platforms
    • Improve the way the plugin injects the custom activities (doesn't currently update the member list)
  • Add a Wiki of how it works (how it interacts with each platform)

Again, most of this is out of my reach, so any contribution is greatly appreciated.

Comments
  • Do you need to check for contained tags in riot's chunked xmpp messages?

    Do you need to check for contained tags in riot's chunked xmpp messages?

    the following code: // check for tag inside itself eg <a><a></a></a> // this happens when you send a message to someone int containedTags = 0; int nextTagIndex = data.IndexOf($"<{firstTagName}", 1); while (nextTagIndex != -1 && nextTagIndex < closingTagIndex) { containedTags++; nextTagIndex = data.IndexOf($"<{ firstTagName}", nextTagIndex + 1); } at https://github.com/giorgi-o/CrossPlatformPlaying/blob/1052dae6e1007c020f6f762cab35989214bcdb92/CrossPlatformPlaying.plugin.js#L1553 is for checking for a tag inside itself, but is it really necessary, right now it seems that riot encodes '<' '>' inside a message as '&let;' & so on, am I missing something?

    opened by M-U-X 4
  • error when launching discord

    error when launching discord

    hey, I'm getting an error everytime i launch discord : " Error happened! Your CrossPlatformPlaying config JSON is invalid! Try putting it into an online JSON formatter to look for any errors. TypeError: Cannot read property 'hasShownChangelog' of undefined"

    opened by plopomi 3
  • How do I get a Twitch OAuth Key?

    How do I get a Twitch OAuth Key?

    Hello, I noticed this in your code:

    https://github.com/giorgi-o/CrossPlatformPlaying/blob/2dfb2ec533773adb0be0aaf184157ff8f054c63b/CrossPlatformPlaying.plugin.js#L1676

    I tried getting one with TwitchTokenGenerator, but even with all permissions enabled, it didn't work.

    Could you please explain how to get the right key?

    opened by serg06 2
  • Why isn't a simple check for a matching number of  opening and closing " & tags enough to detect chunked messages sent by riot's xmpp server?">

    Why isn't a simple check for a matching number of opening and closing "<>" & tags enough to detect chunked messages sent by riot's xmpp server?

    Why isn't a simple check for a matching number of opening and closing "<>" then checking if the tags "openning closing" match, enough to detect chunked messages sent by riot's xmpp server, am I missing something regarding xml or anything else, if it's because it would fail if someone sent a message containing those elements, they are encoded as "<" & so on?

    opened by M-U-X 1
  • Work with new discord version

    Work with new discord version

    This uses a custom preload script to inject into discord's main process and expose some custom functions for opening net/tls sockets, therefore working almost like before the update.

    I say almost, because some extra setup is required to get it working:

    • Go to %localappdata%/Discord/App-1.0.XXXX/resources/app
    • put CPP_preload.js in that folder, next to index.js
    • Open index.js, and above the require(...\\BetterDiscord.asar) line, paste everything in add_this_to_index.js
    • Close Discord with Alt+F4 (Ctrl+R isn't enough)

    Once you reopen Discord, you can install the beta version of the plugin as usual in the plugins folder.

    The short term plan is to automate this process, so that it happens in one click when you first install the plugin.
    The long term plan is to try and get the net/tls wrappers integrated into BetterDiscord itself, to not need to do this setup at all.

    Let me know if anything doesn't work, either by opening a new issue or replying to this PR :)

    opened by giorgi-o 7
  • Error: ENOENT: no such file or directory, lstat

    Error: ENOENT: no such file or directory, lstat

    This is an error I got when opening BetterDiscord. I believe this is due to Discord pushing a massive change, and breaking a lot of BetterDiscord Plugins. image image

    opened by ZeddPerm 5
  • Is this how it's supposed to work?

    Is this how it's supposed to work?

    Hi,

    I'm wondering whether this is how the plugin is supposed to display what I'm playing while I'm running Rocket League on Steam.

    Screenshot 2022-09-10 004231

    Because it's nothing like yours. Screenshot 2022-09-10 004750

    opened by Bamboozul 2
  • Any chance for Powercord (Replugged) support?

    Any chance for Powercord (Replugged) support?

    I tried using your plugin with bdCompat (compatibility layer for BetterDiscord plugins), but settings page is broken and it doesn't seem like the plugin is doing anything... (Edit: Plugin seems to load correctly, as it asks for the library and such, but after all those restarts, I don't see anything new in the rich presence of others ... although i couldn't get to settings tho so i don't know if there are some picked platforms)

    So, any plans on porting the plugin to Powercord (currently Replugged)? Probably not... But at least some form of support for the bdCompat would be great. This plugin seems really promising and super useful.

    opened by XaaRii 2
Owner
Giorgio
Giorgio
🤖 EvoBot is a Discord Music Bot built with discord.js & uses Command Handler from discordjs.guide

?? EvoBot is a Discord Music Bot built with discord.js & uses Command Handler from discordjs.guide

Erit Islami 1.4k Jan 8, 2023
A discord bot that monitors the LavaLink nodes given, and updates it via an embed on discord.

LavaLink-Node-Monitor-for-Discord This Bot will help you monitor multiple LavaLink nodes directly on discord [Updates Every 30 Seconds] Setting Up The

Ranjithh K 4 Apr 2, 2022
An improved discord bot for my discord server.

Ancalagon Bot Description Hello! This is a discord bot for my personal discord server. It's more of a remaster of my DragonBot but it's written in Jav

DragonWF 3 Jul 6, 2022
Typescript template for a discord bot using discord.js

Discord-Typescript-Template Typescript template for a discord bot using discord.js. Installation Clone the repository git clone https://github.com/Ami

null 2 Oct 17, 2022
A discord bot to view PDFs directly in discord

A discord bot to view PDFs directly in discord. No more downloading hundereds of PDF and forgetting you downloaded them!

LEGENDARYKING007 3 Aug 30, 2022
A personal home page for quick access to all your personal apps/sites

Fenrus Fenrus personal home page/dasbhoard. It allows you to have a custom home page/new tab page with quick access to your personal apps. For support

John Andrews 196 Dec 31, 2022
A cool Discord bot to manage tickets on your server 🎫

Discord Tickets Bot A cool Discord bot to manage tickets on your server ?? Project under construction... follow the progress on the Discord server. If

null 11 Oct 10, 2022
All information is taken from archived CSV files from the reformagh.ru website

All information is taken from archived CSV files from the reformagh.ru website

Dmitry Koviazin 2 Feb 8, 2022
This is my old discord bot source (NoTaBot)

Discord-Bot This is my old discord bot source (NoTaBot) Requires Node.js Discord.js 12 Puppeteer (library) How to use? Download the code Change the to

Galvins 3 Nov 14, 2021
A lightweight, fast and efficient Discord Nitro sniper, giveaway sniper & invite sniper

Discord Sniper (forked from slow/nitro-sniper) A lightweight, fast and efficient Discord Nitro sniper, giveaway sniper & invite sniper. Features Nitro

null 3 Oct 23, 2022
A simple yet fun wordle discord bot

A simple yet fun wordle discord bot! Invite Link: Wordle Bot

null 2 Feb 13, 2022
Simple, efficient and powerful discord moderation bot.

Big chungus is a moderation bot with the aim of being efficient and easy to setup. The entire bot can be configured through the website. Features Raid

null 6 Oct 11, 2022
Actually, port of the Descalendrier website into a discord bot

Actually, port of the Descalendrier website into a discord bot

ShinProg (Logan Tann) 4 Feb 1, 2022
Discord.js v13 Handler

Discord.js v13 Handler This is Very Advanced Handler for Discord.js v13 Features Slash Command Handler (Multi & Single Guild) Message Command Handler

FiredragonPlayz 12 Jan 1, 2023
DisOwen project - Makes it easy and fun to use Discord

DisOwen project - Makes it easy and fun to use Discord. Also first userbot for Discord

Ber4tbey 7 Aug 4, 2022
Bot managing the Devos Code Discord server

Bot managing the Devos Code Discord server

Pierre-Alexis 8 Dec 17, 2022
📞 NODE.TS - WhatsApp proxy for Discord

?? NODE.TS - WhatsApp proxy for Discord

Bruno Silva 3 Mar 2, 2022
Max is a Typescript-based Discord bot with many functionalities

Max is a Typescript-based Discord bot with many functionalities. He is both my learning curve for understanding Discord's API as well as my current passion project.

Jack Levreau 4 May 24, 2022
a responsive equal heights plugin

jquery.matchHeight.js matchHeight makes the height of all selected elements exactly equal brm.io/jquery-match-height Demo - Features - Gallery - Insta

null 3.1k Jan 5, 2023