diff --git a/package.json b/package.json index 14f5ee3..e387c69 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "module": "node16", "exports": "./index.js", "scripts": { - "build": "rm -rf dist && tsc", + "build": "rm -rf dist/index.js && tsc", "start": "node --experimental-specifier-resolution=node dist/index", "dev": "yarn build && yarn start" }, diff --git a/src/index.ts b/src/index.ts index 5f1f78a..6a3ed0d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,7 +3,8 @@ import { config } from 'dotenv'; import { SendableEmbed } from 'revolt-api'; import { Low, JSONFile } from 'lowdb'; import { decodeTime } from 'ulid'; -import sherlock from "./sherlock"; +import sherlock from "./sherlock.js"; +import axios from "axios"; config(); @@ -255,7 +256,26 @@ client.on('message', async (message) => { try { if (!message.content || typeof message.content != 'string') return; let args: string[] = Array.from(message.content.match(RE_COMMAND_ARGS) ?? []); - if (args.shift()?.toLowerCase() != PREFIX_WORD) return; + if (args.shift()?.toLowerCase() != PREFIX_WORD) { + if (new RegExp(`<@${client.user?._id}>`).test(message.content.replace(/\s+/, ' '))) { + try { + const blushes = [ + ':01H2YFQEFWVA2NNAEE6QK1FVBV:', ':01H2YF8BYYAN67MB93QSGQ56ZZ:', + ':01H2VPRR4RTP8925T4C0EAYRB2:', ':01H32PAGN69F1F4F91WYRAK63Z:', + ':01GJWQXA0K1T8FJVSSSSDVXCN5:', ':01G7YFRJ2T902GFNND6BRNRPMZ:', + ]; + const blush = blushes[Math.floor(Math.random() * blushes.length)]; + + const res = await axios.get('https://nekos.best/api/v2/blush'); + const url = res.data?.results?.[0]?.url; + if (!url) throw new Error(); + await message.reply(`# ${blush}\n[](${url})`); + } catch(e) { + await message.reply('nuh uh'); + } + } + return; + } // Remove quotes args = args.map(arg => arg.match(RE_COMMAND_ARG_QUOTED) ? arg.substring(1, arg.length - 1) : arg); diff --git a/src/sherlock.ts b/src/sherlock.ts index d1fcf6b..10aa696 100644 --- a/src/sherlock.ts +++ b/src/sherlock.ts @@ -1,6 +1,6 @@ import { Message } from "revolt.js"; import { spawn } from 'child_process'; -import { embed } from "."; +import { embed } from "./index.js"; import { SendableEmbed } from "revolt-api"; import FormData from 'form-data'; import axios from "axios";