Send release notes on a new release
This commit is contained in:
parent
654e360f37
commit
9c734b5248
|
@ -42,7 +42,8 @@ export async function execute(interaction: ContextMenuCommandInteraction) {
|
|||
|
||||
if (!dt.getConfessionById(guildId!, targetId)) {
|
||||
return interaction.reply({
|
||||
content: "Either that confession wasn't found or you aren't allowed to remove it.",
|
||||
content:
|
||||
"Either that confession wasn't found or you aren't allowed to remove it.",
|
||||
...messageOpts
|
||||
});
|
||||
}
|
||||
|
|
|
@ -16,10 +16,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import {
|
||||
ChatInputCommandInteraction,
|
||||
Events
|
||||
} from "discord.js";
|
||||
import { ChatInputCommandInteraction, Events } from "discord.js";
|
||||
import { BotClient, BOT_TOKEN, deployCommands } from "./bot";
|
||||
import { commands } from "./commands";
|
||||
import { StoreMan } from "./storeman";
|
||||
|
@ -34,6 +31,8 @@ const logger = new Logger("Main");
|
|||
|
||||
BotClient.once("ready", client => {
|
||||
logger.log(`We're ready! Logged in as ${client.user.tag}`);
|
||||
|
||||
dt.sendReleaseNotes();
|
||||
});
|
||||
|
||||
// Deploy the commands for a new guild
|
||||
|
|
|
@ -26,8 +26,16 @@ import {
|
|||
GuildSettings
|
||||
} from "./types";
|
||||
import { DATA_DIR } from "./config";
|
||||
import { CommandInteraction, Message } from "discord.js";
|
||||
import {
|
||||
bold,
|
||||
CommandInteraction,
|
||||
heading,
|
||||
Message,
|
||||
TextChannel,
|
||||
unorderedList
|
||||
} from "discord.js";
|
||||
import Logger from "../utils/Logger";
|
||||
import { BotClient } from "../bot";
|
||||
|
||||
export class StoreMan {
|
||||
public static readonly fullPath: string =
|
||||
|
@ -103,7 +111,8 @@ export class StoreMan {
|
|||
this.data.push({
|
||||
id: guildId,
|
||||
confessions: [],
|
||||
settings: opts
|
||||
settings: opts,
|
||||
versionNote: "v0.1.1"
|
||||
});
|
||||
|
||||
this.saveFile();
|
||||
|
@ -127,6 +136,33 @@ export class StoreMan {
|
|||
return null;
|
||||
}
|
||||
|
||||
public sendReleaseNotes(): void {
|
||||
for (const guild of this.data) {
|
||||
if (!guild.settings.modChannel) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (guild.versionNote !== "v0.1.1") {
|
||||
// TODO: Manual release notes for now
|
||||
const channel = BotClient.channels.cache.get(guild.settings.modChannel);
|
||||
const content =
|
||||
heading("🎉 Release v0.1.1\n") +
|
||||
unorderedList([
|
||||
"No notable changes with this release, just popping in to say hi! :)",
|
||||
"You'll get updates about future releases right here in the mod channel!"
|
||||
]) +
|
||||
"\n\n" +
|
||||
bold("Full Changelog: ") +
|
||||
"https://codeberg.org/powermaker450/confoss/commits/tag/v0.1.1";
|
||||
|
||||
(channel as TextChannel).send(content).catch(StoreMan.logger.log);
|
||||
guild.versionNote = "v0.1.1";
|
||||
}
|
||||
}
|
||||
|
||||
this.saveFile();
|
||||
}
|
||||
|
||||
// Attempts to add a confession. Returns true if the confession is sent, false if otherwise.
|
||||
public addConfession(
|
||||
message: Message,
|
||||
|
@ -182,7 +218,10 @@ export class StoreMan {
|
|||
return null;
|
||||
}
|
||||
|
||||
public getConfessionById(guildId: string, messageId: string): Confession | null {
|
||||
public getConfessionById(
|
||||
guildId: string,
|
||||
messageId: string
|
||||
): Confession | null {
|
||||
for (const guild of this.data) {
|
||||
if (guild.id === guildId) {
|
||||
for (const confession of guild.confessions) {
|
||||
|
|
|
@ -44,6 +44,7 @@ export interface GuildSettings {
|
|||
|
||||
export interface GuildData {
|
||||
id: string;
|
||||
versionNote?: "v0.1.1";
|
||||
confessions: Confession[];
|
||||
settings: GuildSettings;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue