Rich presence app for playstation 3. Display what game you are playing on the PS3 via Discord

Overview

PS3-Rich-Presence-for-Discord

Discord Rich Presence script for PS3 consoles on HFW&HEN or CFW. Written in Python.

Display what you are playing on your PS3 via Discord's game activity.

Features

  • Automatically find PS3 IP address
  • Display the name and a game cover for currently open PS3 game
  • Display PS3 temperature and fan speed (toggleable)
  • Display the name, and either a shared cover, or an individual cover for currently mounted PSX and PS2 game (toggleable)

Display Example

No game PS3 game PS2 game PS1 game
noGame ps3Game ps2Game ps1Game

Usage

Requirements

  • PS3 with either HFW&HEN, or CFW installed
  • PS3 with webmanMOD installed (tested working with v1.47.35/36/37)
  • PS3 and PC on the same network/internet connection
  • Discord installed and open on the PC running the script
  • A Python 3.9 interpreter installed on the PC if you do not wish to use the executable file

Installation

A compiled executable (.exe) is provided for use on the windows platform. WARNING: This file was flagged as a virus on my computer, i do not know what causes the file to be flagged as such.

Alternatively, the PS3RPD.py file can be ran from your favourite python IDE. (you will require the external dependencies listed here).
Note that this script was written with pyton 3.9, i cannot provide support for earlier versions.

General instructions

On program start, the script will prompt the user for how to get the PS3's IP address.

If the manual option is chosen, the user can enter the PS3's IP address.

If the automatic option is chosen, the program will take the PC's local IP address, and attempt to connect to each address in range 2 - 254. Each attempt will take ~20 seconds, because of this if your PS3 has an IP address of 192.168.0.200, it will take approximately 1.1 hours to complete.

Once the script has connected to your PS3, it will generate an external config file, "PS3RPDconfig.txt" in the same directory as the script (more information here). It will automatically begin sending the game data to your Discord profile.

Contact Me

please contact me via Discord: "zorua98741#0023".

I have become aware of a sequence of events that will crash the script, if you are able to reproduce this, please message me what you did, or what error message is output from your python IDE

Additional Information

Remote Python packages required

These are not intended download links, they are the developers sites, please install with pip.

External config file

