Tutorial Integrasi Bot Telegram dengan OneSignal API untuk Notifikasi Push

3 min read 24-08-2024
Tutorial Integrasi Bot Telegram dengan OneSignal API untuk Notifikasi Push

Integrasi Bot Telegram dengan OneSignal API adalah cara yang efektif untuk mengirimkan notifikasi push kepada pengguna. Dalam tutorial ini, kita akan membahas langkah demi langkah tentang cara melakukan integrasi ini. Pastikan Anda telah memiliki akun di Telegram dan OneSignal sebelum memulai.

Daftar Isi

  1. Persiapan
  2. Membuat Bot Telegram
  3. Mendapatkan API Key OneSignal
  4. Mengatur OneSignal
  5. Menghubungkan Bot Telegram dengan OneSignal
  6. Mengirim Notifikasi Push
  7. Kesimpulan

Persiapan

Sebelum memulai, pastikan Anda sudah siapkan hal-hal berikut:

  • Akun Telegram.
  • Akun OneSignal.
  • Pemahaman dasar tentang REST API dan JSON.

Membuat Bot Telegram

Untuk membuat bot Telegram, ikuti langkah-langkah berikut:

1. Buka Telegram

Buka aplikasi Telegram di perangkat Anda.

2. Cari BotFather

Gunakan fitur pencarian untuk menemukan BotFather, sebuah bot yang digunakan untuk membuat bot baru.

3. Buat Bot Baru

Ketik perintah /newbot untuk membuat bot baru. Ikuti instruksi yang diberikan oleh BotFather:

  • Berikan nama untuk bot Anda.
  • Berikan username untuk bot Anda (username harus diakhiri dengan "bot").

4. Dapatkan Token API

Setelah bot dibuat, BotFather akan memberikan token API. Simpan token ini karena Anda akan membutuhkannya nanti.

Mendapatkan API Key OneSignal

Setelah bot Telegram selesai dibuat, langkah selanjutnya adalah mendapatkan API Key dari OneSignal.

1. Daftar di OneSignal

Jika Anda belum memiliki akun, daftar di situs OneSignal.

2. Buat Aplikasi

Setelah masuk, buat aplikasi baru:

  • Pilih “Add a new App”.
  • Berikan nama aplikasi dan pilih platform yang ingin Anda gunakan (Web Push, Mobile, dll).

3. Dapatkan API Key

Setelah aplikasi dibuat, buka dashboard aplikasi Anda:

  • Pergi ke menu Settings > Keys & IDs.
  • Salin REST API Key dan App ID. Anda akan memerlukan keduanya untuk integrasi.

Mengatur OneSignal

Sebelum menghubungkan OneSignal dengan bot Telegram, Anda perlu mengatur platform yang Anda pilih dalam langkah sebelumnya. Jika Anda memilih Web Push, Anda perlu mengatur domain dan melakukan beberapa konfigurasi sesuai instruksi dari OneSignal.

Menghubungkan Bot Telegram dengan OneSignal

Setelah semua persiapan selesai, langkah berikutnya adalah menghubungkan bot Telegram dengan OneSignal menggunakan beberapa baris kode.

1. Menginstal Library

Anda perlu menggunakan library untuk mempermudah pembuatan bot dan pengiriman notifikasi. Jika Anda menggunakan Python, Anda bisa menggunakan python-telegram-bot dan requests. Install library ini menggunakan pip:

pip install python-telegram-bot requests

2. Menulis Kode

Berikut adalah contoh kode sederhana untuk menghubungkan Bot Telegram dengan OneSignal:

import requests
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext

# Token Bot Telegram
TELEGRAM_TOKEN = 'YOUR_TELEGRAM_TOKEN'
# OneSignal API URL dan Kunci
ONESIGNAL_URL = 'https://onesignal.com/api/v1/notifications'
ONESIGNAL_APP_ID = 'YOUR_ONESIGNAL_APP_ID'
ONESIGNAL_REST_API_KEY = 'YOUR_ONESIGNAL_REST_API_KEY'

# Fungsi untuk mengirimkan notifikasi
def send_notification(title, message):
    headers = {
        "Content-Type": "application/json; charset=utf-8",
        "Authorization": "Basic " + ONESIGNAL_REST_API_KEY,
    }

    payload = {
        "app_id": ONESIGNAL_APP_ID,
        "included_segments": ["Subscribed Users"],
        "headings": {"en": title},
        "contents": {"en": message},
    }

    response = requests.post(ONESIGNAL_URL, headers=headers, json=payload)
    return response.json()

# Fungsi command /notify untuk bot
def notify(update: Update, context: CallbackContext) -> None:
    title = context.args[0] if context.args else "Default Title"
    message = " ".join(context.args[1:]) if len(context.args) > 1 else "Default Message"
    response = send_notification(title, message)
    update.message.reply_text(f"Notifikasi berhasil dikirim: {response}")

def main():
    updater = Updater(TELEGRAM_TOKEN)
    dispatcher = updater.dispatcher

    dispatcher.add_handler(CommandHandler("notify", notify))

    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

Gantilah YOUR_TELEGRAM_TOKEN, YOUR_ONESIGNAL_APP_ID, dan YOUR_ONESIGNAL_REST_API_KEY dengan nilai yang sesuai.

3. Menjalankan Bot

Simpan kode di atas ke dalam file Python (misalnya bot.py) dan jalankan script tersebut. Bot Anda kini siap menerima perintah /notify.

Mengirim Notifikasi Push

Untuk mengirimkan notifikasi, cukup gunakan perintah berikut di chat Telegram Anda dengan bot:

/notify Judul Notifikasi Ini Ini adalah Isi Notifikasi

Bot akan menerima perintah tersebut dan mengirimkan notifikasi push ke semua pengguna yang berlangganan pada OneSignal.

/notify Judul Notifikasi Ini Ini adalah Isi Notifikasi

Kesimpulan

Dengan mengikuti tutorial ini, Anda telah berhasil mengintegrasikan Bot Telegram dengan OneSignal API untuk mengirimkan notifikasi push. Integrasi ini dapat digunakan untuk berbagai kepentingan, mulai dari notifikasi berita, pengingat, hingga informasi acara. Teruslah bereksperimen dengan fitur-fitur lain dari Telegram dan OneSignal untuk meningkatkan pengalaman pengguna. Semoga berhasil!