TKK_E32210095/lib/pages/alert_screen2.dart

71 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class AlertScreen2 extends StatefulWidget {
@override
_AlertScreen2State createState() => _AlertScreen2State();
}
class _AlertScreen2State extends State<AlertScreen2> {
final TextEditingController _chatIdController = TextEditingController();
final TextEditingController _messageController = TextEditingController();
final String botToken = '7023257817:AAFRw0ALvkG_2L-TLlkyU2OtZyR56IvbJfg';
Future<void> _kirimPesan(String chatId, String pesan) async {
final url = Uri.parse('https://api.telegram.org/bot$botToken/sendMessage');
final response = await http.post(
url,
body: {
'chat_id': chatId,
'text': pesan,
},
);
if (response.statusCode == 200) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Pesan berhasil terkirim!')),
);
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Gagal mengirim pesan. Status code: ${response.statusCode}')),
);
print('Response body: ${response.body}');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Alert Screen'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
TextField(
controller: _chatIdController,
decoration: InputDecoration(labelText: 'Chat ID'),
),
SizedBox(height: 16.0),
TextField(
controller: _messageController,
decoration: InputDecoration(labelText: 'Pesan'),
),
SizedBox(height: 16.0),
ElevatedButton(
onPressed: () {
String chatId = _chatIdController.text;
String pesan = _messageController.text;
_kirimPesan(chatId, pesan);
},
child: Text('Kirim Pesan'),
),
],
),
),
);
}
}