onRegister method Null safety

  1. @override
void onRegister(
  1. INyxx nyxx,
  2. Logger logger
)
override

Implementation

@override
void onRegister(INyxx nyxx, Logger logger) async {
  client = nyxx;

  if (nyxx is INyxxWebsocket) {
    nyxx.eventsWs.onMessageReceived.listen((event) => _processMessage(event.message));

    interactions = IInteractions.create(options.backend ?? WebsocketInteractionBackend(nyxx));
  } else {
    logger.warning('Commands was not intended for use without NyxxWebsocket.');

    throw CommandsError(
        'Cannot create the Interactions backend for non-websocket INyxx instances.');
  }

  if (nyxx.ready) {
    await _syncWithInteractions();
  } else {
    nyxx.onReady.listen((event) async {
      await _syncWithInteractions();
    });
  }
}