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