@@ -5,6 +5,30 @@ import DiscordConfig from "@/config/discord.json";
55
66const iconsPath = join ( process . cwd ( ) , "resources/discord-event-icons" ) ;
77
8+ const GetParticipants = async (
9+ event : Discord . GuildScheduledEvent | Discord . PartialGuildScheduledEvent
10+ ) => {
11+ const eventUsers = await event . fetchSubscribers ( { withMember : true } ) ;
12+ return eventUsers . map ( evu => evu . member ) ;
13+ } ;
14+
15+ export const endEvent = async (
16+ event ?: Discord . GuildScheduledEvent | Discord . PartialGuildScheduledEvent ,
17+ ) => {
18+ const bot = await globalThis . MetaConcord . container . getService ( "DiscordBot" ) ;
19+ const guild = bot . getGuild ( ) ;
20+ const name = event ?. name ?? "A event"
21+ console . log ( `"${ name } " ended! Removing roles...` ) ;
22+ const users = ( await guild ?. roles . fetch ( DiscordConfig . roles . event ) ) ?. members ;
23+ users ?. forEach ( usr => {
24+ usr . roles . remove ( DiscordConfig . roles . event ) ;
25+ } )
26+ const reason = name + " ended" ;
27+ await bot . setIcon ( undefined , reason ) ;
28+ await bot . setServerBanner ( undefined , reason ) ;
29+ await bot . setNickname ( undefined , reason ) ;
30+ } ;
31+
832export default async ( bot : DiscordBot ) : Promise < void > => {
933 const events = [
1034 {
@@ -28,27 +52,6 @@ export default async (bot: DiscordBot): Promise<void> => {
2852 } ,
2953 ] ;
3054
31- const GetParticipants = async (
32- event : Discord . GuildScheduledEvent | Discord . PartialGuildScheduledEvent
33- ) => {
34- const eventUsers = await event . fetchSubscribers ( { withMember : true } ) ;
35- return eventUsers . map ( evu => evu . member ) ;
36- } ;
37-
38- const endEvent = async (
39- event : Discord . GuildScheduledEvent | Discord . PartialGuildScheduledEvent
40- ) => {
41- console . log ( `Event "${ event . name } " ended! Removing roles...` ) ;
42- const users = ( await event . guild ?. roles . fetch ( DiscordConfig . roles . event ) ) ?. members ;
43- users ?. forEach ( usr => {
44- usr . roles . remove ( DiscordConfig . roles . event ) ;
45- } )
46- const reason = event . name + " ended" ;
47- await bot . setIcon ( undefined , reason ) ;
48- await bot . setServerBanner ( undefined , reason ) ;
49- await bot . setNickname ( undefined , reason ) ;
50- } ;
51-
5255 bot . discord . on ( "guildScheduledEventUpdate" , async ( old , now ) => {
5356 const event = now ;
5457
0 commit comments