acknowledge method

  1. @override
Future<void> acknowledge({
  1. bool hidden = false,
})
override

Used to acknowledge a Interaction but not send any response yet. Once this is sent you can then only send ChannelMessages. You can also set showSource to also print out the command the user entered.

Implementation

@override
Future<void> acknowledge({bool hidden = false}) async {
  if (_hasAcked) {
    return Future.error(AlreadyRespondedError());
  }

  if (DateTime.now().isAfter(receivedAt.add(const Duration(seconds: 3)))) {
    return Future.error(InteractionExpiredError.threeSecs());
  }

  await interactions.interactionsEndpoints.acknowledge(interaction.token, interaction.id.toString(), hidden, _acknowledgeOpCode);

  logger.fine("Sending acknowledge for for interaction: ${interaction.id}");

  _hasAcked = true;
}