diff options
| author | seth <[email protected]> | 2024-12-19 16:26:18 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-12-19 21:26:18 +0000 |
| commit | 2ae2b978f3fad7a58cb129333b36a210bb200488 (patch) | |
| tree | ef12b9e1a29462c4de6b787fcf9c34d80b563b9f /src/commands/general/random.rs | |
| parent | 77309844e6b890544bc4eea7f03bbafe493ba61e (diff) | |
jolly winter cleanup (#251)
* ci: bump DeterminateSystems/nix-installer-action from 13 to 16
Bumps [DeterminateSystems/nix-installer-action](https://github.com/determinatesystems/nix-installer-action) from 13 to 16.
- [Release notes](https://github.com/determinatesystems/nix-installer-action/releases)
- [Commits](https://github.com/determinatesystems/nix-installer-action/compare/v13...v16)
---
updated-dependencies:
- dependency-name: DeterminateSystems/nix-installer-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
* crates: bump serde from 1.0.209 to 1.0.215
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.209 to 1.0.215.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.215)
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <[email protected]>
* crates: bump serde_json from 1.0.127 to 1.0.133
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.127 to 1.0.133.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.127...v1.0.133)
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <[email protected]>
* crates: bump tokio from 1.40.0 to 1.41.1
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.40.0 to 1.41.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.1)
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <[email protected]>
* crates: bump reqwest from 0.12.7 to 0.12.9
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.7 to 0.12.9.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.7...v0.12.9)
---
updated-dependencies:
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <[email protected]>
* nix: update flake.lock
* ci: bump DeterminateSystems/magic-nix-cache-action from 7 to 8
Bumps [DeterminateSystems/magic-nix-cache-action](https://github.com/determinatesystems/magic-nix-cache-action) from 7 to 8.
- [Release notes](https://github.com/determinatesystems/magic-nix-cache-action/releases)
- [Commits](https://github.com/determinatesystems/magic-nix-cache-action/compare/v7...v8)
---
updated-dependencies:
- dependency-name: DeterminateSystems/magic-nix-cache-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
* treewide: debrand
* nix: adopt new darwin sdk
* nix: drop treefmt
* nix: misc formatting changes
* ci: cleanup
* nix: pass version info to static builds
* nix: mv {derivation,package}.nix
* eyre -> anyhow
* remove 2024 edition warnings
* format with rustfmt
* remove optional commands
* ci: don't include internal variables in job names
* nix: enable for lto builds
---------
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: getchoo-bot[bot] <183349775+getchoo-bot[bot]@users.noreply.github.com>
Diffstat (limited to 'src/commands/general/random.rs')
| -rw-r--r-- | src/commands/general/random.rs | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/src/commands/general/random.rs b/src/commands/general/random.rs index 094123b..053e4bb 100644 --- a/src/commands/general/random.rs +++ b/src/commands/general/random.rs @@ -1,22 +1,14 @@ -use crate::{client::Context, consts, http, utils}; +use crate::{client::Context, http, utils}; -use eyre::Result; +use anyhow::Result; +use rand::Rng; -#[poise::command(slash_command, subcommands("lore", "teawie", "shiggy"))] +#[poise::command(slash_command, subcommands("teawie", "shiggy", "uwu"))] #[allow(clippy::unused_async)] pub async fn random(_: Context<'_>) -> Result<()> { Ok(()) } -/// Get a random piece of teawie lore! -#[poise::command(prefix_command, slash_command)] -pub async fn lore(ctx: Context<'_>) -> Result<()> { - let resp = utils::random_choice(consts::LORE)?; - ctx.say(resp).await?; - - Ok(()) -} - /// Get a random teawie #[poise::command(prefix_command, slash_command)] pub async fn teawie(ctx: Context<'_>) -> Result<()> { @@ -34,3 +26,31 @@ pub async fn shiggy(ctx: Context<'_>) -> Result<()> { Ok(()) } + +/// Some uwu +#[poise::command(prefix_command, slash_command)] +pub async fn uwu( + ctx: Context<'_>, + #[description = "The amount of uwurandom to generate"] + #[min = 1] + #[max = 100] + length: Option<u16>, +) -> Result<()> { + let length = length.unwrap_or(rand::thread_rng().gen_range(1..50)); + + let mut result = String::with_capacity(length as usize); + // ThreadRng is not Send(obviously), and rustc is slightly too paranoid about rng spilling to await point + // So calm it by constraining it to a block + { + let mut rng = rand::thread_rng(); + let mut state_machine = uwurandom_rs::StateMachine::new(&mut rng); + for _ in 0..length { + let generated; + (state_machine, generated) = state_machine.generate(&mut rng); + result.push(generated); + } + } + ctx.say(result).await?; + + Ok(()) +} |
