summaryrefslogtreecommitdiff
path: root/src/commands/general/version.rs
blob: 202607c3a1ab983ac618187c6e29428b2e000b6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
use crate::colors::Colors;
use crate::Context;

use color_eyre::eyre::Result;
use poise::serenity_prelude::CreateEmbed;
use poise::CreateReply;

/// Get version info
#[poise::command(slash_command)]
pub async fn version(ctx: Context<'_>) -> Result<()> {
	let sha = option_env!("GIT_SHA").unwrap_or("main");
	let target = option_env!("TARGET").unwrap_or("Unknown");

	let revision_url = format!(
		"[{}]({}/tree/{})",
		sha,
		option_env!("CARGO_PKG_REPOSITORY").unwrap_or("https://github.com/getchoo/teawieBot"),
		sha,
	);

	let fields = [
		(
			"Version:",
			option_env!("CARGO_PKG_VERSION").unwrap_or("not found"),
			false,
		),
		("Target:", target, false),
		("Revision:", &revision_url, false),
		("User Agent:", &crate::api::USER_AGENT, false),
	];

	let embed = CreateEmbed::new()
		.title("Version Information")
		.description("now with over 9000 more builders!")
		.fields(fields)
		.color(Colors::Blue);
	let message = CreateReply::default().embed(embed);

	ctx.send(message).await?;

	Ok(())
}