import config from "config"; import client from "lib/client"; import { getRandomInt } from "lib/utils"; import { customContent, greetContent, sleepContent, } from "./greeting.components.ts"; import { Client, EmbedBuilder, type GuildMember } from "discord.js"; export class GreetingService { async customMessage() { console.log("custom message"); const channels = client.channels; const channel = channels.cache.get(config.discord.channelIdBot); if (channel?.isTextBased && channel?.isSendable()) { await channel.send({ embeds: [this.createEmbed()] }); } } createEmbed() { // ({ embeds: [exampleEmbed] }) console.log("createEmbed()"); const exampleEmbed = new EmbedBuilder() .setColor(0x004400) .setAuthor({ name: "avocadi - neuigkeiten", iconURL: "https://media.discordapp.net/attachments/1321933410188656693/1323447010380222474/mo_Avocadi_Avatar_Closeup_2.png?ex=67748b93&is=67733a13&hm=f48efb3523bca5f50e79144c7b41a127c94670e693e3da3dc2e6ffe62ad8a769&=&format=webp&quality=lossless&width=1524&height=1524", url: "https://avocadi.unom.io", }) .setDescription(customContent) .setTimestamp(); //.setFooter({ text: 'Some footer text here', iconURL: 'https://i.imgur.com/AfFp7pu.png' }); return exampleEmbed; } async welcome(member: GuildMember) { const welcomeMessages = [ `willkommen auf dem server, ${member}! πŸ’•`, `hey ${member}! schoen, dass du hier bist! 😊`, `hi ${member}, willkommen! viel spass hier! πŸ’–`, `willkommen, ${member}! schoen, dass du da bist! πŸ₯³`, `moin ${member}! viel spass im server! c:`, `hey ${member}! herzlich willkommen! fΓΌhl dich wie zu hause! 🏑`, `hi ${member}! cool, dass du da bist! πŸ‘`, `willkommen, ${member}! wir freuen uns, dass du hier bist! πŸ’•`, `hey ${member}! schoen, dass du bei uns bist! :3`, `willkommen auf dem server, ${member}! viel spass hier! ✨` ]; const randomMessage = `${welcomeMessages[Math.floor(Math.random() * welcomeMessages.length)]} bitte stelle dich kurz in <#${config.discord.channelIdIntro}> vor. sobald wir deine nachricht gelesen haben, vergeben wir dir die rolle *lernende:r*, damit du alle kanaele nutzen kannst viel spass und bis bald! :) `; try { console.log("welcome msg"); const channels = client.channels; const channel = channels.cache.get( config.discord.channelIdWelcome, ); if (channel?.isTextBased() && channel?.isSendable()) { await channel.send(randomMessage); } } catch (error) { console.error("error while senden a welcome msg:", error); } } async greet() { client.user?.setActivity("guten morgen! :3", { type: 4 }); console.log("set activity: awake"); client.user?.setPresence({ status: "online", }); const channels = client.channels; const channel = channels.cache.get(config.discord.testChannel); if (channel?.isTextBased && channel?.isSendable()) { await channel.send({ content: this.getContent(false) }); } } async sleep() { client.user?.setActivity("zzzzZZ..", { type: 4 }); console.log("set activity: asleep"); client.user?.setPresence({ status: "dnd", }); const channels = client.channels; const channel = channels.cache.get(config.discord.testChannel); if (channel?.isTextBased && channel?.isSendable()) { await channel.send({ content: this.getContent(true) }); } } async newYear() { client.user?.setActivity("frohes neues! :)", { type: 4 }); console.log("set activity: happy new Year"); client.user?.setPresence({ status: "online", }); /*const channels = client.channels; const channel = channels.cache.get(config.discord.channelId); if (channel?.isTextBased && channel?.isSendable()) { await channel.send({ content: "frohes neues! @everyone" }); }*/ } getContent(asleep: boolean) { if (asleep) { return sleepContent[getRandomInt(0, sleepContent.length - 1)]; } return greetContent[getRandomInt(0, greetContent.length - 1)]; } }