diff --git a/src/context/users/userinfo.ts b/src/context/users/userinfo.ts
index 496f84e..7a75754 100644
--- a/src/context/users/userinfo.ts
+++ b/src/context/users/userinfo.ts
@@ -1,20 +1,19 @@
 import { ContextMenuCommandBuilder, GuildMember, UserContextMenuCommandInteraction } from "discord.js";
 import { userAbout } from "../../commands/user/about.js";
 
-const command = new ContextMenuCommandBuilder()
-    .setName("User info")
+const command = new ContextMenuCommandBuilder().setName("User info");
 
 const callback = async (interaction: UserContextMenuCommandInteraction) => {
-    console.log("callback")
-    const guild = interaction.guild!
-    let member = interaction.targetMember
-    if (!member) member = await guild.members.fetch(interaction.targetId)
-    await userAbout(guild, member as GuildMember, interaction)
-}
+    console.log("callback");
+    const guild = interaction.guild!;
+    let member = interaction.targetMember;
+    if (!member) member = await guild.members.fetch(interaction.targetId);
+    await userAbout(guild, member as GuildMember, interaction);
+};
 
 const check = async (_interaction: UserContextMenuCommandInteraction) => {
-    console.log("check")
+    console.log("check");
     return true;
-}
+};
 
-export { command, callback, check }
+export { command, callback, check };
