summaryrefslogtreecommitdiff
path: root/src/commands/optional
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/optional')
-rw-r--r--src/commands/optional/copypasta.rs73
-rw-r--r--src/commands/optional/mod.rs1
-rw-r--r--src/commands/optional/teawiespam.rs5
-rw-r--r--src/commands/optional/uwurandom.rs4
4 files changed, 5 insertions, 78 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(())
-}
diff --git a/src/commands/optional/mod.rs b/src/commands/optional/mod.rs
index 95c39bd..a3d1bd2 100644
--- a/src/commands/optional/mod.rs
+++ b/src/commands/optional/mod.rs
@@ -1,3 +1,2 @@
-pub mod copypasta;
pub mod teawiespam;
pub mod uwurandom;
diff --git a/src/commands/optional/teawiespam.rs b/src/commands/optional/teawiespam.rs
index 3a9a387..bfac852 100644
--- a/src/commands/optional/teawiespam.rs
+++ b/src/commands/optional/teawiespam.rs
@@ -1,10 +1,11 @@
-use crate::{Context, Error};
+use crate::client::Context;
+use eyre::Result;
use log::debug;
/// teawie will spam you.
#[poise::command(slash_command)]
-pub async fn teawiespam(ctx: Context<'_>) -> Result<(), Error> {
+pub async fn teawiespam(ctx: Context<'_>) -> Result<()> {
if let Some(guild_id) = ctx.guild_id() {
if let Some(storage) = &ctx.data().storage {
let settings = storage.get_guild_settings(&guild_id).await?;
diff --git a/src/commands/optional/uwurandom.rs b/src/commands/optional/uwurandom.rs
index e717d5e..c952dee 100644
--- a/src/commands/optional/uwurandom.rs
+++ b/src/commands/optional/uwurandom.rs
@@ -1,4 +1,4 @@
-use crate::{Context, Error};
+use crate::client::Context;
use eyre::Result;
use log::debug;
@@ -12,7 +12,7 @@ pub async fn uwurandom(
#[min = 1]
#[max = 2000]
length: Option<u16>,
-) -> Result<(), Error> {
+) -> Result<()> {
if let Some(guild_id) = ctx.guild_id() {
if let Some(storage) = &ctx.data().storage {
let settings = storage.get_guild_settings(&guild_id).await?;