added welcome msg
This commit is contained in:
parent
2592aea260
commit
edacc747b3
0
src/actions/activity/activity.components.ts
Normal file
0
src/actions/activity/activity.components.ts
Normal file
13
src/actions/activity/activity.service.ts
Normal file
13
src/actions/activity/activity.service.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import type { CacheType, Client, Interaction } from "discord.js";
|
||||
import client from "lib/client";
|
||||
|
||||
export class ActivityService {
|
||||
|
||||
async setActivity(client: Client<boolean>, description: string, activity: string) {
|
||||
client.user?.setActivity(":3", { type: 4 });
|
||||
console.log("set activity");
|
||||
client.user?.setPresence({
|
||||
status: "online",
|
||||
});
|
||||
}
|
||||
}
|
@ -1,8 +1,12 @@
|
||||
import config from "config";
|
||||
import client from "lib/client";
|
||||
import { getRandomInt } from "lib/utils";
|
||||
import { customContent, greetContent, sleepContent } from "./greeting.components.ts";
|
||||
import { EmbedBuilder } from "discord.js";
|
||||
import {
|
||||
customContent,
|
||||
greetContent,
|
||||
sleepContent,
|
||||
} from "./greeting.components.ts";
|
||||
import { Client, EmbedBuilder, type GuildMember } from "discord.js";
|
||||
|
||||
export class GreetingService {
|
||||
async customMessage() {
|
||||
@ -13,23 +17,59 @@ export class GreetingService {
|
||||
const channel = channels.cache.get(config.discord.channelIdBot);
|
||||
|
||||
if (channel?.isTextBased && channel?.isSendable()) {
|
||||
await channel.send({ embeds: [this.createEmbed()], });
|
||||
await channel.send({ embeds: [this.createEmbed()] });
|
||||
}
|
||||
}
|
||||
|
||||
createEmbed() { // ({ embeds: [exampleEmbed] })
|
||||
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' })
|
||||
.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()
|
||||
.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");
|
||||
|
@ -4,6 +4,8 @@ export default {
|
||||
channelIdBot: process.env.DISCORD_CHANNEL_ID_BOT || "",
|
||||
channelIdNews: process.env.DISCORD_CHANNEL_ID_NEWS || "",
|
||||
channelIdFeedback: process.env.DISCORD_CHANNEL_ID_FEEDBACK || "",
|
||||
channelIdIntro: process.env.DISCORD_CHANNEL_ID_INTRO || "",
|
||||
channelIdWelcome: process.env.DISCORD_CHANNEL_ID_WELCOME || "",
|
||||
mentionStudy: process.env.PEOPLE || "",
|
||||
applicationId: process.env.DISCORD_APPLICATION_ID || "",
|
||||
token: process.env.DISCORD_TOKEN || "",
|
||||
|
@ -1,10 +1,12 @@
|
||||
import { Commands, type CommandsType } from "commands";
|
||||
import type {
|
||||
ButtonInteraction,
|
||||
CacheType,
|
||||
ChatInputCommandInteraction,
|
||||
Interaction,
|
||||
ModalSubmitInteraction,
|
||||
import {
|
||||
Client,
|
||||
IntentsBitField,
|
||||
type ButtonInteraction,
|
||||
type CacheType,
|
||||
type ChatInputCommandInteraction,
|
||||
type Interaction,
|
||||
type ModalSubmitInteraction,
|
||||
} from "discord.js";
|
||||
import client from "lib/client";
|
||||
import EventEmitter from "node:events";
|
||||
@ -15,6 +17,7 @@ import { MedicationService } from "actions/medication/medication.service";
|
||||
import { HelpService } from "actions/help/help.service";
|
||||
import { custom } from "zod";
|
||||
import { GreetingService } from "actions/greeting/greeting.service";
|
||||
import { ActivityService } from "actions/activity/activity.service";
|
||||
|
||||
export default class DiscordController extends EventEmitter {
|
||||
private discordService!: DiscordService;
|
||||
@ -22,6 +25,7 @@ export default class DiscordController extends EventEmitter {
|
||||
greetingService: GreetingService;
|
||||
medicationService: MedicationService;
|
||||
helpService: HelpService;
|
||||
activityService: ActivityService;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
@ -30,6 +34,7 @@ export default class DiscordController extends EventEmitter {
|
||||
this.greetingService = new GreetingService();
|
||||
this.medicationService = new MedicationService();
|
||||
this.helpService = new HelpService();
|
||||
this.activityService = new ActivityService();
|
||||
// log when running
|
||||
client.once("ready", async () => {
|
||||
this.setActivity();
|
||||
@ -38,10 +43,14 @@ export default class DiscordController extends EventEmitter {
|
||||
|
||||
// listen for interactions
|
||||
client.on("interactionCreate", this.handleInteraction.bind(this));
|
||||
client.on("guildMemberAdd", async (member) => {
|
||||
console.log("client on guildMemberAdd");
|
||||
await this.greetingService.welcome(member);
|
||||
});
|
||||
}
|
||||
|
||||
async setActivity() {
|
||||
client.user?.setActivity("meine website ist online! :o", { type: 4 });
|
||||
client.user?.setActivity(":3", { type: 4 });
|
||||
console.log("set activity");
|
||||
client.user?.setPresence({
|
||||
status: "online",
|
||||
|
@ -1,7 +1,7 @@
|
||||
import config from "config";
|
||||
import { Client, IntentsBitField } from "discord.js";
|
||||
|
||||
const client = new Client({ intents: [IntentsBitField.Flags.Guilds] });
|
||||
const client = new Client({ intents: [IntentsBitField.Flags.Guilds, IntentsBitField.Flags.GuildMessages, IntentsBitField.Flags.GuildMembers] });
|
||||
|
||||
await client.login(config.discord.token);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user