PS3RPD makes use of an external config file to persistently store a few variables, on creation, the default values will be:

  • Your PS3's IP address (where the script will find your PS3 on the network)
  • My Discord developer application's ID (where the script will send presence data to)
  • A refresh time of 35 seconds (how often to get new data (minimum value of 15 seconds)
  • To show the PS3's temperature (self explanatory)
  • To use a shared cover for PS2&PSX games (self explanatory)
    You may change these values to suit your own tastes, an example is shown below:
IP ID Refresh time(seconds) Show temperatures Individual PS2&PSX covers Output
192.168.0.13 780389261870235650 35 True False defaults
192.168.20.5 123456789012345678 15 False True noTemp,indivCover

Please note that the external config file is sensitive to the data you input, and a change in the formatting will most likely break it.

Possible values for the variables:

  • IP: any valid IPv4 address
  • ID: any valid Discord developer application ID
  • Refresh time(seconds): any digit in range 15-1000 (Note: any value <15 will be set to 15 due to developer application restraints)
  • Show temperatures: [True, true] [False, false]
  • Individual PS2&PSX covers: [True, true] [False, false]

Using your own images

If you would like to have complete control over what images are used per game, you must create your own Discord developer application over at https://discord.com/developers/applications.

Once created, copy the "APPLICATION ID" from the developer portal and paste it as to replace the current string next to "ID: " in the external config file "PS3RPDconfig.txt". Alertnatively, if you are using the .py file, you can replace the value of line 26 "self.client_id = ".

You will now be able to add your own art assets in the developer portal under "Rich Presence > Art Assets". Note that the name of the art assets uploaded must be the same as whatever is output from "validate(): " when that specific game is open.

An example:
If i want to add an image for Counter Strike: Global Offensive, I will open the game and look for the output of "validate():" from the PS3RPD script on my PC:
validateExample
As shown, i would then rename the art asset on my PC "counter_strike_global_offensive_", and upload it to my Discord developer application.

After a couple of minutes, CS:GO will go from having no image, to displaying an art asset from the developer application:

before after
noasset addedasset

(in)Frequently asked questions

Q: Can this script be adapted for use on mobile devices?
A: no. While the functionality of this script could certainly be adapted into a mobile app. Discord does not support rich presence from its mobile app.

Q: Can this script be used on OFW/without webmanMOD?
A: no. The only other program i have encountered that i can scrape game info from is CCAPI, which is lesser-used, and more complicated for the user to setup than webmanMOD.

Q: Why does [insert game name here] not have an image when i play it?
A: either you have not waited long enough for your art asset to be uploaded into your own developer application, or, you are using my developer application, where i am limited to adding only the games i can play on my PS3 (that i own), if you would like to use my developer application, but with more images, please message me on discord, and i will be more than happy to add the game/s for you.

Q: Why is PS2 game detection inconsistent?
A: this script works by scraping game data from webmanMOD. When a PS3 goes into PS2 mode, it disables all plugins including webmanMOD, because of this the script will only detect a PS2 game if it refreshes itself and it finds a PS2 game mounted (but not open).
There is no way of fixing this issue as far as i can tell.

Q: Can i programatically send art assets to Discord?
A: no, Discord does not currently offer the option to do this, the only option currently is to upload the art asset to the Discord developer application and use naming conventions to call a specific art asset depending on what game is open

Q: I want Discord to show me playing the game's name, not playing "PS3", can i do this?
A: yes, however to do so each game will require its own Discord developer application, and this specific script is not made to support such a manual task.
If you really require this feature, i can slap together another version of PS3RPD and demonstrate to you how to manually add games, however i will not waste my time doing so if such a branch is not highly requested, and you will be expected to create and add the applications yourself

Implemented images

Below is a table of all games that have an art asset on my Discord developer application, you should be able to save these images and add them to your own developer app if you wish.

image name validated name
rebugToolbox Rebug Toolbox _rebug_toolbox_
batman Batman Arkham Asylum GOTY batman_arkham_asylum_goty_
batman2 Batman Arkham City GOTY batman_arkham_city_goty_
batman3 Batman Arkham Origins batman_arkham_origins_
battlefield4 Battlefield 4 battlefield_4_
battlefieldhardline Battlefield Hardline battlefield_hardline_
burnoutparadise Burnout Paradise The Ultimate Box burnout_paradise_the_ultimate_bo
COD4 COD 4: Modern Warfare call_of_duty_4_modern_warfare_
CODAW COD: Advanced Warfare call_of_duty_advanced_warfare_
CODBO1 COD: Black Ops call_of_duty_black_ops_
CODBO2 COD: Black Ops 2 call_of_duty_black_ops_ii_
CODG COD: Ghosts call_of_duty_ghosts_
CODMW3 COD: MW3 call_of_duty_modern_warfare_3_
catherine Catherine catherine_
CSGO CSGO counter_strike_global_offensive_
DS2 Dark Souls 2 scholar of the first sin dark_souls_ii_scholar_of_the_fir
DS1 Dark Souls prepare to die edition dark_souls_prepare_to_die_editio
deadpool Deadpool deadpool_
DAI Dragon Age Inquisition dragon_age_inquisition_
FC3 Far Cry 3 far_cry_3_
FFXIII Final Fantasy XIII final_fantasy_xiii__
FFXIII2 Final Fantasy XIII-2 final_fantasy_xiii-2_
FFXX-2 Final Fantasy XX-2 HD remaster final_fantasy_xx-2_hd_remaster_
GOWcollection God of War collection god_of_war_collection_
GOWcollection2 God of War collection volume II god_of_war_collection_volume_ii_
GOW3 God of War III god_or_war_iii_
GT6 Gran Turismo 6 gran_turismo6_
icoshadow Ico & Shadow of the colossus collection ico__shadow_of_the_colossus_clas
infamous1 Infamous infamous_
infamous2 Infamous 2 infamous_2_
jakdaxter Jak and Daxter collection jak_and_daxter_collection_
Jojo JoJos bizarre adventure all-star battle jojos_bizarre_adventure_all-star
KH15 Kingdom Hearts HD 1.5 remix kingdom_hearts_hd_15_remix_
KH25 Kingdom Hearts HD 2.5 remix kingdom_hearts_hd_25_remix_
MGS4 Metal Gear Solid 4 guns of the patriots metal_gear_solid_4_guns_of_the_p
MGScollection Metal Gear Solid HD collection metal_gear_solid_hd_collection_
MGS5GZ Metal Gear Solid V Ground Zeroes metal_gear_solid_v_ground_zeroes
mmcm Multiman mmcm_
CODMW2 COD: Modern Warfare 2 modern_warfare_2_
NFSHP Need for Speed Hot Pursuit need_for_speed_hot_pursuit_
NFSMW Need for Speed Most Wanted need_for_speed_most_wanted_
NFSR Need for Speed Rivals need_for_speed_rivals_
P4AU Persona 4 Arena Ultimax persona_4_arena_ultimax_
P5 Persona 5 persona_5_
RCa4o Ratchet & Clank all 4 one ratchet__clank_all_4_one_
RCffa Ratchet & Clank full frontal assault ratchet__clank_full_frontal_assa
RCfacit Ratchet & Clank future a crack in time ratchet__clank_future_a_crack_in
RCn Ratchet & Clank nexus ratchet__clank_nexus_
RCqfb Ratchet & Clank quest for booty ratchet__clank_quest_for_booty_
RCtod Ratchet & Clank tools of destruction ratchet__clank_tools_of_destruct
RDR Red Dead Redemption GOTY red_dead_redemption_game_of_the_
skate Skate skate_
skate2 Skate 2 skate_2_
skate3 Skate 3 skate_3_
RCt The Ratchet & Clank Trilogy the_ratchet__clank_trilogy_
simpsons The Simpsons Game the_simpsons_game_
ps2 PS2 ps2
psx PS1 psx
ps3rpd PS3RPD logo xmb
You might also like...
A simple program to display current playing from Spotify app on your desktop
A simple program to display current playing from Spotify app on your desktop

WallSpot A simple program to display current playing from Spotify app on your desktop How to Use: Linux: Currently Supports GNOME and KDE. If you want

An Advanced Python Playing Card Module that makes creating playing card games simple and easy!

playingcards.py An Advanced Python Playing Card Module that makes creating playing card games simple and easy! Features Easy to Understand Class Objec

RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.
RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.

RichWatch is TUI (Textual User Interface) for AWS Cloud Watch. It formats and pretty prints Cloud Watch's logs so they are much more readable. Because

Discord bot for playing Werewolf game on League of Legends.

LoLWolf LoL人狼をプレイするときのDiscord用botです。 (Discord bot for playing Werewolf game on League of Legends.) 以下のボタンを押してbotをあなたのDiscordに招待することで誰でも簡単に使用することができます。

A discord bot to assist you when playing phasmophobia.

phasbot A discord bot to assist you when playing phasmophobia. Add phasbot to your server here! Bot Commands ?help - shows commands ?info [ghost name]

It's a Discord bot to control your PC using your Discord Channel or using Reco: Discord PC Remote Controller App.
It's a Discord bot to control your PC using your Discord Channel or using Reco: Discord PC Remote Controller App.

Reco PC Server Reco PC Server is a cross platform PC Controller Discord Bot which is a modified and improved version of Chimera for Reco-Discord PC Re

A simple Discord bot wrote with Python. Kizmeow let you track your NFT project and display some useful information
A simple Discord bot wrote with Python. Kizmeow let you track your NFT project and display some useful information

Kizmeow-OpenSea-and-Etherscan-Discord-Bot 中文版 | English Ver A Discord bot wrote with Python. Kizmeow let you track your NFT project and display some u

A modern, easy to use, feature-rich, and async ready API wrapper improved and revived from original discord.py.

A Python API wrapper that is improved and revived from the original discord.py

A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.
A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.

A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Modern Pythonic API using async and await

Comments
  • Manually adding game names

    Manually adding game names

    Hello! I've been looking for some way to have my PS3 game activity show up on my profile and this is exactly what I've been looking for, but as is mentioned in the README, grabbing images for games with Japanese characters or the like in their name doesn't really work. Most of the games I play are Japanese so I tried to figure out how to add games manually on my own — even though you offer to help with adding games to the script itself I didn't want to bother you when it wasn't necessary so I figured it was worth a shot. Seems what I thought would work isn't quite it though, I had assumed changing any Japanese games to have a separate application from the rest in the # INDIVIDUAL GAME CODE HERE section would fix it. I'd very much appreciate any help you could offer!

    opened by ngoomie 4
  • Workaround for adding images to games with foreign characters?

    Workaround for adding images to games with foreign characters?

    This is more of a Discord problem but I tried to run Misato Katsuragi's Reporting Plan (葛城ミサト報道計画_0100) The Discord portal cannot save the kanji citing the image image If we could customize the ID for instance while internally keeping it the same that would be cool.

    opened by SK91no 2
  • Python script fails when I start a PS3 game

    Python script fails when I start a PS3 game

    Everything was fine when I was in the XMB menu, but when I tried to start GTA IV and Gran Turismo 6 , the rich presence stopped working with these errors: image (I used Python 3.9 On a Ubuntu 20.04 Terminal), with WebMan mod installed on my Fat PS3.

    opened by ShadowOfPripyat 4
Releases(v1.7.2)
  • v1.7.2(Oct 18, 2022)

  • v1.7.1(Aug 9, 2022)

    Changelog:

    • 'game Image' now uses the titleID for PS3 games instead of the games name in order to give better language support, PS2 and PS1 goes unchanged
      • this means that if you choose to update to this version you must update your Discord developer application art assets
    • version info previously shown in the game name should now be removed
    • titleID for PS3 games is shown when hovering over the large image
    Source code(tar.gz)
    Source code(zip)
    PS3RPD.exe(8.05 MB)
  • v1.8(Aug 3, 2022)

    This version of the script shows the possible future of PS3RPD, using an external text file to hold previously detected games and easily allow the user to change the name and image using the same or similar methods implemented in PS4RPD, currently v1.8 is very incomplete, and should only be downloaded for reading purposes, rather than use. Changelog:

    • completely rewritten
    • some features are not yet implemented
      • saving game info to external file
      • checking external file for game info
      • choosing between automatic and manual images
      • PS2 and PS1 games are untested
    • 'networkscan' has been added as an external dependency, however currently seems to cause issues with installation
    • the .exe has not been updated
    Source code(tar.gz)
    Source code(zip)
    PS3RPD.py(19.97 KB)
  • v1.7(Mar 3, 2022)

    Changelog:

    • removed temperature from presence whenever a PS2 game is mounted, as it is not correct
    • reworked validate() to remove any non-letter, digit, or underscore. Game names that previously included "-" will have to be renamed and reuploaded to your Discord developer applications, sorry for the inconvenience.
      • validate() will also now only run when a new game is detected to try and save a few ms
    • fixed game images in my Discord developer application affected by change mentioned in previous point
    • added support for manually adding per-game developer applications to PS3RPDbr.py, please report any bugs to me
      • please modify and refer to lines 273 - 290
    • renamed confusing variable "resetTempOnGameChange" to "resetTimeOnGameChange"
    Source code(tar.gz)
    Source code(zip)
    PS3RPD.exe(7.22 MB)
  • v1.6(Feb 27, 2022)

  • v1.5(Jan 27, 2022)

  • v1.4(Dec 23, 2021)

  • v1.3(Nov 15, 2021)

    Changelog:

    • script has been rewritten in a more OOP style to hopefully be easier to maintain and follow.
    • implementedImage.txt has been removed, it is now assumed the user will use their own developer application or contact me if they need another image added
    • external file containing the PS3's IP address has been expanded into a config file containing:
      • PS3 IP address
      • Discord developer application ID
      • How long the script waits before getting new data
      • Whether to show the PS3's temperature data (credit to Pookette on Discord for the idea)
      • Whether to show separate covers for PS2 and PS1 games, or to use a shared cover
    • PS2 game detection may work more consistently, depending on the value of Refresh time(seconds):
    • readme.md has been rewritten to hopefully be less confusing
    Source code(tar.gz)
    Source code(zip)
    PS3RPD.exe(7.22 MB)
    PS3RPD.py(13.86 KB)
  • v1.2(Aug 7, 2021)

  • v1.1(Jul 28, 2021)

twitter bot tha uses tweepy library class to connect to TWITTER API

TWITTER-BOT-tweepy- twitter bot that uses tweepy library class to connect to TWITTER API replies to mentions automatically and follows the tweet.autho

Muziwandile Nkomo 2 Jan 08, 2022
NewpaperNews-API - Json data of the news with python

NewsAPI API Documentation BASE_URL = "https://saurav.tech/NewsAPI/" top_headline

Aryaman Prakash 2 Sep 23, 2022
Generate and Visualize Data Lineage from query history

Tokern Lineage Engine Tokern Lineage Engine is fast and easy to use application to collect, visualize and analyze column-level data lineage in databas

Tokern 237 Dec 29, 2022
It is a useful project for developers that includes useful tools for Instagram

InstagramIG It is a useful project for developers that includes useful tools for Instagram Installation : pip install InstagramIG Logan Usage from In

Sidra ELEzz 14 Mar 14, 2022
Music cog for discord bots. Supports YouTube, YoutubeMusic, SoundCloud and Spotify.

dismusic Music cog for discord bots. Supports YouTube, YoutubeMusic, SoundCloud and Spotify. Installation python3 -m pip install dismusic Usage from d

Md Shahriyar Alam 59 Jan 08, 2023
An API Client package to access the APIs for NBA.com

nba_api An API Client package to access the APIs for NBA.com Development Version: v1.1.9 nba_api is an API Client for www.nba.com. This package is mea

Swar Patel 1.4k Jan 01, 2023
Advance Anonymous Sender bot with Caption Editor

AnonyMous Sender 👨‍💻 Advanced Anonymous Sender with Caption Editor Join @DaisySupport_Official 🎵 for help Features Get forwarded messages without f

Inuka Asith 13 Oct 09, 2022
Pydf: A modular Telegram Bot which provides Pdf Tools using PyPdf2

pyDF-Bot 🌍 Pydf - Pyrogram Document File Bot, a modular Telegram Bot which prov

HyDrix 2 Feb 18, 2022
A Python API wrapper for the Twitter API!

PyTweet PyTweet is an api wrapper made for twitter using twitter's api version 2! Installation Windows py3 -m pip install PyTweet Linux python -m pip

TheFarGG 1 Nov 19, 2022
A simpler way to make forms, surveys, and reaction input using discord.py.

discord-ext-forms An easier way to make forms and surveys in discord.py. This module is a very simple way to ask questions and create complete forms i

thrizzle 16 Nov 06, 2022
Telegram client written in GTK & Python

Meowgram GTK Telegram Client 🐱 Why Meogram? Meowgram = Meow + Gram :D Meow - Talking cats sound. It's a symbol of unique and user friendly UI of clie

Artem Prokop 71 May 04, 2022
A python API for BSCScan (Binance Smart Chain Explorer), available on PyPI.

bscscan-python A complete Python API for BscScan.com, available on PyPI. Powered by BscScan.com APIs. This is a gently modified fork of the etherscan-

Panagiotis Kotsias 246 Dec 31, 2022
A Flask inspired, decorator based API wrapper for Python-Slack.

A Flask inspired, decorator based API wrapper for Python-Slack. About Tangerine is a lightweight Slackbot framework that abstracts away all the boiler

Nick Ficano 149 Jun 30, 2022
Pyspark sam - Analyze Big Sequence Alignments with PySpark in AWS EMR

pyspark_sam This repo hosts my code for the article "Analyze Big Sequence Alignm

Sixing Huang 4 Dec 09, 2022
Example of Telegram local API and aiogram 3.x

Telegram Local Full example of Telegram local application. Contains Telegram Bot API Local Telegram Bot API server based on aiogram Bot API Server ima

Oleg A. 9 Sep 16, 2022
The wrapper you need for the osu!api v2

oppy (op.py) oppy is the wrapper for use on the osu! v2 API. Version 1.0.0 Installation To install please use pip to install oppy pip install op.py To

Wayde 2 May 01, 2022
An Anime Theme Telegram group management bot. With lot of features.

Emilia Project Emilia-Prjkt is a modular bot running on python3 with anime theme and have a lot features. Easiest Way To Deploy On Heroku This Bot is

ZenitsuID #M•R•T™ 3 Feb 03, 2022
Unfollows Users You're Following

Github-Unfollow-Bot Info It unfollows users you're following, it runs in the background so you can still do what you do without it bothering you. It's

ExT 4 Sep 03, 2022
A Discord token grabber written in Python3, with awesome obfuscation and anti-debug protection.

☣️ Plague ☣️ Plague is a Discord token grabber written in Python3, obfuscated with Kramer, protected from traffic analysers with Scarecrow and using t

Billy 125 Dec 20, 2022
AK-LEECH-BOT - AK LEECH BOT For python

Benefits :- ✓ Google Drive link cloning using gclone.(wip) ✓ Telegram File mirro

5 Mar 24, 2022