add guides #14

Merged
kenobi merged 3 commits from buttons into master 2023-06-09 22:23:51 +02:00
2 changed files with 26 additions and 25 deletions
Showing only changes of commit c0b24ee3ad - Show all commits

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 { RunOptions } from '../types/commandTypes'
import { APIEmbed, ActionRowBuilder, ButtonBuilder, ButtonComponent, ButtonInteraction, ButtonStyle, CollectorFilter, ComponentType, InteractionCollectorOptions } from 'discord.js'
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'
import { configureServer, explainRoles, installation, loginInfo, useSyncgroup } from './mitgucken'
export default new Command({
name: 'guides',
@ -72,15 +70,13 @@ export default new Command({
userDMChannel.send({ embeds: useSyncgroup(), files: [overview, joingroup, resume, leavegroup] })
} else if (guideSelection.customId === 'explainRoles') {
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
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.`)
userDMChannel.send(explainRoles())
}
guideSelection.update({ content: "Hab ich dir per DM geschickt :)", components: [] })
} catch (error) {
kenobi marked this conversation as resolved
Review

It would make sense to encapsulate this in a method analogous to the other options, to ensure cohesion and readability.

It would make sense to encapsulate this in a method analogous to the other options, to ensure cohesion and readability.
Review

done

done
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()
interaction.interaction.followUp('Ich schicke dir einen Guide per DM!')
const embedList: APIEmbed[] = []
embedList.push.apply(installation())
embedList.push.apply(configureServer())
embedList.push.apply(loginInfo())
embedList.push.apply(useSyncgroup())
embedList.push(...installation())
embedList.push(...configureServer())
embedList.push(...loginInfo())
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(`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[] {
const embedList: APIEmbed[] = []
// DownloadLink
// DownloadLink and installation
embedList.push({
color,
title: 'Jellyfin Media Player',
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.',
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.\nFühre die Datei aus und installiere den Jellyfin Media Player an den Ort deiner Wahl.',
fields: [
{ 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" }
]
})
// Installation
embedList.push({
color,
title: "Installation",
description: "Führe die Datei aus und installiere den Jellyfin Media Player an den Ort deiner Wahl",
],
image: {
url: 'attachment://set_splashscreen.png'
}
@ -138,4 +137,10 @@ export function useSyncgroup(): APIEmbed[] {
description: "Wenn du aus der Watchparty rausgeflogen bist, oder die Wiedergabe verlassen hast, kannst du über das Menü oben rechts auch wieder zurückkehren.",
})
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.`
}