bot-tele / main.py
trainerProgramming
Add application file
6f2d9fd
import telebot
import time
# Tambahkan jeda agar internet siap
print("Menunggu koneksi internet...")
time.sleep(10)
# --- KONFIGURASI ---
API_TOKEN = '8253566463:AAGjLA8DvyJdVEd5XfKmGPpxTSXtDLEa23M'
bot = telebot.TeleBot(API_TOKEN)
# Tempat menyimpan tugas sementara
daftar_tugas = []
# 1. MENU UTAMA (/start)
@bot.message_handler(commands=['start'])
def sapa_user(message):
bot.reply_to(message,
"Halo! Saya Bot Pencatat Tugas.\n\n"
"Silakan pilih menu di bawah ini:\n"
"1. /tambah - Masukkan tugas baru\n"
"2. /list - Lihat daftar tugas\n"
"3. /reset - Hapus semua tugas"
)
# 2. PROSES TAMBAH TUGAS (Interaktif)
@bot.message_handler(commands=['tambah'])
def tanya_tugas(message):
# Bot bertanya dulu
pertanyaan = bot.reply_to(message, "πŸ“ Silakan ketik tugas yang ingin dicatat:")
# Bot menunggu balasan user, lalu melempar ke fungsi 'simpan_tugas'
bot.register_next_step_handler(pertanyaan, simpan_tugas)
def simpan_tugas(message):
# Apapun yang diketik user di langkah ini akan dianggap sebagai tugas
tugas_baru = message.text
# Validasi sederhana (biar gak nyimpen pesan kosong)
if tugas_baru:
daftar_tugas.append(tugas_baru)
bot.reply_to(message, f"βœ… Oke! Tugas '{tugas_baru}' berhasil disimpan.\n\nKetik /list untuk melihat.")
else:
bot.reply_to(message, "⚠️ Gagal. Anda tidak memasukkan teks.")
# 3. LIHAT DAFTAR TUGAS (/list)
@bot.message_handler(commands=['list'])
def lihat_tugas(message):
if len(daftar_tugas) == 0:
bot.reply_to(message, "πŸ“‚ Daftar tugas Anda masih kosong.")
else:
respon = "πŸ“‹ **DAFTAR TUGAS KAMU:**\n"
for nomor, isi in enumerate(daftar_tugas, start=1):
respon += f"{nomor}. {isi}\n"
bot.reply_to(message, respon)
# 4. HAPUS SEMUA (/reset)
@bot.message_handler(commands=['reset'])
def hapus_semua(message):
konfirmasi = bot.reply_to(message, "⚠️ Yakin ingin menghapus SEMUA tugas? Ketik 'YA' untuk konfirmasi.")
bot.register_next_step_handler(konfirmasi, proses_hapus)
def proses_hapus(message):
if message.text.upper() == 'YA':
daftar_tugas.clear()
bot.reply_to(message, "πŸ—‘οΈ Sip! Semua tugas sudah dihapus bersih.")
else:
bot.reply_to(message, "❌ Penghapusan dibatalkan.")
# Menjalankan Bot
print("Bot sedang berjalan...")
bot.infinity_polling()