aboutsummaryrefslogtreecommitdiff
path: root/src/hooks/pet.rs
diff options
context:
space:
mode:
authorR0flcopt3r <12752060+R0flcopt3r@users.noreply.github.com>2021-06-05 22:42:56 +0200
committerR0flcopt3r <12752060+R0flcopt3r@users.noreply.github.com>2021-06-05 23:12:56 +0200
commit48deaf177633e062582b7733f633a37b296cac95 (patch)
treee84e572de74e97c9895712166aea9217f169320e /src/hooks/pet.rs
parentfeat: send action (diff)
feat: adds pet command.
When petting the cat it will reply with some random action.
Diffstat (limited to '')
-rw-r--r--src/hooks/pet.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/hooks/pet.rs b/src/hooks/pet.rs
new file mode 100644
index 0000000..dcd8148
--- /dev/null
+++ b/src/hooks/pet.rs
@@ -0,0 +1,33 @@
+use std::str;
+
+use anyhow::Result;
+use irc::client::prelude::*;
+use macros::privmsg;
+
+use rand::thread_rng;
+use rand::seq::SliceRandom;
+
+const PET_RESPONSE: [&str; 5] = [
+ "purrs",
+ "moews loudly",
+ "walks away",
+ "snuggles back",
+ "strikes you with it's sharp claws",
+];
+
+/// Pet cat
+///
+/// Sends some random action when petted.
+///
+/// # See also
+///
+/// - [`Bot::send_action`]
+/// - RESPONSE
+pub fn pet(bot: &crate::Bot, msg: Message) -> Result<()> {
+ let mut rng = thread_rng();
+ let choice = PET_RESPONSE.choose(&mut rng);
+
+ privmsg!(msg, {
+ bot.send_action(msg.response_target().unwrap(), choice.unwrap())?;
+ })
+}
ns'>-17/+284 2025-12-26added ts6 test server (container) with podmanMarcin Maselko-0/+18 2025-12-22add git readme commandMax Audron-7/+25 2025-12-22update catinatorMax Audron-3/+3 2025-12-14update catinatorMax Audron-45/+65 2025-11-15add cgit about-filter for adoc and mdMax Audron-12/+30 2025-11-15add git shell scriptsMax Audron-0/+45 2025-11-15add readmeMax Audron-1/+38 2025-11-14fixup vapor.systems cgitMax Audron-4/+6 2025-11-14move git hosting to plain git-shell and cgitMax Audron-34/+126 reject modernity, embrace linus 2025-10-26fix slskd stuffMax Audron-22/+67 2025-10-23uhMax Audron-9/+31 2025-10-22deploy soulseek and fix tlmp VPNMax Audron-47/+1744 2025-10-21add slskdMax Audron-1/+124 2025-10-10update nixpkgs-unstableMax Audron-3/+3 2025-10-10setup mailserverMax Audron-27/+213 2025-09-20replace dns bgp anouncementMax Audron-2/+2 2025-09-15update flaresolverrMax Audron-1/+1 2025-09-07add audron windows wg keyMax Audron-0/+8 2025-09-02switch out vultr dns ipv4 ipMax Audron-1/+5 2025-08-11disable homepage trackersMax Audron-3/+3 2025-08-11add mail serverMax Audron-1/+245 2025-08-05add prometheus alerting rulesMax Audron-38/+144 2025-08-01add homepage dashboardMax Audron-3/+284 2025-08-01disable not used gameserversMax Audron-1/+2 2025-08-01add minecraft prometheus exporterMax Audron-3/+67 2025-08-01more monitoring & scrape config shortcutsMax Audron-68/+63 2025-08-01update garage to 2.0Max Audron-6/+10 2025-07-31fix authentik-ldap port bindingsMax Audron-0/+5 2025-07-31update to nixos 25.05Max Audron-113/+65 2025-07-31add more monitoring exporters and scrapersMax Audron-17/+57 2025-07-30try to run authentik nativelyMax Audron-26/+303 2025-07-30more metricsMax Audron-1/+41 2025-07-30enable firewallsMax Audron-1/+39