diff options
| author | seth <[email protected]> | 2024-08-09 23:35:41 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-08-09 23:35:41 -0400 |
| commit | b643a6a235b0c1c9902b97421f24eff2b0d0a5ac (patch) | |
| tree | 350794c0e9330fb77367838313bc6bb97278a0aa /src/commands/optional/copypasta.rs | |
| parent | 372780546b508684839916e5ad54c9e90456a94f (diff) | |
tree-wide: end of summer cleanup (#214)
* api: refactor & rename module to http
* client: split from main.rs
* tree-wide: use eyre::Report as error
* nix: alejandra -> nixfmt
* nix: start using treefmt-nix
* nix: simplify flake
* nix: refactor derivation & docker image
* nix: remove overlay
* ci: update & cleanup workflows
* commands: assign all commands automatically
* commands/copypasta: remove
* http/teawie: update response struct for upstream rust rewrite
* handlers: rename modules to events; flatten
* crates: rename self to teawie-bot
* nix: fenix -> rust-overlay
i want a specific rust version grrrrrrr
* ci: pin rust to 1.79
this is what our nix dev shell uses and what we can compile on. it seems
the time crate doesn't like v1.80 of the compiler :(
* ci: always run release gates
* nix: fix static toolchain
* nix: rust-overlay -> nixpkgs
* ci: adopt actions-rust-lang actions
* nix: use docker arch names for containers
* crates/time: 0.3.30 -> 0.3.36
fixes building on rust 1.80.0
Diffstat (limited to 'src/commands/optional/copypasta.rs')
| -rw-r--r-- | src/commands/optional/copypasta.rs | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/src/commands/optional/copypasta.rs b/src/commands/optional/copypasta.rs deleted file mode 100644 index 06440b1..0000000 --- a/src/commands/optional/copypasta.rs +++ /dev/null @@ -1,73 +0,0 @@ -use crate::{Context, Error}; - -use include_dir::{include_dir, Dir}; -use log::debug; - -const COPYPASTAS: Dir = include_dir!("src/copypastas"); - -#[derive(Debug, poise::ChoiceParameter)] -pub enum Copypasta { - Astral, - Dvd, - Egrill, - HappyMeal, - Sus, - TickTock, - Twitter, -} - -impl ToString for Copypasta { - fn to_string(&self) -> String { - let str = match self { - Self::Astral => "astral", - Self::Dvd => "dvd", - Self::Egrill => "egrill", - Self::HappyMeal => "happymeal", - Self::Sus => "sus", - Self::TickTock => "ticktock", - Self::Twitter => "twitter", - }; - str.to_string() - } -} - -impl Copypasta { - fn contents(&self) -> Option<&str> { - let file_name = format!("{}.txt", self.to_string()); - COPYPASTAS - .get_file(file_name) - .and_then(|file| file.contents_utf8()) - } -} - -/// ask teawie to send funni copypasta -#[poise::command(slash_command)] -pub async fn copypasta( - ctx: Context<'_>, - #[description = "the copypasta you want to send"] copypasta: Copypasta, -) -> Result<(), Error> { - if let Some(guild_id) = ctx.guild_id() { - if let Some(storage) = &ctx.data().storage { - let settings = storage.get_guild_settings(&guild_id).await?; - - if !settings.optional_commands_enabled { - debug!("Not running command in {guild_id} since it's disabled"); - ctx.reply("I'm not allowed to do that here").await?; - - return Ok(()); - } - } else { - debug!("Ignoring restrictions on command; no storage backend is attached!"); - } - } else { - debug!("Ignoring restrictions on command; we're not in a guild"); - } - - if let Some(contents) = copypasta.contents() { - ctx.say(contents).await?; - } else { - ctx.reply("I couldn't find that copypasta :(").await?; - } - - Ok(()) -} |
