@@ -8,21 +8,20 @@ namespace TabletBot.Discord.SlashCommands
88{
99 public class SlashCommand
1010 {
11- public string Name { set ; get ; }
12- public SlashCommandBuilder Builder { set ; get ; }
13- public Func < SocketSlashCommand , Task > Handler { set ; get ; }
11+ public string Name { set ; get ; } = string . Empty ;
12+ public SlashCommandBuilder ? Builder { set ; get ; }
13+ public Func < SocketSlashCommand , Task > Handler { set ; get ; } = _ => Task . CompletedTask ;
1414 public GuildPermissions ? MinimumPermissions { set ; get ; }
1515 public bool Ephemeral { set ; get ; }
1616
17- public SlashCommandProperties Build ( ) => Builder . Build ( ) ;
17+ public SlashCommandProperties Build ( ) => Builder ! . Build ( ) ;
1818
1919 public async Task Invoke ( SocketSlashCommand command )
2020 {
2121 await command . DeferAsync ( Ephemeral ) ;
22- if ( MinimumPermissions is GuildPermissions permissions )
22+ if ( MinimumPermissions != null )
2323 {
24- var user = command . User as IGuildUser ;
25- if ( HasCorrectPermissions ( user ) )
24+ if ( command . User as IGuildUser is IGuildUser user && HasCorrectPermissions ( user ) )
2625 {
2726 await Handler ( command ) ;
2827 }
@@ -39,7 +38,7 @@ public async Task Invoke(SocketSlashCommand command)
3938
4039 private bool HasCorrectPermissions ( IGuildUser user )
4140 {
42- var guildPermissions = MinimumPermissions . Value ;
41+ var guildPermissions = MinimumPermissions ! . Value ;
4342 var userPermissions = user . GuildPermissions ;
4443
4544 return userPermissions . Administrator ||
0 commit comments