diff --git a/commands/utility/ping.js b/commands/utility/ping.js
new file mode 100644
index 0000000..4cffe9f
--- /dev/null
+++ b/commands/utility/ping.js
@@ -0,0 +1,34 @@
+const { oneLine } = require('common-tags');
+const { Command } = require('discord.js-commando');
+
+module.exports = class PingCommand extends Command {
+	constructor(client) {
+		super(client, {
+			name: 'ping',
+			group: 'util',
+			memberName: 'ping',
+			description: 'Checks the bot\'s ping to the Discord server.',
+			throttling: {
+				usages: 5,
+				duration: 10
+			}
+		});
+	}
+
+	async run(msg) {
+		if(!msg.editable) {
+			const pingMsg = await msg.say('Pinging...');
+			return pingMsg.edit(oneLine`
+				${msg.channel.type !== 'dm' ? `${msg.author},` : ''}
+				<:ping:499226870047571978> Pong! The message round-trip took **${pingMsg.createdTimestamp - msg.createdTimestamp}**ms.
+				${this.client.ping ? `The heartbeat ping is **${Math.round(this.client.ping)}**ms.` : ''}
+			`);
+		} else {
+			await msg.edit('Pinging...');
+			return msg.edit(oneLine`
+				Pong! The message round-trip took **${msg.editedTimestamp - msg.createdTimestamp}**ms.
+				${this.client.ping ? `The heartbeat ping is **${Math.round(this.client.ping)}**ms.` : ''}
+			`);
+		}
+	}
+};
diff --git a/index.js b/index.js
index b458d52..66d3241 100644
--- a/index.js
+++ b/index.js
@@ -25,7 +25,8 @@ client.registry
     ])
     .registerDefaultGroups()
     .registerDefaultCommands({
-        help: false
+        help: false,
+        ping: false
     })
     .registerCommandsIn(path.join(__dirname, 'commands'));
 //  Ready messages