codingiot


SUBMITTED BY: jwfathoni

DATE: June 28, 2023, 2:15 p.m.

FORMAT: Text only

SIZE: 7.9 kB

HITS: 521

  1. #include "CTBot.h"
  2. CTBot myBot;
  3. CTBotReplyKeyboard Tbl;
  4. CTBotInlineKeyboard TbLp1on, TbLp2on, TbLp1off, TbLp2off, TbLpAllon, TbLpAlloff;
  5. #define Lampu1 16
  6. #define Lampu2 5
  7. #define LAMPU_1_ON "Lampu_1_ON"
  8. #define LAMPU_1_OFF "Lampu_1_OFF"
  9. #define LAMPU_2_ON "Lampu_2_ON"
  10. #define LAMPU_2_OFF "Lampu_2_OFF"
  11. #define SEMUA_LAMPU_ON "Semua_Lampu_ON"
  12. #define SEMUA_LAMPU_OFF "Semua_Lampu_OFF"
  13. #define TIDAK "Tidak"
  14. String Status_Lampu_1;
  15. String Status_Lampu_2;
  16. int Lampu_1 = HIGH;
  17. int Lampu_2 = HIGH;
  18. bool TampilkanTombol;
  19. String ssid = "footrot flats";
  20. String pass = "b4gindas";
  21. String token = "6277708930:AAFllXMCvzge1BQRxDn2DzI5p4e6J6xfZms";
  22. void setup() {
  23. Serial.begin(115200);
  24. Serial.println("Memulai Koneksi...");
  25. myBot.wifiConnect(ssid, pass);
  26. myBot.setTelegramToken(token);
  27. if (myBot.testConnection())
  28. Serial.println("\nKoneksi Ke Telegram BOT Berhasil!");
  29. else
  30. Serial.println("\nTidak Terkoneksi Ke Telegram BOT");
  31. pinMode(Lampu1, OUTPUT);
  32. pinMode(Lampu2, OUTPUT);
  33. digitalWrite(Lampu1, HIGH);
  34. digitalWrite(Lampu2, HIGH);
  35. Tbl.addButton("Lampu 1");
  36. Tbl.addButton("Lampu 2");
  37. Tbl.addRow();
  38. Tbl.addButton("Semua Lampu ON");
  39. Tbl.addButton("Semua Lampu OFF");
  40. Tbl.addRow();
  41. Tbl.addButton("Cek Status");
  42. Tbl.enableResize();
  43. TampilkanTombol = false;
  44. TbLp1on.addButton("✅ Ya", LAMPU_1_ON, CTBotKeyboardButtonQuery);
  45. TbLp1on.addButton("❌ Tidak", TIDAK, CTBotKeyboardButtonQuery);
  46. TbLp2on.addButton("✅ Ya", LAMPU_2_ON, CTBotKeyboardButtonQuery);
  47. TbLp2on.addButton("❌ Tidak", TIDAK, CTBotKeyboardButtonQuery);
  48. TbLp1off.addButton("✅ Ya", LAMPU_1_OFF, CTBotKeyboardButtonQuery);
  49. TbLp1off.addButton("❌ Tidak", TIDAK, CTBotKeyboardButtonQuery);
  50. TbLp2off.addButton("✅ Ya", LAMPU_2_OFF, CTBotKeyboardButtonQuery);
  51. TbLp2off.addButton("❌ Tidak", TIDAK, CTBotKeyboardButtonQuery);
  52. TbLpAllon.addButton("✅ Ya", SEMUA_LAMPU_ON, CTBotKeyboardButtonQuery);
  53. TbLpAllon.addButton("❌ Tidak", TIDAK, CTBotKeyboardButtonQuery);
  54. TbLpAlloff.addButton("✅ Ya", SEMUA_LAMPU_OFF, CTBotKeyboardButtonQuery);
  55. TbLpAlloff.addButton("❌ Tidak", TIDAK, CTBotKeyboardButtonQuery);
  56. }
  57. void loop() {
  58. TBMessage msg;
  59. if (myBot.getNewMessage(msg)) {
  60. if (msg.text.equalsIgnoreCase("/start")) {
  61. myBot.sendMessage(msg.sender.id, "BOT AKTIF");
  62. myBot.sendMessage(msg.sender.id, "Halo...\nSelamat Datang Di Bot kami.\n\nGunakan tombol dibawah untuk mengontrol lampu 👇", Tbl);
  63. Serial.println("\nUser memulai Bot \n");
  64. TampilkanTombol = true;
  65. } else if (msg.text.equalsIgnoreCase("Lampu 1")) {
  66. if (Lampu_1 == LOW) {
  67. myBot.sendMessage(msg.sender.id, "Saat ini Lampu 1 dalam keadaan ON\nApakah anda ingin mematikan Lampu 1?", TbLp1off);
  68. Serial.println("\nUser mengirim perintah 'Lampu 1' \nSaat ini Lampu 1 dalam keadaan ON \n");
  69. } else {
  70. myBot.sendMessage(msg.sender.id, "Saat ini Lampu 1 dalam keadaan OFF\nApakah anda ingin menyalakan Lampu 1?", TbLp1on);
  71. Serial.println("\nUser mengirim perintah 'Lampu 1' \nSaat ini Lampu 1 dalam keadaan OFF \n");
  72. }
  73. } else if (msg.text.equalsIgnoreCase("Lampu 2")) {
  74. if (Lampu_2 == LOW) {
  75. myBot.sendMessage(msg.sender.id, "Saat ini Lampu 2 dalam keadaan ON\nApakah anda ingin mematikan Lampu 2?", TbLp2off);
  76. Serial.println("\nUser mengirim perintah 'Lampu 2' \nSaat ini Lampu 2 dalam keadaan ON \n");
  77. } else {
  78. myBot.sendMessage(msg.sender.id, "Saat ini Lampu 2 dalam keadaan OFF\nApakah anda ingin menyalakan Lampu 2?", TbLp2on);
  79. Serial.println("\nUser mengirim perintah 'Lampu 2' \nSaat ini Lampu 2 dalam keadaan OFF \n");
  80. }
  81. } else if (msg.text.equalsIgnoreCase("Semua Lampu ON")) {
  82. myBot.sendMessage(msg.sender.id, "Apakah anda ingin menyalakan Semua Lampu?", TbLpAllon);
  83. Serial.println("\nUser ingin menyalakan semua lampu\n");
  84. } else if (msg.text.equalsIgnoreCase("Semua Lampu OFF")) {
  85. myBot.sendMessage(msg.sender.id, "Apakah anda ingin mematikan Semua Lampu?", TbLpAlloff);
  86. Serial.println("\nUser ingin mematikan semua lampu\n");
  87. } else if (msg.text.equalsIgnoreCase("Cek Status")) {
  88. if (Lampu_1 == LOW) {
  89. Status_Lampu_1 = "Lampu 1 ON";
  90. } else {
  91. Status_Lampu_1 = "Lampu 1 OFF";
  92. }
  93. if (Lampu_2 == LOW) {
  94. Status_Lampu_2 = "Lampu 2 ON";
  95. } else {
  96. Status_Lampu_2 = "Lampu 2 OFF";
  97. }
  98. Serial.println("\nUser mengirim perintah 'Cek Status'\n");
  99. myBot.sendMessage(msg.sender.id, "Status saat ini : \n\n👉 " + Status_Lampu_1 + "\n\n👉 " + Status_Lampu_2 + "\n\nGunakan tombol dibawah untuk mengontrol lampu 👇", Tbl);
  100. Serial.println("\nStatus saat ini : \n\n👉 " + Status_Lampu_1 + "\n👉 " + Status_Lampu_2 + "\n");
  101. } else if (msg.messageType == CTBotMessageQuery) {
  102. if (msg.callbackQueryData.equals(LAMPU_1_ON)) {
  103. digitalWrite(Lampu1, LOW);
  104. Lampu_1 = LOW;
  105. myBot.sendMessage(msg.sender.id, "💡 Lampu 1 Telah Dinyalakan");
  106. Serial.println("\nUser menyalakan Lampu 1\n");
  107. } else if (msg.callbackQueryData.equals(LAMPU_1_OFF)) {
  108. digitalWrite(Lampu1, HIGH);
  109. Lampu_1 = HIGH;
  110. myBot.sendMessage(msg.sender.id, "🚫 Lampu 1 Telah Dimatikan");
  111. Serial.println("\nUser mematikan Lampu 1\n");
  112. } else if (msg.callbackQueryData.equals(LAMPU_2_ON)) {
  113. digitalWrite(Lampu2, LOW);
  114. Lampu_2 = LOW;
  115. myBot.sendMessage(msg.sender.id, "💡 Lampu 2 Telah Dinyalakan");
  116. Serial.println("\nUser menyalakan Lampu 2\n");
  117. } else if (msg.callbackQueryData.equals(LAMPU_2_OFF)) {
  118. digitalWrite(Lampu2, HIGH);
  119. Lampu_2 = HIGH;
  120. myBot.sendMessage(msg.sender.id, "🚫 Lampu 2 Telah Dimatikan");
  121. Serial.println("\nUser mematikan Lampu 2\n");
  122. } else if (msg.callbackQueryData.equals(SEMUA_LAMPU_ON)) {
  123. digitalWrite(Lampu1, LOW);
  124. digitalWrite(Lampu2, LOW);
  125. Lampu_1 = LOW;
  126. Lampu_2 = LOW;
  127. myBot.sendMessage(msg.sender.id, "Semua 💡💡💡💡 Lampu Telah Dinyalakan");
  128. Serial.println("\nUser telah menyalakan Semua Lampu\n");
  129. } else if (msg.callbackQueryData.equals(SEMUA_LAMPU_OFF)) {
  130. digitalWrite(Lampu1, HIGH);
  131. digitalWrite(Lampu2, HIGH);
  132. Lampu_1 = HIGH;
  133. Lampu_2 = HIGH;
  134. myBot.sendMessage(msg.sender.id, "🚫 Semua Lampu Telah Dimatikan");
  135. Serial.println("\nUser telah mematikan Semua Lampu\n");
  136. } else if (msg.callbackQueryData.equals(TIDAK)) {
  137. myBot.sendMessage(msg.sender.id, "❌ Perintah Telah Dibatalkan!!!");
  138. Serial.println("\nUser telah membatalkan perintah\n");
  139. }
  140. } else {
  141. myBot.sendMessage(msg.sender.id, "⛔️ ERROR: Perintah tidak dikenal?!\n\nGunakan tombol dibawah untuk mengontrol lampu 👇", Tbl);
  142. Serial.println("\nUser mengirim perintah yang tidak dikenal\n");
  143. }
  144. }
  145. delay(500);
  146. }

comments powered by Disqus