Add setdiscordimage command
This commit is contained in:
parent
34e3a57b57
commit
db908d1012
@ -17,6 +17,7 @@ namespace discord
|
|||||||
DiscordRichPresence discord_presence;
|
DiscordRichPresence discord_presence;
|
||||||
std::string state;
|
std::string state;
|
||||||
std::optional<std::string> details{};
|
std::optional<std::string> details{};
|
||||||
|
std::optional<std::string> image{};
|
||||||
|
|
||||||
void update_discord()
|
void update_discord()
|
||||||
{
|
{
|
||||||
@ -26,6 +27,7 @@ namespace discord
|
|||||||
{
|
{
|
||||||
state = {};
|
state = {};
|
||||||
details.reset();
|
details.reset();
|
||||||
|
image.reset();
|
||||||
|
|
||||||
discord_presence.details = game::UI_SafeTranslateString("MENU_MAIN_MENU");
|
discord_presence.details = game::UI_SafeTranslateString("MENU_MAIN_MENU");
|
||||||
discord_presence.state = "";
|
discord_presence.state = "";
|
||||||
@ -37,7 +39,17 @@ namespace discord
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const auto map = game::Dvar_FindVar("mapname")->current.string;
|
static char map[0x1000] = {0};
|
||||||
|
if (image.has_value())
|
||||||
|
{
|
||||||
|
strncpy_s(map, image.value().data(), sizeof(map));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const auto mapname = game::Dvar_FindVar("mapname")->current.string;
|
||||||
|
strncpy_s(map, mapname, sizeof(map));
|
||||||
|
}
|
||||||
|
|
||||||
const auto mapname = game::UI_SafeTranslateString(utils::string::va("PRESENCE_SP_%s", map));
|
const auto mapname = game::UI_SafeTranslateString(utils::string::va("PRESENCE_SP_%s", map));
|
||||||
|
|
||||||
discord_presence.largeImageKey = map;
|
discord_presence.largeImageKey = map;
|
||||||
@ -112,6 +124,16 @@ namespace discord
|
|||||||
update_discord();
|
update_discord();
|
||||||
}, scheduler::pipeline::async);
|
}, scheduler::pipeline::async);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
command::add("setdiscordimage", [](const command::params& params)
|
||||||
|
{
|
||||||
|
const std::string image_ = params.join(1);
|
||||||
|
scheduler::once([=]()
|
||||||
|
{
|
||||||
|
image = image_;
|
||||||
|
update_discord();
|
||||||
|
}, scheduler::pipeline::async);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user