Hola tengo un juego en C++ y necesito que mi juego muestre el status playing en discord.
Hace mucho leí un manual de que primero debo registrar mi app en discord, y ellos te dan una especie de clave para que muestres el status.
Pero estos manuales no los encuentro mas, necesito ayuda al menos desde c# o vb .net si es c++ mejor
Pd: el juego no esta en steam la solucion de steam no me sirve y queria comentarles q estoy sin internet en la computadora
Resulta que encontre varios manuales ( 3 o 4 ) acerca de rpc discord.
cree la aplicacion en www.discord.com/developers
el tema es que cuando baja las bibliotecas rcp tienen errores y cuando conecto a discord crashea el client, por lo que borre todo eso e intente con otra libreria "discord SDK" es la mas actual la otra funciona todavía pero esta deprecada, el tema es que la descargue y otra vez lo mismo una bilbioteca llena de errores que no me permite compilar.
uno de los errores es por ejemplo aca:
(https://i.ibb.co/k2Rhxjq/Captura-12-01-2025-221326-Ciudad-Aresden000.jpg)
lo que estuve intentando corregir pasando el tipo adelante y declarando los tipos de otra manera.
Pero luego me encuentro con eso de "Snowflake" y también me confunde.
Hola desde c++ no lo pude solucionar eso que probé muchisimas cosas.
Lo solucione con una app launcher en c#.
para hacerlo ahí además de registrar tu app en https://discord.com/developers/aplications
tienes que instalar el nuguet package discordrichpresence
y luego usar un codigo como este:
try
{
var client = new DiscordRpcClient("app_id_number");
// Subscribe to events
client.OnReady += (sender2, xe) =>
{
MessageBox.Show("Connected to Discord");
};
client.OnPresenceUpdate += (sender3, xe2) =>
{
MessageBox.Show("Discord Presence updated");
};
// Connect to the RPC
client.Initialize();
// Set the rich presence
client.SetPresence(new RichPresence()
{
Details = "Playing the game",
State = "Playing",
Timestamps = Timestamps.Now,
Assets = new Assets()
{
LargeImageKey = "large_image",
LargeImageText = "Large Image Text",
SmallImageKey = "small_image",
SmallImageText = "Small Image Text"
}
});
client.UpdateState("Playing");
// Dispose of the client when done
//client.Dispose();
}
catch (Exception ex)
{
}