1
- import { CodeyUserError } from './../../codeyUserError' ;
2
1
import { container } from '@sapphire/framework' ;
3
- import { PermissionsBitField , User } from 'discord.js' ;
2
+ import { EmbedBuilder , PermissionsBitField , TextChannel , User } from 'discord.js' ;
4
3
import {
5
4
CodeyCommandDetails ,
6
5
CodeyCommandOptionType ,
7
6
SapphireMessageExecuteType ,
7
+ getUserFromMessage ,
8
8
} from '../../codeyCommand' ;
9
9
import { banUser } from '../../components/admin' ;
10
10
import { vars } from '../../config' ;
11
+ import { DEFAULT_EMBED_COLOUR } from '../../utils/embeds.js' ;
11
12
import { pluralize } from '../../utils/pluralize' ;
13
+ import { CodeyUserError } from './../../codeyUserError' ;
14
+
15
+ const NOTIF_CHANNEL_ID : string = vars . NOTIF_CHANNEL_ID ;
12
16
13
17
// Ban a user
14
18
const banExecuteCommand : SapphireMessageExecuteType = async ( client , messageFromUser , args ) => {
@@ -35,6 +39,25 @@ const banExecuteCommand: SapphireMessageExecuteType = async (client, messageFrom
35
39
// get Guild object corresponding to server
36
40
const guild = await client . guilds . fetch ( vars . TARGET_GUILD_ID ) ;
37
41
if ( await banUser ( guild , user , reason , days ) ) {
42
+ const mod = getUserFromMessage ( messageFromUser ) ;
43
+ const banEmbed = new EmbedBuilder ( )
44
+ . setTitle ( 'Ban' )
45
+ . setColor ( DEFAULT_EMBED_COLOUR )
46
+ . addFields ( [
47
+ { name : 'User' , value : `${ user . tag } (${ user . id } )` } ,
48
+ {
49
+ name : 'Banned By' ,
50
+ value : `${ mod . tag } (${ mod . id } )` ,
51
+ } ,
52
+ { name : 'Reason' , value : reason } ,
53
+ {
54
+ name : 'Messages Purged' ,
55
+ value : ! days ? 'None' : `Past ${ days } ${ pluralize ( 'day' , days ) } ` ,
56
+ } ,
57
+ ] ) ;
58
+ ( client . channels . cache . get ( NOTIF_CHANNEL_ID ) as TextChannel ) . send ( {
59
+ embeds : [ banEmbed ] ,
60
+ } ) ;
38
61
return `Successfully banned user ${ user . tag } (id: ${ user . id } ) ${
39
62
days ? `and deleted their messages in the past ${ days } ${ pluralize ( 'day' , days ) } ` : ``
40
63
} for the following reason: ${ reason } `;
0 commit comments