diff --git a/src/commands/server/buttons.ts b/src/commands/server/buttons.ts
index f3c2abe..b98e821 100644
--- a/src/commands/server/buttons.ts
+++ b/src/commands/server/buttons.ts
@@ -265,7 +265,7 @@
                 case "send": {
                     await i.deferUpdate();
                     const channel = interaction.guild!.channels.cache.get(data.channel!) as Discord.TextChannel;
-                    let components: ActionRowBuilder<ButtonBuilder>[] = []
+                    let components: ActionRowBuilder<ButtonBuilder>[] = [];
                     let embeds: EmojiEmbed[] = [];
                     for (const button of data.buttons) {
                         components = [
@@ -282,9 +282,9 @@
                         if (data.title) e.setTitle(data.title);
                         if (data.description) e.setDescription(data.description);
                         if (data.color) e.setColor(data.color);
-                        embeds = [e]
+                        embeds = [e];
                     }
-                    await channel.send({ embeds, components })
+                    await channel.send({ embeds, components });
                     break;
                 }
             }
