diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml
new file mode 100644
index 0000000..53e7f47
--- /dev/null
+++ b/.github/workflows/deployment.yml
@@ -0,0 +1,27 @@
+name: deployment
+
+on:
+  push:
+    branches:
+      - main
+  workflow_dispatch:
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build and Test
+        uses: actions/setup-node@v1
+        with:
+          node-version: 16.x
+      - run: yarn install --frozen-lockfile
+      - run: yarn build
+      - name: Deploy Production
+        uses: D3rHase/ssh-command-action@v0.2.1
+        with:
+          HOST: ${{secrets.HOST}}
+          PORT: ${{secrets.PORT}}
+          USER: ${{secrets.USER}}
+          PRIVATE_SSH_KEY: ${{secrets.PRIVATE_SSH_KEY}}
+          COMMAND: ${{secrets.PROD_COMMAND}}
\ No newline at end of file
diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml
new file mode 100644
index 0000000..d74e7aa
--- /dev/null
+++ b/.github/workflows/integration.yml
@@ -0,0 +1,20 @@
+name: integration
+
+on:
+  push:
+    branches:
+      - feature/*
+      - hotfix/*
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build and Test
+        uses: actions/setup-node@v1
+        with:
+          node-version: 16.x
+      - run: yarn install --frozen-lockfile
+      - run: yarn build
+      - run: yarn test
\ No newline at end of file
diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml
new file mode 100644
index 0000000..5cff552
--- /dev/null
+++ b/.github/workflows/staging.yml
@@ -0,0 +1,27 @@
+name: staging
+
+on:
+  push:
+    branches:
+      - develop
+  workflow_dispatch:
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build and Test
+        uses: actions/setup-node@v1
+        with:
+          node-version: 16.x
+      - run: yarn install --frozen-lockfile
+      - run: yarn build
+      - name: Deploy Staging
+        uses: D3rHase/ssh-command-action@v0.2.1
+        with:
+          HOST: ${{secrets.HOST}}
+          PORT: ${{secrets.PORT}}
+          USER: ${{secrets.USER}}
+          PRIVATE_SSH_KEY: ${{secrets.PRIVATE_SSH_KEY}}
+          COMMAND: ${{secrets.STAGE_COMMAND}}
\ No newline at end of file
diff --git a/data/rules/290149509969739776.json b/data/rules/290149509969739776.json
index a01ef0c..9fa7a1e 100644
--- a/data/rules/290149509969739776.json
+++ b/data/rules/290149509969739776.json
@@ -6,7 +6,7 @@
         "title": "Vylpes' Den",
         "description": [
             "Welcome to Vylpes' Den! Make sure to say hi!",
-            "Invite link: https://go.vylpes.xyz/A6HcA"
+            "Invite link: https://discord.gg/UyAhAVp"
         ]
     },
     {
@@ -70,17 +70,19 @@
         "description": [
             "This server uses a bot made by me, VylBot, to help moderate the server.",
             "For more information on it, see the GitHub repositories:",
-            "https://gitea.vylpes.xyz/rabbitlabs/vylbot-app"
+            "https://github.com/Vylpes/vylbot-core",
+            "https://github.com/Vylpes/vylbot-app"
         ]
     },
     {
         "title": "Links",
         "description": [
-            "YouTube: https://www.youtube.com/@vylpes",
+            "YouTube: https://www.youtube.com/channel/UCwPlzKwCmP5Q9bCX3fHk2BA",
             "Patreon: https://www.patreon.com/vylpes",
             "Twitch: https://www.twitch.tv/vylpes_",
-            "Twitter: https://twitter.com/vylpes"
+            "Twitter: https://twitter.com/vylpes",
+            "Blog: https://vylpes.xyz"
         ],
-        "footer": "Last updated 20/06/2023"
+        "footer": "Last updated 01/02/2022"
     }
 ]
\ No newline at end of file
diff --git a/package.json b/package.json
index 4aa91b7..988a97d 100644
--- a/package.json
+++ b/package.json
@@ -33,11 +33,11 @@
     "emoji-regex": "^10.0.0",
     "jest": "^29.0.0",
     "jest-mock-extended": "^3.0.0",
-    "minimatch": "9.0.2",
+    "minimatch": "9.0.1",
     "mysql": "^2.18.1",
     "random-bunny": "^2.0.5",
     "ts-jest": "^29.0.0",
-    "typeorm": "0.3.17"
+    "typeorm": "0.3.16"
   },
   "devDependencies": {
     "@types/node": "^20.0.0",
diff --git a/src/vylbot.ts b/src/vylbot.ts
index 668c8e5..8cfd848 100644
--- a/src/vylbot.ts
+++ b/src/vylbot.ts
@@ -2,6 +2,7 @@ import { CoreClient } from "./client/client";
 import * as dotenv from "dotenv";
 import registry from "./registry";
 import { IntentsBitField } from "discord.js";
+import StringTools from "./helpers/StringTools";
 
 dotenv.config();
 
@@ -35,4 +36,4 @@ const client = new CoreClient([
 registry.RegisterCommands();
 registry.RegisterEvents();
 
-client.start();
+client.start();
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index fe4eccd..54ec5c2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2168,10 +2168,10 @@ mimic-response@^3.1.0:
   resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
   integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
 
-minimatch@9.0.2:
-  version "9.0.2"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.2.tgz#397e387fff22f6795844d00badc903a3d5de7057"
-  integrity sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==
+minimatch@9.0.1:
+  version "9.0.1"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253"
+  integrity sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==
   dependencies:
     brace-expansion "^2.0.1"
 
@@ -2783,10 +2783,10 @@ type-fest@^0.21.3:
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
   integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
 
-typeorm@0.3.17:
-  version "0.3.17"
-  resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.17.tgz#a73c121a52e4fbe419b596b244777be4e4b57949"
-  integrity sha512-UDjUEwIQalO9tWw9O2A4GU+sT3oyoUXheHJy4ft+RFdnRdQctdQ34L9SqE2p7LdwzafHx1maxT+bqXON+Qnmig==
+typeorm@0.3.16:
+  version "0.3.16"
+  resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.3.16.tgz#a001d77b36cfaaf9ff495e15805dd17883116b7b"
+  integrity sha512-wJ4Qy1oqRKNDdZiBTTaVMqwo/XxC52Q7uNPTjltPgLhvIW173bL6Iad0lhptMOsFlpixFPaUu3PNziaRBwX2Zw==
   dependencies:
     "@sqltools/formatter" "^1.2.5"
     app-root-path "^3.1.0"