bot: grok is this true
vi did:web:vt3e.cat
Wed, 08 Jul 2026 07:58:03 +0100
2 files changed,
40 insertions(+),
0 deletions(-)
M
apps/bot/src/events/index.ts
→
apps/bot/src/events/index.ts
@@ -1,5 +1,6 @@
import "f/automod/listeners"; import "f/proxy/listeners"; +import "f/grok/listeners"; import { upsertGuildActor } from "f/guild-actor"; import { client } from "@/client";
A
apps/bot/src/feats/grok/listeners.ts
@@ -0,0 +1,39 @@
+import { Events } from "discord.js"; +import { glorpify } from "f/proxy/lib"; + +import { client } from "@/client"; + +const responses = [ + "looking into this", + "yeh", + "yeh", + "yeh", + "glorp", + "yeh", + "https://cdn.discordapp.com/attachments/993673735158632571/1474488946212868341/togif.gif", + "who cares", +]; + +client.on(Events.MessageCreate, async (message) => { + if (message.author.bot) return; + + const prefix = ["grok", "glorp"]; + const regex = new RegExp(`^(${prefix.join("|")})\\s+(.+)$`, "i"); + if (!regex.test(message.content)) return; + + const [, prefixUsed, content] = regex.exec(message.content) ?? []; + if (!prefixUsed || !content) return; + + const isGlorp = prefixUsed.toLowerCase() === "glorp"; + + const rawResponse = responses[Math.floor(Math.random() * responses.length)]; + if (!rawResponse) return; + const responseText = isGlorp ? glorpify(rawResponse) : rawResponse; + + const reply = await message.channel.send(responseText); + + if (rawResponse === "looking into this") { + await new Promise((resolve) => setTimeout(resolve, Math.floor(Math.random() * 3000) + 2000)); + await reply.reply("yeh"); + } +});