discord.js-selfbot-v13/Document/RichPresence.md
2023-01-26 13:40:51 +07:00

5.3 KiB

Setup

const client = new Client({
  syncStatus: false,
});

Custom Status and RPC

Custom Status

const r = new Discord.CustomStatus()
	.setState('Discord')
	.setEmoji('💬')
client.user.setActivity(r);

Rich Presence [Custom]

const r = new Discord.RichPresence()
	.setApplicationId('817229550684471297')
	.setType('STREAMING')
	.setURL('https://youtube.com/watch?v=dQw4w9WgXcQ')
	.setState('State')
	.setName('Name')
	.setDetails('Details')
	.setParty({
		max: 9,
		current: 1,
		id: Discord.getUUID(),
	})
	.setStartTimestamp(Date.now())
	.setAssetsLargeImage('929325841350000660')
	.setAssetsLargeText('Youtube')
	.setAssetsSmallImage('895316294222635008')
	.setAssetsSmallText('Bot')
	.addButton('name', 'https://link.com/')
client.user.setActivity(r);

Rich Presence with Spotify

const r = new Discord.SpotifyRPC(client)
	.setAssetsLargeImage("spotify:ab67616d00001e02768629f8bc5b39b68797d1bb") // Image ID
	.setAssetsSmallImage("spotify:ab6761610000f178049d8aeae802c96c8208f3b7") // Image ID
	.setAssetsLargeText('未来茶屋 (vol.1)') // Album Name
	.setState('Yunomi; Kizuna AI') // Author
	.setDetails('ロボットハート') // Song name
	.setStartTimestamp(Date.now())
	.setEndTimestamp(Date.now() + 1_000 * (2 * 60 + 56)) // Song length = 2m56s
	.setSongId('667eE4CFfNtJloC6Lvmgrx'); // Song ID
client.user.setActivity(r);

You can now add custom images for RPC !

Tutorial:

Method 1:

  • Step 1: Send image to Discord
  • Step 2: Get Image URL
Demo URL: https://cdn.discordapp.com/attachments/820557032016969751/991172011483218010/unknown.png
  • Step 3: Replace https://cdn.discordapp.com/ or https://media.discordapp.net/ with mp:
- https://cdn.discordapp.com/attachments/820557032016969751/991172011483218010/unknown.png

- https://media.discordapp.net/attachments/820557032016969751/991172011483218010/unknown.png

+ mp:attachments/820557032016969751/991172011483218010/unknown.png

  • Step 4:
const r = new Discord.RichPresence()
	.setApplicationId('817229550684471297')
	.setType('PLAYING')
	.setURL('https://youtube.com/watch?v=dQw4w9WgXcQ')
	.setState('State')
	.setName('Name')
	.setDetails('Details')
	.setParty({
		max: 9,
		current: 1,
		id: Discord.getUUID(),
	})
	.setStartTimestamp(Date.now())
	.setAssetsLargeImage('mp:attachments/820557032016969751/991172011483218010/unknown.png')
	.setAssetsLargeText('Youtube')
	.setAssetsSmallImage('895316294222635008')
	.setAssetsSmallText('Bot')
	.addButton('name', 'https://link.com/')
client.user.setActivity(r);

Method 2: (Discord URL, 2.3.78+)

const r = new Discord.RichPresence()
	.setApplicationId('817229550684471297')
	.setType('PLAYING')
	.setURL('https://youtube.com/watch?v=dQw4w9WgXcQ')
	.setState('State')
	.setName('Name')
	.setDetails('Details')
	.setParty({
		max: 9,
		current: 1,
		id: Discord.getUUID(),
	})
	.setStartTimestamp(Date.now())
	.setAssetsLargeImage('https://cdn.discordapp.com/attachments/820557032016969751/991172011483218010/unknown.png')
	.setAssetsLargeText('Youtube')
	.setAssetsSmallImage('895316294222635008')
	.setAssetsSmallText('Bot')
	.addButton('name', 'https://link.com/')
client.user.setActivity(r);

Method 3 (Custom URL, 2.3.78+)

const rpc = new Discord.RichPresence();
const imageSet = await Discord.RichPresence.getExternal(client, '820344593357996092', 'https://musedash.moe/covers/papipupipupipa_cover.hash.93ae31d41.png', 'https://musedash.moe/covers/lights_of_muse_cover.hash.1c18e1e22.png')
rpc
	.setApplicationId('820344593357996092')
	.setType('PLAYING')
	.setState('pa pi pu pi pu pi pa - ころねぽち With 立秋')
	.setName('Muse Dash')
	.setDetails('Hard - Lvl.8')
	.setAssetsLargeImage(imageSet[0].external_asset_path)
	.setAssetsSmallImage(imageSet[1].external_asset_path)
client.user.setActivity(rpc);

How to get the Assets ID and Name of the bot (application) ?

  • Bot:
const bot = await client.users.fetch('BotId');
const asset = await bot.application.fetchAssets();
// asset: Array<ApplicationAsset>
// Document: https://discordjs-self-v13.netlify.app/#/docs/docs/main/typedef/ApplicationAsset
  • Application

Using Browser (Chrome) with URL: https://discord.com/api/v9/oauth2/applications/{applicationId}/assets

  • More:
    • You can change the status 5 times / 20 seconds!