Telegram adalah salah satu aplikasi perpesanan yang sangat populer dan telah menjadi platform favorit banyak pengembang untuk mengembangkan berbagai jenis bot. Dalam artikel ini, kita akan membahas langkah-langkah untuk membuat bot Telegram yang berfungsi sebagai pengingat pembayaran pajak menggunakan Python. Mari kita mulai!
Apa itu Bot Telegram?
Bot Telegram adalah akun otomatis di Telegram yang dapat merespons perintah dan pesan pengguna. Bot ini dapat diatur untuk melakukan berbagai tugas, termasuk memberikan informasi, mengingatkan pengguna, dan banyak lagi. Bot sangat berguna untuk mengotomatiskan berbagai pekerjaan dan memberikan layanan kepada pengguna.
Persyaratan yang Diperlukan
Sebelum kita mulai, pastikan Anda memiliki beberapa hal berikut:
-
Akun Telegram: Anda memerlukan akun Telegram untuk membuat bot.
-
Python: Pastikan Python diinstal di komputer Anda. Anda bisa mengunduhnya melalui situs resmi Python.
-
Pustaka Python untuk Telegram: Kita akan menggunakan
python-telegram-bot
. Anda bisa menginstalnya menggunakan pip.pip install python-telegram-bot
-
BotFather: Sebuah bot resmi yang digunakan untuk membuat bot baru di Telegram.
Langkah-langkah Membuat Bot Telegram
Langkah 1: Membuat Bot di Telegram dengan BotFather
- Buka aplikasi Telegram dan cari BotFather.
- Kirim pesan
/newbot
untuk membuat bot baru. - Ikuti instruksi yang diberikan, seperti memberikan nama bot dan username bot. Setelah berhasil, Anda akan mendapatkan API Token, yang akan digunakan untuk menghubungkan bot Anda dengan aplikasi Python.
Langkah 2: Memasang dan Menghasilkan Proyek Python
- Buat folder baru untuk proyek bot Anda.
- Di dalam folder tersebut, buat file Python baru, misalnya
tax_reminder_bot.py
.
Langkah 3: Menyiapkan Bot Python
Buka file tax_reminder_bot.py
dan masukkan kode dasar berikut:
import logging
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
from telegram import Update
# Aktifkan logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
# Token bot Anda
TOKEN = 'YOUR_API_TOKEN_HERE'
# Fungsi untuk mulai menggunakan perintah /start
def start(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Selamat datang di Bot Pengingat Pembayaran Pajak! Ketik /set untuk mengatur pengingat.')
# Fungsi untuk mengatur pengingat
def set_reminder(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Masukkan tanggal (format: DD-MM-YYYY) untuk pengingat pembayaran pajak.')
# Fungsi untuk menangani pesan teks
def handle_message(update: Update, context: CallbackContext) -> None:
update.message.reply_text('Saya hanya dapat mengingatkan pembayaran pajak. Gunakan /set untuk mengatur pengingat.')
# Fungsi utama untuk menjalankan bot
def main():
updater = Updater(TOKEN)
# Dapatkan dispatcher untuk melakukan penanganan perintah
dispatcher = updater.dispatcher
# Menambahkan handler untuk perintah
dispatcher.add_handler(CommandHandler('start', start))
dispatcher.add_handler(CommandHandler('set', set_reminder))
# Menangani pesan lainnya
dispatcher.add_handler(MessageHandler(Filters.text, handle_message))
# Mulai bot
updater.start_polling()
# Jalankan bot hingga Anda menekan Ctrl-C
updater.idle()
if __name__ == '__main__':
main()
Setelah selesai, pastikan untuk mengganti YOUR_API_TOKEN_HERE
dengan API token yang Anda dapatkan dari BotFather.
Langkah 4: Menjalankan Bot
Untuk menjalankan bot, buka terminal Anda, navigasikan ke folder proyek yang telah Anda buat, lalu jalankan perintah berikut:
python tax_reminder_bot.py
Jika semuanya berjalan dengan baik, bot Anda sudah aktif! Anda bisa membuka aplikasi Telegram dan mencari bot Anda dengan username yang telah Anda tentukan. Cobalah mengetikkan /start
untuk melihat sambutan dari bot Anda.
Langkah 5: Menambahkan Fitur Pengingat
Agar bot Anda berfungsi sebagai pengingat pajak, Anda perlu menambahkan beberapa logika untuk menyimpan dan mengingatkan tanggal yang telah diatur. Berikut adalah contoh cara menambahkan logika tersebut.
Ubah kode tax_reminder_bot.py
Anda untuk menyimpan tanggal dan mengirim pengingat:
import sqlite3
import datetime
from telegram import ParseMode
# Koneksi ke database SQLite untuk menyimpan pengingat
conn = sqlite3.connect('reminders.db')
c = conn.cursor()
# Membuat tabel jika belum ada
c.execute('''
CREATE TABLE IF NOT EXISTS reminders (
chat_id INTEGER,
reminder_date TEXT
)
''')
conn.commit()
def set_reminder(update: Update, context: CallbackContext) -> None:
try:
date_str = context.args[0]
reminder_date = datetime.datetime.strptime(date_str, '%d-%m-%Y')
c.execute('INSERT INTO reminders (chat_id, reminder_date) VALUES (?, ?)', (update.message.chat_id, reminder_date.strftime('%Y-%m-%d')))
conn.commit()
update.message.reply_text(f'Pengingat telah diatur untuk {reminder_date.strftime("%d %B %Y")}.')
except (ValueError, IndexError):
update.message.reply_text('Format tanggal tidak valid. Gunakan format DD-MM-YYYY.')
def check_reminders(context: CallbackContext):
today = datetime.datetime.now().strftime('%Y-%m-%d')
c.execute('SELECT chat_id FROM reminders WHERE reminder_date = ?', (today,))
rows = c.fetchall()
for row in rows:
context.bot.send_message(chat_id=row[0], text='Hari ini adalah batas waktu pembayaran pajak! Jangan lupa untuk membayar.', parse_mode=ParseMode.MARKDOWN)
# Memanggil check_reminders setiap 24 jam
job_queue = updater.job_queue
job_queue.run_repeating(check_reminders, interval=86400, first=0)
Langkah 6: Menjalankan Bot dengan Pengingat
Jalankan bot Anda lagi menggunakan perintah yang sama:
python tax_reminder_bot.py
Sekarang, bot Anda bisa menyimpan tanggal pengingat dan mengirim notifikasi kepada pengguna berdasarkan tanggal yang telah diatur.
Kesimpulan
Dengan langkah-langkah di atas, Anda telah berhasil membuat bot Telegram sederhana yang berfungsi sebagai pengingat pembayaran pajak menggunakan Python. Anda dapat mengembangkan bot ini lebih lanjut dengan menambahkan fitur-fitur lainnya, seperti pengingat berulang, penyimpanan data yang lebih kompleks, dan antarmuka pengguna yang lebih ramah.
Selamat mencoba dan semoga bot yang Anda buat bermanfaat!