File tree Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -105,12 +105,19 @@ public async Task ClearSlashCommand(SlashCommandContext ctx,
105
105
}
106
106
107
107
// List of messages to delete, up to (not including) the one we just got.
108
- var firstMsg = ( await channel . GetMessagesAfterAsync ( message . Id , 1 ) . ToListAsync ( ) ) [ 0 ] ;
108
+ var firstMsg = ( await channel . GetMessagesAfterAsync ( message . Id , 1 ) . ToListAsync ( ) ) . FirstOrDefault ( ) ;
109
+ if ( firstMsg is null )
110
+ {
111
+ await ctx . RespondAsync ( $ "{ Program . cfgjson . Emoji . Error } I couldn't find any messages to clear! Please try again. (Hint: `up_to` is NOT inclusive.)") ;
112
+ return ;
113
+ }
109
114
var firstMsgId = firstMsg . Id ;
110
115
messagesToClear . Add ( firstMsg ) ;
111
116
while ( true )
112
117
{
113
118
var newMessages = ( await channel . GetMessagesAfterAsync ( firstMsgId , 100 ) . ToListAsync ( ) ) . OrderByDescending ( x => x . Id ) . ToList ( ) ;
119
+ if ( newMessages . Count == 0 )
120
+ break ;
114
121
messagesToClear . AddRange ( newMessages ) ;
115
122
firstMsgId = newMessages . First ( ) . Id ;
116
123
if ( newMessages . Count ( ) < 100 )
You can’t perform that action at this time.
0 commit comments