-
Notifications
You must be signed in to change notification settings - Fork 14
/
ChatAction.ino
135 lines (109 loc) · 4.04 KB
/
ChatAction.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*******************************************************************
Modified By : iwan Cilibur
Company : interactive Robotics
*******************************************************************/
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
// Initialize Wifi connection to the router
char ssid[] = "xxxxx"; // isi dengan SSID Access point atau router atau tethering HP mu
char password[] = "xxxxx"; // isi password Wifimu
// Initialize Telegram BOT
#define BOTtoken "xxxxxx" // your Bot Token (Get from Botfather)
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
int Bot_mtbs = 100; //mean time between scan messages
long Bot_lasttime; //last time messages' scan has been done
bool Start = false;
void handleNewMessages(int numNewMessages) {
Serial.println("handleNewMessages");
Serial.println(String(numNewMessages));
for (int i=0; i<numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
String text = bot.messages[i].text;
String from_name = bot.messages[i].from_name;
if (from_name == "") from_name = "Guest";
if (text == "Halo") {
bot.sendChatAction(chat_id, "Typing");
delay(10);
bot.sendMessage(chat_id, "Halo Juga, Ayul Bot Siap menerima perintah dari anda!");
// You can't use own message, just choose from one of bellow
//typing for text messages
//upload_photo for photos
//record_video or upload_video for videos
//record_audio or upload_audio for audio files
//upload_document for general files
//find_location for location data
//more info here - https://core.telegram.org/bots/api#sendchataction
}
if (text == "/start") {
String welcome = "Selamat Datang di Ayul Bot, Hallo " + from_name + ".\n";
welcome += "Chat ini dibalas otomatis Loh oleh Ayul Bot\n\n";
welcome += "Halo : untuk menyapa\n";
welcome += "Nyalakanlampu1 : untuk menyalakan lampu 1\n";
welcome += "Silahkan di Add yaa @AyuLBOT nya\n";
bot.sendMessage(chat_id, welcome);
}
if (text == "Nyalakan lampu 1") {
bot.sendChatAction(chat_id, "Typing");
delay(10);
String Lampu1 = "Lampu satu telah dinyalakan";
bot.sendMessage(chat_id, Lampu1);
}
if (text == "Matikan lampu 1") {
bot.sendChatAction(chat_id, "Typing");
delay(10);
String Lampu1 = "Lampu satu telah dimatikan";
bot.sendMessage(chat_id, Lampu1);
}
if (text == "Sayang") {
bot.sendChatAction(chat_id, "Typing");
delay(10);
String Lampu1 = "iyah sayang, kenapa ?";
bot.sendMessage(chat_id, Lampu1);
}
if (text == "Hari ini kita kemana") {
bot.sendChatAction(chat_id, "Typing");
delay(10);
String Lampu1 = "katanya kamu lagi ngoprek, lanjutin aja gih !";
bot.sendMessage(chat_id, Lampu1);
}
if (text == "Wxwxwx") {
bot.sendChatAction(chat_id, "Typing");
delay(10);
String Lampu1 = "Bodo Amat ! ^_^";
bot.sendMessage(chat_id, Lampu1);
}
}
}
void setup() {
Serial.begin(9600);
// Set WiFi to station mode and disconnect from an AP if it was Previously
// connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
// attempt to connect to Wifi network:
Serial.print("Connecting Wifi: ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
if (millis() > Bot_lasttime + Bot_mtbs) {
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while(numNewMessages) {
Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
Bot_lasttime = millis();
}
}