report method

void report()

Implementation

void report() async {
  bool internet = await isInternetConnected();
  if (!internet) {
    _onFailure('NO INTERNET CONNECTION!');
  } else if (_content.isEmpty) {
    _onFailure('NO REPORT CONTENT PROVIDED!');
  } else if (_webhook.isEmpty) {
    _onFailure('NO DISCORD WEBHOOK PROVIDED!');
  } else {
    final Map<String, dynamic> params = {
      'content': _content,
      'username': _username,
      'avatar_url': _avatarUrl,
      'tts': _tts,
      // 'embeds': buildEmbedObjects(_embeds),
    };

    final Map<String, String> headers = {
      'Content-Type': 'application/json',
      'User-Agent':
          'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML] like Gecko) Chrome/97.0.4692.99 Safari/537.36',
    };

    Response response = await post(Uri.parse(_webhook),
        headers: headers, body: jsonEncode(params));
    if (response.statusCode == 200 || response.statusCode == 204) {
      _onSuccess();
    } else {
      _onFailure(
          'DISCORD REPORT FAILED TO SEND! ErrorCode: ${response.statusCode}, ErrorMessage: "${response.body}".');
    }
  }
}