From fe3a1ef0c93d6c1cc1ecf086d94daca5e90c19ad Mon Sep 17 00:00:00 2001 From: Valentine Briese Date: Thu, 18 Jul 2024 16:26:48 -0700 Subject: [PATCH] Add `/revive` command --- README.md | 3 ++- src/commands/silly.rs | 43 +++++++++++++++++++++----------- src/emoji.rs | 58 +++++++++++++++++++++++++++++++++++++++++++ src/main.rs | 1 + 4 files changed, 90 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 90aefbd..65f90fd 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Join the [Goober Bot Dev](https://discord.gg/7v2aY2YzJU) Discord server to try t ## Commands -*Last updated Jul 17, 2024* +*Last updated Jul 18, 2024* ### Silly @@ -32,6 +32,7 @@ Join the [Goober Bot Dev](https://discord.gg/7v2aY2YzJU) Discord server to try t - `/meow ` - `/murder ` - `/pat ` +- `/revive ` ### Configuration diff --git a/src/commands/silly.rs b/src/commands/silly.rs index 6233b66..edea50a 100644 --- a/src/commands/silly.rs +++ b/src/commands/silly.rs @@ -91,7 +91,7 @@ macro_rules! silly_command { }; } -silly_command!( +silly_command! { /// Boops a being :3c fn boop("Your victim >:3") { bot_message = "I have been booped by {author} {FLOOF_OWO}"; @@ -104,9 +104,9 @@ silly_command!( "{author} booped {user}, I think they're trying to pick a fight {FLOOF_NERVOUS}", ]; } -); +} -silly_command!( +silly_command! { /// Embrace the bobin within us all and gnaw on one's bones fn gnaw("The subject of today's gnawing") { bot_message = "GRAAAHH {author} STOP GNAWING MY BONES GET OFF HELP {FLOOF_SCARED}"; @@ -118,9 +118,9 @@ silly_command!( "Hey uh, {user}, did you know there's a {author} gnawing on your bones? {FLOOF_LURK}", ]; } -); +} -silly_command!( +silly_command! { /// Express a wide range of emotions via- your teeth in somebody's skin fn bite("The skin-haver in question") { bot_message = "Help please {author}'s biting me {FLOOF_OWO}"; @@ -132,9 +132,9 @@ silly_command!( "\\*CHOMP\\*\n{author} bit {user} {FLOOF_NOM}", ]; } -); +} -silly_command!( +silly_command! { /// You know what you are fn meow("Get their attention") { bot_message = "Hm? What's that {author}? Oh I see... mhm... okay, okay, I understand {FLOOF_CAT}"; @@ -150,9 +150,9 @@ silly_command!( "{user}... sire... I have a message for you, from {author}... \\*ahem\\*... \"meow meow meow, meow meow, meow meow meow meow meow, meow!\"\nI'm just the messenger please don't hurt me {FLOOF_NERVOUS}" ]; } -); +} -silly_command!( +silly_command! { /// MURRRRRDEERRRRRRRRRRR fn murder("KILL THEM KILL THEM KILL THEM >:D") { bot_message = "GAH {author} HAS A KNIFE AND IS RUNNING AT ME WAAAA {FLOOF_SCARED}"; @@ -166,9 +166,9 @@ silly_command!( "{author} killed {user} when the lights went out so no one would know it was them... {FLOOF_SMUG}", ]; } -); +} -silly_command!( +silly_command! { /// Let them know that they're a good being :> fn pat("Good being in question") { bot_message = "Awawawawa {author} gave me a pat pat on the head {FLOOF_PAT}"; @@ -180,9 +180,9 @@ silly_command!( "{user} has been selected to receive a soothing pat on the head from {author} {FLOOF_PAT}", ]; } -); +} -silly_command!( +silly_command! { /// 😳 fn kiss("Omg who is it who is it???") { bot_message = "\\*gasp* oh- oh my goodness- {author} kissed me!!! {FLOOF_WOOZY}"; @@ -195,4 +195,19 @@ silly_command!( "{author} **VIOLENTLY** pulled {user} to them and **SMOOCHED** them on the **LIPS**, not letting **ANYONE ELSE** in {FLOOF_MISCHIEF}", ]; } -); +} + +silly_command! { + /// Doesn't this count as necromancy? + fn revive("The deceased") { + bot_message = "What- I- {author}, I'm not dead- {FLOOF_WHAT}"; + author_message = "... Oh my god *{author}'S **IMMORTAL**-* {FLOOF_SCARED}"; + messages = [ + "{author} performed necromancy on {user}, now they're a *zOoOmBiIeE oOoOo* {FLOOF_SMUG}", + "{author} crouched by {user} and held `E` for a few seconds {FLOOF}", + "{author} graciously donated a health pack to {user} {FLOOF_HAPPY}", + "{author} performed a ritual and sacrificed a lamb to bring {user} back to life {FLOOF_OWO}", + "In a flash of light, {author} descended upon {user} and gave them the gift of another life {FLOOF_INNOCENT}", + ]; + } +} diff --git a/src/emoji.rs b/src/emoji.rs index d2b3715..d0e283d 100644 --- a/src/emoji.rs +++ b/src/emoji.rs @@ -23,119 +23,177 @@ // in debug builds, uses emojis from Goober Bot Dev app // in release builds, uses emojis from Goober Bot app +/// ![](https://cdn.discordapp.com/emojis/1263605189995266058.gif?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const A_FLOOF_LOAD: &str = ""; +/// ![](https://cdn.discordapp.com/emojis/1263609041179906059.gif?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const A_FLOOF_LOAD: &str = "<:afloofLoad:1263609041179906059>"; +/// ![](https://cdn.discordapp.com/emojis/1263605435785810104.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF: &str = "<:floof:1263605435785810104>"; +/// ![](https://cdn.discordapp.com/emojis/1263609061539315722.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF: &str = "<:floof:1263609061539315722>"; +/// ![](https://cdn.discordapp.com/emojis/1263605462927016077.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_ANGRY: &str = "<:floofAngry:1263605462927016077>"; +/// ![](https://cdn.discordapp.com/emojis/1263609077661962331.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_ANGRY: &str = "<:floofAngry:1263609077661962331>"; +/// ![](https://cdn.discordapp.com/emojis/1263605485488308295.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_BLEP: &str = "<:floofBlep:1263605485488308295>"; +/// ![](https://cdn.discordapp.com/emojis/1263609094791495724.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_BLEP: &str = "<:floofBlep:1263609094791495724>"; +/// ![](https://cdn.discordapp.com/emojis/1263605506593915053.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_CAT: &str = "<:floofCat:1263605506593915053>"; +/// ![](https://cdn.discordapp.com/emojis/1263609111581560862.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_CAT: &str = "<:floofCat:1263609111581560862>"; +/// ![](https://cdn.discordapp.com/emojis/1263605526160474112.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_COOL: &str = "<:floofCool:1263605526160474112>"; +/// ![](https://cdn.discordapp.com/emojis/1263609129683910761.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_COOL: &str = "<:floofCool:1263609129683910761>"; +/// ![](https://cdn.discordapp.com/emojis/1263605545852600393.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_CRY: &str = "<:floofCry:1263605545852600393>"; +/// ![](https://cdn.discordapp.com/emojis/1263609147824410684.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_CRY: &str = "<:floofCry:1263609147824410684>"; +/// ![](https://cdn.discordapp.com/emojis/1263605564035039323.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_DROOL: &str = "<:floofDrool:1263605564035039323>"; +/// ![](https://cdn.discordapp.com/emojis/1263609166875066438.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_DROOL: &str = "<:floofDrool:1263609166875066438>"; +/// ![](https://cdn.discordapp.com/emojis/1263605580380110890.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_HAPPY: &str = "<:floofHappy:1263605580380110890>"; +/// ![](https://cdn.discordapp.com/emojis/1263609184415383613.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_HAPPY: &str = "<:floofHappy:1263609184415383613>"; +/// ![](https://cdn.discordapp.com/emojis/1263605598524539001.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_HEART: &str = "<:floofHeart:1263605598524539001>"; +/// ![](https://cdn.discordapp.com/emojis/1263609201431675002.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_HEART: &str = "<:floofHeart:1263609201431675002>"; +/// ![](https://cdn.discordapp.com/emojis/1263605617034006619.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_INNOCENT: &str = "<:floofInnocent:1263605617034006619>"; +/// ![](https://cdn.discordapp.com/emojis/1263609220725608519.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_INNOCENT: &str = "<:floofInnocent:1263609220725608519>"; +/// ![](https://cdn.discordapp.com/emojis/1263605636411949118.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_LOAD: &str = "<:floofLoad:1263605636411949118>"; +/// ![](https://cdn.discordapp.com/emojis/1263609237762871336.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_LOAD: &str = "<:floofLoad:1263609237762871336>"; +/// ![](https://cdn.discordapp.com/emojis/1263605657886654495.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_LOL: &str = "<:floofLol:1263605657886654495>"; +/// ![](https://cdn.discordapp.com/emojis/1263609255647510668.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_LOL: &str = "<:floofLol:1263609255647510668>"; +/// ![](https://cdn.discordapp.com/emojis/1263605681420894258.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_LURK: &str = "<:floofLurk:1263605681420894258>"; +/// ![](https://cdn.discordapp.com/emojis/1263609272818729082.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_LURK: &str = "<:floofLurk:1263609272818729082>"; +/// ![](https://cdn.discordapp.com/emojis/1263605706733650041.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_MISCHIEF: &str = "<:floofMischief:1263605706733650041>"; +/// ![](https://cdn.discordapp.com/emojis/1263609299838697552.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_MISCHIEF: &str = "<:floofMischief:1263609299838697552>"; +/// ![](https://cdn.discordapp.com/emojis/1263605736517271634.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_MUG: &str = "<:floofMug:1263605736517271634>"; +/// ![](https://cdn.discordapp.com/emojis/1263609319555993792.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_MUG: &str = "<:floofMug:1263609319555993792>"; +/// ![](https://cdn.discordapp.com/emojis/1263605768700301386.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_NERVOUS: &str = "<:floofNervous:1263605768700301386>"; +/// ![](https://cdn.discordapp.com/emojis/1263609339013501008.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_NERVOUS: &str = "<:floofNervous:1263609339013501008>"; +/// ![](https://cdn.discordapp.com/emojis/1263605793710800897.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_NOM: &str = "<:floofNom:1263605793710800897>"; +/// ![](https://cdn.discordapp.com/emojis/1263609382801903666.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_NOM: &str = "<:floofNom:1263609382801903666>"; +/// ![](https://cdn.discordapp.com/emojis/1263605821338816583.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_OWO: &str = "<:floofOwO:1263605821338816583>"; +/// ![](https://cdn.discordapp.com/emojis/1263609400732418089.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_OWO: &str = "<:floofOwO:1263609400732418089>"; +/// ![](https://cdn.discordapp.com/emojis/1263605857300643951.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_PAT: &str = "<:floofPat:1263605857300643951>"; +/// ![](https://cdn.discordapp.com/emojis/1263609418214543371.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_PAT: &str = "<:floofPat:1263609418214543371>"; +/// ![](https://cdn.discordapp.com/emojis/1263605875906449570.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_PEEK: &str = "<:floofPeek:1263605875906449570>"; +/// ![](https://cdn.discordapp.com/emojis/1263609437726179479.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_PEEK: &str = "<:floofPeek:1263609437726179479>"; +/// ![](https://cdn.discordapp.com/emojis/1263605895930052668.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_PLEAD: &str = "<:floofPlead:1263605895930052668>"; +/// ![](https://cdn.discordapp.com/emojis/1263609456760062072.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_PLEAD: &str = "<:floofPlead:1263609456760062072>"; +/// ![](https://cdn.discordapp.com/emojis/1263605923188965428.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_SAD: &str = "<:floofSad:1263605923188965428>"; +/// ![](https://cdn.discordapp.com/emojis/1263609478440288317.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_SAD: &str = "<:floofSad:1263609478440288317>"; +/// ![](https://cdn.discordapp.com/emojis/1263605944839831614.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_SCARED: &str = "<:floofScared:1263605944839831614>"; +/// ![](https://cdn.discordapp.com/emojis/1263609529820647544.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_SCARED: &str = "<:floofScared:1263609529820647544>"; +/// ![](https://cdn.discordapp.com/emojis/1263605963877912577.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_SMUG: &str = "<:floofSmug:1263605963877912577>"; +/// ![](https://cdn.discordapp.com/emojis/1263609552356773971.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_SMUG: &str = "<:floofSmug:1263609552356773971>"; +/// ![](https://cdn.discordapp.com/emojis/1263605984115560478.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_TEEHEE: &str = "<:floofTeehee:1263605984115560478>"; +/// ![](https://cdn.discordapp.com/emojis/1263609577815933061.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_TEEHEE: &str = "<:floofTeehee:1263609577815933061>"; +/// ![](https://cdn.discordapp.com/emojis/1263606003082199131.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_TIRED: &str = "<:floofTired:1263606003082199131>"; +/// ![](https://cdn.discordapp.com/emojis/1263609597382496308.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_TIRED: &str = "<:floofTired:1263609597382496308>"; +/// ![](https://cdn.discordapp.com/emojis/1263606024892321945.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_WHAT: &str = "<:floofWhat:1263606024892321945>"; +/// ![](https://cdn.discordapp.com/emojis/1263609615036190821.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_WHAT: &str = "<:floofWhat:1263609615036190821>"; +/// ![](https://cdn.discordapp.com/emojis/1263606042840010752.webp?&quality=lossless) #[cfg(debug_assertions)] pub(crate) const FLOOF_WOOZY: &str = "<:floofWoozy:1263606042840010752>"; +/// ![](https://cdn.discordapp.com/emojis/1263609632333762592.webp?&quality=lossless) #[cfg(not(debug_assertions))] pub(crate) const FLOOF_WOOZY: &str = "<:floofWoozy:1263609632333762592>"; diff --git a/src/main.rs b/src/main.rs index 35eb2a8..8b110f9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -184,6 +184,7 @@ async fn main( commands::meow(), commands::murder(), commands::pat(), + commands::revive(), commands::rock_paper_scissors(), commands::sponsors(), commands::strike(),