From 7c90b2ff88548f03b4199ef85de20271cf7ea03a Mon Sep 17 00:00:00 2001 From: Vylpes Date: Sat, 13 Aug 2022 14:51:40 +0100 Subject: [PATCH] Add repo and funding link to about message (#176) Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/176 --- .env.template | 3 +++ package.json | 8 ++++---- src/commands/about.ts | 23 +++++++++++++++++++---- src/helpers/embeds/PublicEmbed.ts | 6 +++--- 4 files changed, 29 insertions(+), 11 deletions(-) diff --git a/.env.template b/.env.template index 88ad8df..5862d9c 100644 --- a/.env.template +++ b/.env.template @@ -11,3 +11,6 @@ BOT_VER=3.1 BOT_AUTHOR=Vylpes BOT_DATE=08 Aug 2022 BOT_OWNERID=147392775707426816 + +ABOUT_FUNDING= +ABOUT_REPO= diff --git a/package.json b/package.json index b45562f..aa06b2d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vylbot-app", - "version": "3.0.4", + "version": "3.1.0", "description": "A discord bot made for Vylpes' Den", "main": "./dist/vylbot", "typings": "./dist", @@ -13,12 +13,12 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/Vylpes/vylbot-app.git" + "url": "https://gitea.vylpes.xyz/rabbitlabs/vylbot-app" }, "author": "Vylpes", "license": "MIT", - "bugs": "https://github.com/Vylpes/vylbot-app/issues", - "homepage": "https://github.com/Vylpes/vylbot-app", + "bugs": "https://gitea.vylpes.xyz/rabbitlabs/vylbot-app/issues", + "homepage": "https://gitea.vylpes.xyz/rabbitlabs/vylbot-app", "dependencies": { "@types/jest": "^27.0.3", "@types/uuid": "^8.3.4", diff --git a/src/commands/about.ts b/src/commands/about.ts index 4246113..a5f62f4 100644 --- a/src/commands/about.ts +++ b/src/commands/about.ts @@ -1,3 +1,5 @@ +import { Emoji, MessageActionRow, MessageButton } from "discord.js"; +import { MessageButtonStyles } from "discord.js/typings/enums"; import { ICommandContext } from "../contracts/ICommandContext"; import PublicEmbed from "../helpers/embeds/PublicEmbed"; import { Command } from "../type/command"; @@ -9,11 +11,24 @@ export default class About extends Command { } public override async execute(context: ICommandContext) { + const fundingLink = process.env.ABOUT_FUNDING; + const repoLink = process.env.ABOUT_REPO; + const embed = new PublicEmbed(context, "About", "") - .addField("Version", process.env.BOT_VER!) - .addField("Author", process.env.BOT_AUTHOR!) - .addField("Date", process.env.BOT_DATE!); + .addField("Version", process.env.BOT_VER!, true) + .addField("Author", process.env.BOT_AUTHOR!, true) + .addField("Date", process.env.BOT_DATE!, true); + + const row = new MessageActionRow(); + + if (repoLink) { + row.addComponents(new MessageButton().setURL(repoLink).setLabel("Repo").setStyle(MessageButtonStyles.LINK)); + } + + if (fundingLink) { + row.addComponents(new MessageButton().setURL(fundingLink).setLabel("Funding").setStyle(MessageButtonStyles.LINK)); + } - await embed.SendToCurrentChannel(); + await embed.SendToCurrentChannel({ components: [row] }); } } \ No newline at end of file diff --git a/src/helpers/embeds/PublicEmbed.ts b/src/helpers/embeds/PublicEmbed.ts index 84be5c9..059826b 100644 --- a/src/helpers/embeds/PublicEmbed.ts +++ b/src/helpers/embeds/PublicEmbed.ts @@ -1,4 +1,4 @@ -import { MessageEmbed, Permissions, TextChannel } from "discord.js"; +import { MessageEmbed, MessageOptions, Permissions, TextChannel } from "discord.js"; import { ICommandContext } from "../../contracts/ICommandContext"; export default class PublicEmbed extends MessageEmbed { @@ -20,7 +20,7 @@ export default class PublicEmbed extends MessageEmbed { } // Send methods - public async SendToCurrentChannel() { + public async SendToCurrentChannel(options?: MessageOptions) { const channel = this.context.message.channel as TextChannel; const botMember = await this.context.message.guild?.members.fetch({ user: this.context.message.client.user! }); @@ -30,6 +30,6 @@ export default class PublicEmbed extends MessageEmbed { if (!permissions.has(Permissions.FLAGS.SEND_MESSAGES)) return; - this.context.message.channel.send({ embeds: [ this ]}); + this.context.message.channel.send({ embeds: [ this ], ...options}); } } \ No newline at end of file