BerandaBlog → Cara membuat bot Telegram yang mengubah pesan suara jadi teks

Cara membuat bot Telegram yang mengubah pesan suara jadi teks

Diterbitkan 2026-08-20 · 6 menit baca

Pesan suara tidak bisa dibaca saat rapat, di kereta, atau ketika Anda sekadar malas mendengarkan. Bot yang membalas pesan suara dengan teksnya menghapus gesekan itu, dan membangunnya cukup satu malam. Berikut alurnya dari berkas sampai balasan.

Apa yang dikerjakan bot

Logikanya muat dalam empat langkah:

  1. Terima pembaruan berisi pesan suara dan baca id berkasnya.
  2. Unduh berkas dari tautan yang diberikan Telegram.
  3. Kirim untuk dikenali.
  4. Balas dengan teksnya di utas yang sama.

Detail yang menyenangkan: Telegram menyimpan pesan suara sebagai ogg/opus — format yang diterima tanpa konversi sama sekali.

Penangan pesannya

Contoh ini memakai python-telegram-bot, tapi logikanya sama di pustaka mana pun:

import io
from telegram import Update
from telegram.ext import Application, MessageHandler, filters, ContextTypes
from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="kunci Anda")

async def on_voice(update: Update, ctx: ContextTypes.DEFAULT_TYPE):
    voice = update.message.voice or update.message.audio
    tg_file = await ctx.bot.get_file(voice.file_id)
    buf = io.BytesIO(await tg_file.download_as_bytearray())
    buf.name = "voice.ogg"

    text = client.audio.transcriptions.create(model="whisper-1", file=buf).text
    await update.message.reply_text(text or "tidak ada ucapan yang terbaca")

app = Application.builder().token("token bot").build()
app.add_handler(MessageHandler(filters.VOICE | filters.AUDIO, on_voice))
app.run_polling()

Baris paling penting adalah pengisian buf.name. Tanpa nama berkas, pustaka tidak bisa menebak formatnya dan permintaannya gagal.

Bagian yang menjebak

Yang ditambahkan setelah versi pertama

Versi pertama membalas teks polos. Tiga hal berikutnya yang biasa ditambahkan: ringkasan untuk pesan panjang, kuota per pengguna agar bot tidak jadi layanan gratis sedunia, dan penyimpanan transkrip supaya riwayatnya bisa dicari.

Catat pemakaian dalam menit audio: begitulah cara penagihan bekerja, dan angka yang sama menunjukkan biaya tiap pengguna.

Coba dengan rekaman Anda sendiri. Pendaftaran memakan waktu satu menit, dan menit gratisnya cukup untuk menilai kualitasnya.

Ambil kunci API gratis

Pertanyaan yang sering diajukan

Perlukah mengonversi berkas suara Telegram?

Tidak. Aplikasi mengirim ogg/opus yang diterima langsung — cukup beri nama berkas berakhiran .ogg.

Kenapa suara sangat pendek gagal?

Biasanya itu rekaman kosong sepersekian detik akibat salah tekan. Periksa durasinya sebelum dikirim.

Bagaimana melihat siapa memakai berapa?

Jumlahkan durasi pesan yang diproses per pengguna: penagihan per menit audio, jadi metrik itu sekaligus biaya Anda.

Apakah pesan video bulat bisa ditranskrip?

Bisa, audio di dalamnya terbaca sama saja. Bedanya hanya tipe pesan di API.

Bacaan terkait