sendMessage method

Future<void> sendMessage({
  1. required String text,
  2. String? overrideChatId,
  3. ParseMode parseMode = ParseMode.MarkdownV2,
})

Sends a plain text message to Telegram.

  • text: The text to send.
  • overrideChatId: (Optional) Overrides the default chatId for this single message.
  • parseMode: (Optional) How the message should be parsed. Defaults to MarkdownV2.

Implementation

Future<void> sendMessage({
  required String text,
  String? overrideChatId,
  ParseMode parseMode = ParseMode.MarkdownV2,
}) async {
  final targetChatId = overrideChatId ?? _defaultChatId;
  final url = "https://api.telegram.org/bot$_botToken/sendMessage";

  try {
    final response = await _dio.post(
      url,
      data: {"chat_id": targetChatId, "text": text, "parse_mode": 'Markdown'},
    );
    if (response.statusCode == 200) {
      print("Telegram message sent successfully to $targetChatId.");
    } else {
      print(
        "Telegram API returned a non-200 status code: ${response.statusCode}",
      );
      print("Response data: ${response.data}");
    }
  } on DioException catch (e) {
    print("Dio error sending Telegram message: ${e.message}");
    if (e.response != null) {
      print(
        "Error response: ${e.response?.statusCode} - ${e.response?.data}",
      );
    }
  } catch (e) {
    print("An unexpected error occurred: $e");
  }
}