Update template with changes

This commit is contained in:
Nwero 2025-04-09 21:20:20 +10:00
parent 50c82b4ecd
commit 2baf0eb5dd
9 changed files with 142 additions and 115 deletions

@ -1,6 +1,5 @@
{
"files.trimTrailingWhitespace": true,
"rust-analyzer.showUnlinkedFileNotification": false,
"rust-analyzer.linkedProjects": [
"./Cargo.toml"
]
"rust-analyzer.linkedProjects": [ "./Cargo.toml" ]
}

171
Cargo.lock generated

@ -179,9 +179,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.2.16"
version = "1.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c"
checksum = "525046617d8376e3db1deffb079e91cef90a89fc3ca5c185bbf8c9ecdd15cd5c"
dependencies = [
"shlex",
]
@ -263,9 +263,9 @@ dependencies = [
[[package]]
name = "darling"
version = "0.20.10"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989"
checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee"
dependencies = [
"darling_core",
"darling_macro",
@ -273,9 +273,9 @@ dependencies = [
[[package]]
name = "darling_core"
version = "0.20.10"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5"
checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e"
dependencies = [
"fnv",
"ident_case",
@ -287,9 +287,9 @@ dependencies = [
[[package]]
name = "darling_macro"
version = "0.20.10"
version = "0.20.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core",
"quote",
@ -376,9 +376,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "errno"
version = "0.3.10"
version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e"
dependencies = [
"libc",
"windows-sys 0.59.0",
@ -403,9 +403,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]]
name = "flate2"
version = "1.1.0"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc"
checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece"
dependencies = [
"crc32fast",
"miniz_oxide",
@ -706,9 +706,9 @@ dependencies = [
[[package]]
name = "hyper-util"
version = "0.1.10"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"
checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2"
dependencies = [
"bytes",
"futures-channel",
@ -716,6 +716,7 @@ dependencies = [
"http",
"http-body",
"hyper",
"libc",
"pin-project-lite",
"socket2",
"tokio",
@ -725,16 +726,17 @@ dependencies = [
[[package]]
name = "iana-time-zone"
version = "0.1.61"
version = "0.1.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"log",
"wasm-bindgen",
"windows-core 0.52.0",
"windows-core 0.61.0",
]
[[package]]
@ -787,9 +789,9 @@ dependencies = [
[[package]]
name = "icu_locid_transform_data"
version = "1.5.0"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
[[package]]
name = "icu_normalizer"
@ -811,9 +813,9 @@ dependencies = [
[[package]]
name = "icu_normalizer_data"
version = "1.5.0"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7"
[[package]]
name = "icu_properties"
@ -832,9 +834,9 @@ dependencies = [
[[package]]
name = "icu_properties_data"
version = "1.5.0"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2"
[[package]]
name = "icu_provider"
@ -893,9 +895,9 @@ dependencies = [
[[package]]
name = "indexmap"
version = "2.8.0"
version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058"
checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
dependencies = [
"equivalent",
"hashbrown 0.15.2",
@ -953,9 +955,9 @@ dependencies = [
[[package]]
name = "log"
version = "0.4.26"
version = "0.4.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e"
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
[[package]]
name = "memchr"
@ -981,9 +983,9 @@ dependencies = [
[[package]]
name = "miniz_oxide"
version = "0.8.5"
version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5"
checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
dependencies = [
"adler2",
]
@ -1069,15 +1071,15 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.21.1"
version = "1.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc"
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
[[package]]
name = "openssl"
version = "0.10.71"
version = "0.10.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd"
checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da"
dependencies = [
"bitflags",
"cfg-if",
@ -1107,18 +1109,18 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
[[package]]
name = "openssl-src"
version = "300.4.2+3.4.1"
version = "300.5.0+3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "168ce4e058f975fe43e89d9ccf78ca668601887ae736090aacc23ae353c298e2"
checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f"
dependencies = [
"cc",
]
[[package]]
name = "openssl-sys"
version = "0.9.106"
version = "0.9.107"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd"
checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07"
dependencies = [
"cc",
"libc",
@ -1177,7 +1179,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
[[package]]
name = "poise"
version = "0.6.1"
source = "git+https://github.com/serenity-rs/poise?branch=serenity-next#272674c40ecfeac946f050c066bff62681fc9638"
source = "git+https://github.com/serenity-rs/poise?branch=serenity-next#2a10bf958ef83b40ad7d7c6db29af6687c1b8628"
dependencies = [
"async-trait",
"derivative",
@ -1195,7 +1197,7 @@ dependencies = [
[[package]]
name = "poise_macros"
version = "0.6.1"
source = "git+https://github.com/serenity-rs/poise?branch=serenity-next#272674c40ecfeac946f050c066bff62681fc9638"
source = "git+https://github.com/serenity-rs/poise?branch=serenity-next#2a10bf958ef83b40ad7d7c6db29af6687c1b8628"
dependencies = [
"darling",
"proc-macro2",
@ -1269,9 +1271,9 @@ dependencies = [
[[package]]
name = "quinn-udp"
version = "0.5.10"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944"
checksum = "541d0f57c6ec747a90738a52741d3221f7960e8ac2f0ff4b1a63680e033b4ab5"
dependencies = [
"cfg_aliases",
"libc",
@ -1328,9 +1330,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
version = "0.5.10"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1"
checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3"
dependencies = [
"bitflags",
]
@ -1505,9 +1507,9 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
[[package]]
name = "rustix"
version = "1.0.3"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf"
dependencies = [
"bitflags",
"errno",
@ -1550,9 +1552,9 @@ dependencies = [
[[package]]
name = "rustls-webpki"
version = "0.103.0"
version = "0.103.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f"
checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03"
dependencies = [
"ring",
"rustls-pki-types",
@ -1683,7 +1685,7 @@ dependencies = [
[[package]]
name = "serenity"
version = "0.12.4"
source = "git+https://github.com/serenity-rs/serenity?branch=next#fce19bb01998bd7c08a944080a287030433d514e"
source = "git+https://github.com/serenity-rs/serenity?branch=next#bd4d91dd02dac0a78bc90ee7e7dc709a1ed60edf"
dependencies = [
"aformat",
"arrayvec",
@ -1764,15 +1766,15 @@ dependencies = [
[[package]]
name = "smallvec"
version = "1.14.0"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd"
checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
[[package]]
name = "socket2"
version = "0.5.8"
version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
dependencies = [
"libc",
"windows-sys 0.52.0",
@ -2515,23 +2517,27 @@ dependencies = [
[[package]]
name = "windows-core"
version = "0.52.0"
version = "0.57.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
dependencies = [
"windows-implement 0.57.0",
"windows-interface 0.57.0",
"windows-result 0.1.2",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-core"
version = "0.57.0"
version = "0.61.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980"
dependencies = [
"windows-implement",
"windows-interface",
"windows-result 0.1.2",
"windows-targets 0.52.6",
"windows-implement 0.60.0",
"windows-interface 0.59.1",
"windows-link",
"windows-result 0.3.2",
"windows-strings 0.4.0",
]
[[package]]
@ -2545,6 +2551,17 @@ dependencies = [
"syn 2.0.100",
]
[[package]]
name = "windows-implement"
version = "0.60.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]]
name = "windows-interface"
version = "0.57.0"
@ -2556,6 +2573,17 @@ dependencies = [
"syn 2.0.100",
]
[[package]]
name = "windows-interface"
version = "0.59.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]]
name = "windows-link"
version = "0.1.1"
@ -2569,7 +2597,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3"
dependencies = [
"windows-result 0.3.2",
"windows-strings",
"windows-strings 0.3.1",
"windows-targets 0.53.0",
]
@ -2600,6 +2628,15 @@ dependencies = [
"windows-link",
]
[[package]]
name = "windows-strings"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97"
dependencies = [
"windows-link",
]
[[package]]
name = "windows-sys"
version = "0.52.0"
@ -2748,9 +2785,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
[[package]]
name = "winnow"
version = "0.7.4"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36"
checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10"
dependencies = [
"memchr",
]
@ -2802,18 +2839,18 @@ dependencies = [
[[package]]
name = "zerocopy"
version = "0.8.23"
version = "0.8.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6"
checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.23"
version = "0.8.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154"
checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
dependencies = [
"proc-macro2",
"quote",

@ -7,23 +7,23 @@ edition = "2024"
members = [
"cmds",
"events",
"tasks",
"library",
"tasks",
"tsclient"
]
[workspace.dependencies]
bytes = "1.10.0"
cargo_toml = "0.22.0"
bytes = "1.10.1"
cargo_toml = "0.22.1"
poise = "0.6.1"
regex = "1.11.1"
serde = "1.0.217"
serde = "1.0.219"
rand = "0.9.0"
sysinfo = "0.34.0"
time = "0.3.37"
sysinfo = "0.34.2"
time = "0.3.41"
uptime_lib = "0.3.1"
tokio = { version = "1.43.0", features = ["rt-multi-thread", "macros", "signal"] }
reqwest = { version = "0.12.12", features = ["native-tls-vendored"] }
tokio = { version = "1.44.2", features = ["rt-multi-thread", "macros", "signal"] }
reqwest = { version = "0.12.15", features = ["native-tls-vendored"] }
rustbot_lib = { path = "library" }
[dependencies]
@ -31,8 +31,8 @@ poise = { workspace = true }
rustbot_cmds = { path = "cmds" }
rustbot_events = { path = "events" }
rustbot_lib = { workspace = true }
rustbot_tokens = { path = "tsclient" }
rustbot_tasks = { path = "tasks" }
rustbot_tokens = { path = "tsclient" }
tokio = { workspace = true }
[patch.crates-io]
@ -48,9 +48,6 @@ path = "src/main.rs"
[profile.dev]
opt-level = 0
debug = true
[profile.release]
opt-level = 2
debug = false
strip = true

@ -1,13 +1,10 @@
mod ready;
use {
poise::serenity_prelude::{
Context,
EventHandler,
Ready,
async_trait
},
std::num::NonZero
use poise::serenity_prelude::{
Context,
EventHandler,
FullEvent,
async_trait
};
pub const RUSTBOT_EVENT: &str = "RustbotEvent";
@ -16,19 +13,15 @@ pub struct RustbotEvents;
#[async_trait]
impl EventHandler for RustbotEvents {
async fn ready(
async fn dispatch(
&self,
ctx: Context,
ready: Ready
ctx: &Context,
event: &FullEvent
) {
ready::on_ready(ctx, ready).await.unwrap()
}
async fn shards_ready(
&self,
_: Context,
total_shards: NonZero<u16>
) {
println!("{RUSTBOT_EVENT}[ShardsReady] {total_shards} shards are up and ready!")
match event {
FullEvent::Ready { data_about_bot, .. } => ready::on_ready(ctx, data_about_bot).await.unwrap(),
FullEvent::ShardsReady { total_shards, .. } => println!("{RUSTBOT_EVENT}[ShardsReady] {total_shards} shards are up and ready!"),
_ => ()
}
}
}

@ -28,20 +28,20 @@ async fn ready_once(
#[cfg(not(feature = "production"))]
{
println!("{RUSTBOT_EVENT}[Ready:Notice:S{sid}]: Detected a development environment!",);
println!("{RUSTBOT_EVENT}[Ready:Notice:S{sid}] Detected a development environment!",);
let gateway = ctx.http.get_bot_gateway().await?;
let session = gateway.session_start_limit;
println!(
"{RUSTBOT_EVENT}[Ready:Notice:S{sid}]: Session limit: {}/{}",
"{RUSTBOT_EVENT}[Ready:Notice:S{sid}] Session limit: {}/{}",
session.remaining, session.total
);
}
println!(
"{RUSTBOT_EVENT}[Ready:S{sid}]: Build version: v{} ({GIT_COMMIT_HASH}:{GIT_COMMIT_BRANCH})",
"{RUSTBOT_EVENT}[Ready:S{sid}] Build version: v{} ({GIT_COMMIT_HASH}:{GIT_COMMIT_BRANCH})",
*BOT_VERSION
);
println!("{RUSTBOT_EVENT}[Ready:S{sid}]: Connected to API as {}", ready.user.name);
println!("{RUSTBOT_EVENT}[Ready:S{sid}] Connected to API as {}", ready.user.name);
let message = CreateMessage::new();
let ready_embed = CreateEmbed::new()
@ -57,13 +57,13 @@ async fn ready_once(
}
pub async fn on_ready(
ctx: Context,
ready: Ready
ctx: &Context,
ready: &Ready
) -> RustbotResult<()> {
let shard_id = ctx.shard_id;
if shard_id.0 == 0 {
ready_once(&ctx, &ready).await.expect("Failed to call ready_once method");
ready_once(ctx, ready).await.expect("Failed to call ready_once method");
}
Ok(())

3
run.sh

@ -1,4 +1,5 @@
#!/bin/bash
export $(cat .env.bot | xargs)
export $(grep -v '^#' .env.bot | xargs)
clear && cargo fmt && cargo run
unset $(grep -v '^#' .env.bot | cut -d= -f1)

@ -1,7 +1,7 @@
mod errors;
mod shutdown;
// https://cdn.toast-server.net/RustFSHiearchy.png
// Using the new filesystem hierarchy
// https://cdn.toast-server.net/RustFSHiearachy.png
// Using the new filesystem hiearachy
use {
poise::serenity_prelude::{

@ -4,6 +4,6 @@ version = "0.1.0"
edition = "2024"
[dependencies]
tokio = { workspace = true }
rustbot_lib = {workspace = true }
poise = { workspace = true }
rustbot_lib = { workspace = true }
tokio = { workspace = true }

@ -5,5 +5,5 @@ edition = "2024"
[dependencies]
poise = { workspace = true }
tokenservice-client = { version = "0.4.2", registry = "gitea" }
tokenservice-client = { version = "0.4.3", registry = "gitea" }
tokio = { workspace = true }