71 lines
2.1 KiB
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'),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|