sendMessage method
Sends a plain text message to Telegram.
text: The text to send.overrideChatId: (Optional) Overrides the defaultchatIdfor this single message.parseMode: (Optional) How the message should be parsed. Defaults toMarkdownV2.
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");
}
}