diff --git a/src/utils/singleNotify.ts b/src/utils/singleNotify.ts
new file mode 100644
index 0000000..4e9e6fe
--- /dev/null
+++ b/src/utils/singleNotify.ts
@@ -0,0 +1,26 @@
+import readConfig from "./readConfig.js";
+import generateEmojiEmbed from "./generateEmojiEmbed.js";
+
+let severities = {
+    "Critical": "Danger",
+    "Warning": "Warning",
+    "Info": "Success"
+}
+
+export default async function(client, type: string, guild: string, message: string, severity: string) {
+    let config = await readConfig(guild);
+    if (config.singleEventNotifications[type]) return;
+    // TODO: Set config.singleEventNotifications[type] to true
+    let channel = await client.channels.fetch(config.logging.staff);
+    if (!channel) return;
+    try {
+        await channel.send({embeds: [new generateEmojiEmbed()
+            .setTitle(`${severity} notification`)
+            .setDescription(message)
+            .setColor(severities[severity])
+            .setEmoji("CONTROL.BLOCKCROSS")
+        ]})
+    } catch (err) {
+        console.error(err)
+    }
+}
