restructuring

This commit is contained in:
Sammy 2023-06-09 22:01:38 +02:00
parent 3e152864fd
commit c0b24ee3ad
2 changed files with 26 additions and 25 deletions

View File

@ -1,13 +1,11 @@
import { ActionRowBuilder, ButtonBuilder, ButtonStyle } from 'discord.js'
import { v4 as uuid } from 'uuid'
import { accountChoice, joingroup, leavegroup, loginScreen, overview, resume, serverConnection, splashScreen, startScreen } from '../assets/attachments'
import { logger } from '../logger'
import { Command } from '../structures/command' import { Command } from '../structures/command'
import { RunOptions } from '../types/commandTypes' import { RunOptions } from '../types/commandTypes'
import { APIEmbed, ActionRowBuilder, ButtonBuilder, ButtonComponent, ButtonInteraction, ButtonStyle, CollectorFilter, ComponentType, InteractionCollectorOptions } from 'discord.js' import { configureServer, explainRoles, installation, loginInfo, useSyncgroup } from './mitgucken'
import { v4 as uuid } from 'uuid'
import { logger } from '../logger'
import { CacheType } from 'discord.js'
import { configureServer, installation, loginInfo, useSyncgroup } from './mitgucken'
import { attachmentImages } from '../..'
import { accountChoice, joingroup, leavegroup, loginScreen, overview, resume, serverConnection, splashScreen, startScreen } from '../assets/attachments'
export default new Command({ export default new Command({
name: 'guides', name: 'guides',
@ -72,15 +70,13 @@ export default new Command({
userDMChannel.send({ embeds: useSyncgroup(), files: [overview, joingroup, resume, leavegroup] }) userDMChannel.send({ embeds: useSyncgroup(), files: [overview, joingroup, resume, leavegroup] })
} else if (guideSelection.customId === 'explainRoles') { } else if (guideSelection.customId === 'explainRoles') {
const userDMChannel = await guideSelection.user.createDM() const userDMChannel = await guideSelection.user.createDM()
userDMChannel.send(`Mit einer Rolle kann dafür gesorgt werden, dass du einen dauerhaften Account auf dem Mediaserver hast. Wende dich bei Bedarf an Samantha oder Markus.\n userDMChannel.send(explainRoles())
Für eine watchparty bekommst du allerdings automatisch einen Account. Hierfür melde einfach Interesse an dem Event an. Wenn du für das Event Interesse angemeldet hast bekommst du automatisch beim Start des Events einen Benutzernamen und das dazugehörige Passwort zugesendet.\n
Hast du kein Interesse angemeldet bekommst du automatisch einen Nutzernamen und Passwort zugeschickt wenn du den Channel betrittst in dem das Event stattfindet.`)
} }
guideSelection.update({ content: "Hab ich dir per DM geschickt :)", components: [] }) guideSelection.update({ content: "Hab ich dir per DM geschickt :)", components: [] })
} catch (error) { } catch (error) {
await interaction.interaction.editReply({ content: 'Das dauert mir zu lange, frag mich nochmal wenn du nen guide brauchst', components: [] }); await interaction.interaction.editReply({ content: 'Das dauert mir zu lange, frag mich nochmal wenn du nen Guide brauchst', components: [] });
} }
} }

View File

@ -14,10 +14,15 @@ export default new Command({
const requestId = uuid() const requestId = uuid()
interaction.interaction.followUp('Ich schicke dir einen Guide per DM!') interaction.interaction.followUp('Ich schicke dir einen Guide per DM!')
const embedList: APIEmbed[] = [] const embedList: APIEmbed[] = []
embedList.push.apply(installation()) embedList.push(...installation())
embedList.push.apply(configureServer()) embedList.push(...configureServer())
embedList.push.apply(loginInfo()) embedList.push(...loginInfo())
embedList.push.apply(useSyncgroup()) embedList.push(...useSyncgroup())
embedList.push({
color,
title: "Wie du an einen Account kommst",
description: explainRoles()
})
//logger.info(`Trying to use ${splashScreen.name}`, { requestId, guildId: interaction.interaction.guild?.id }) //logger.info(`Trying to use ${splashScreen.name}`, { requestId, guildId: interaction.interaction.guild?.id })
logger.info(`Sending guide to ${interaction.interaction.user.id}`, { requestId, guildId: interaction.interaction.guild?.id }) logger.info(`Sending guide to ${interaction.interaction.user.id}`, { requestId, guildId: interaction.interaction.guild?.id })
@ -29,21 +34,15 @@ export default new Command({
export function installation(): APIEmbed[] { export function installation(): APIEmbed[] {
const embedList: APIEmbed[] = [] const embedList: APIEmbed[] = []
// DownloadLink // DownloadLink and installation
embedList.push({ embedList.push({
color, color,
title: 'Jellyfin Media Player', title: 'Jellyfin Media Player Installation',
description: 'Du kannst den Jellyfin Media Player von github herunterladen.\n Der Mediaplayer muss genutzt werden, da ein Schauen direkt über das Webinterface den Server zum Schmelzen bringt.', description: 'Du kannst den Jellyfin Media Player von github herunterladen.\n Der Mediaplayer muss genutzt werden, da ein Schauen direkt über das Webinterface den Server zum Schmelzen bringt.\nFühre die Datei aus und installiere den Jellyfin Media Player an den Ort deiner Wahl.',
fields: [ fields: [
{ name: "Windows", value: "https://github.com/jellyfin/jellyfin-media-player/releases/download/v1.9.1/JellyfinMediaPlayer-1.9.1-windows-x64.exe" }, { name: "Windows", value: "https://github.com/jellyfin/jellyfin-media-player/releases/download/v1.9.1/JellyfinMediaPlayer-1.9.1-windows-x64.exe" },
{ name: "Mac", value: "https://github.com/jellyfin/jellyfin-media-player/releases/download/v1.9.1/JellyfinMediaPlayer-1.9.1-macos-notarized.dmg" } { name: "Mac", value: "https://github.com/jellyfin/jellyfin-media-player/releases/download/v1.9.1/JellyfinMediaPlayer-1.9.1-macos-notarized.dmg" }
] ],
})
// Installation
embedList.push({
color,
title: "Installation",
description: "Führe die Datei aus und installiere den Jellyfin Media Player an den Ort deiner Wahl",
image: { image: {
url: 'attachment://set_splashscreen.png' url: 'attachment://set_splashscreen.png'
} }
@ -139,3 +138,9 @@ export function useSyncgroup(): APIEmbed[] {
}) })
return embedList return embedList
} }
export function explainRoles(): string {
return `Mit einer Rolle kann dafür gesorgt werden, dass du einen dauerhaften Account auf dem Mediaserver hast. Wende dich bei Bedarf an Samantha oder Markus.\n
Für eine watchparty bekommst du allerdings automatisch einen Account. Hierfür melde einfach Interesse an dem Event an. Wenn du für das Event Interesse angemeldet hast bekommst du automatisch beim Start des Events einen Benutzernamen und das dazugehörige Passwort zugesendet.\n
Hast du kein Interesse angemeldet bekommst du automatisch einen Nutzernamen und Passwort zugeschickt wenn du den Channel betrittst in dem das Event stattfindet.`
}