通过电报机器人发送错误消息Flutter

时间:2020-07-15 06:04:16

标签: flutter dart error-handling telegram telegram-bot

我尝试使用Catcher,这是我的代码

CatcherOptions debugOptions = CatcherOptions(SilentReportMode(), [
    ConsoleHandler(),
    HttpHandler(HttpRequestType.post,
      Uri.parse("https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=-469322015&text="),
      printLogs: true,
    ),
    
  ]);

  Catcher(MyApp(), debugConfig: debugOptions, releaseConfig: releaseOptions);

一切都很好,但是我必须在该参数/sendMessage?chat_id=-469322015&text="Here Error Message"中输入错误消息

请帮助我该怎么做

1 个答案:

答案 0 :(得分:0)

通过创建自己的ReportMode来解决??

class SilentReportMode extends ReportMode {
  @override
  void requestAction(Report report, BuildContext context) {
    // no action needed, request is automatically accepted
    print("HEREEEEE ======= ${report.error}");
    try {
      sendError(report);
    } catch (e) {
    }
    super.onActionConfirmed(report);
  }

  Future sendError(Report report) async {
    try {
      Response response = await Dio().post('https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=-469322015&text=message: $report',
      );

      print("RESPONSE TELEGErammmmm ====== ${response.data}");
    } catch (e) {
      throw e;
    }
  }

  @override
  List<PlatformType> getSupportedPlatforms() =>
      [PlatformType.Web, PlatformType.Android, PlatformType.iOS];
}