Untuk percakapan yang menarik, chatbot otomatis sangat bermanfaat. Di platform seperti Facebook, Google, dan lainnya, kita bisa mengembangkan chatbot. Dalam tutorial ini, kita akan belajar tentang cara membuat chatbot Telegram dan menggunakannya untuk menyiapkan pesan teks dengan tanggapan yang kaya
Di sini kita belajar bagaimana kita bisa mendapatkan berbagai jenis tanggapan dari bot seperti
- Teks
- Gambar
- Video
- Dokumen
- Audio
- Pemilihan
- Tombol balasan cepat
- Tombol dengan tautan
Langkah-langkah membuat Bot Telegram
Ikuti petunjuk di bawah ini untuk membuat chatbot Telegram
Langkah 1. Buka akun telegram Anda dan di bilah pencarian ketik "BotFather"
Langkah 2. Klik pada "BotFather" dan Klik pada tombol "Start".
Langkah 3. Ketik “/newbot”
Langkah 4. Ketikkan nama bot unik Anda
Langkah 5. Sekarang ketikkan nama pengguna unik untuk bot Anda
Ingat. nama pengguna harus diakhiri dengan 'bot'. e. g. 'Tetris_bot' atau 'Tetrisbot'
Langkah 6. Setelah memberikan nama pengguna yang unik, Anda akan mendapatkan pesan seperti di bawah ini. itu berisi token untuk mengakses HTTP API. Amankan token Anda dan simpan dengan aman
Langkah 7. Membuat aplikasi flask untuk respons webhook
Pertama-tama, Anda harus menginstal python dan flask di komputer Anda
$ pip install Flaskfrom flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)Jalankan kode ini untuk memeriksa apakah aplikasi flask berjalan dengan benar atau tidak. Saat Anda menjalankan kode, Anda akan mendapatkan tautan untuk server seperti “http. //127. 0. 0. 1. 5000/” klik pada link tersebut Anda akan diarahkan ke halaman web dimana Anda akan melihat respon “Welcome. ”
Langkah 8. Pengaturan NGROK
Pergi ke Ngrok dan ketik perintah "ngrok http 5000" setelah menjalankan perintah ini Anda akan mendapatkan link
Dari tautan Ngrok itu, salin tautan HTTPS dan tempel ke browser Anda. Anda akan melihat respons “Selamat datang. ” sama dengan langkah sebelumnya
Langkah 9. Siapkan webhook
Sekarang Anda perlu mengatur webhook untuk bot telegram
Anda dapat melakukannya dengan menjalankan tautan di browser Anda
//api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>Setelah menjalankan tautan di browser web Anda, Anda akan mendapatkan respons yang ditunjukkan pada gambar di bawah
Langkah 10. Dapatkan respons JSON
Sekarang kita perlu mendapatkan respons JSON dari bot telegram untuk teks apa pun yang kita tulis ke bot
Sekarang buka Kode VS dan tambahkan kode berikut dan jalankan di tautan Ngrok yang sama tempat Anda menjalankan kode sebelumnya
from flask import Flask from flask import request from flask import Response import requests app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': msg = request.get_json() print(msg) return Response('ok', status=200) else: return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(debug=True)Di BotFather tempat Anda mendapatkan token untuk chatbot Telegram Anda, Anda juga dapat mengajukan URL untuk dialihkan ke bot Telegram Anda
Setelah itu klik Mulai Bot untuk memulai obrolan dengan bot. Kemudian ketik pesan apa pun yang Anda inginkan seperti "test bot" atau apa pun yang Anda inginkan
Setelah menulis "test bot" ke bot Anda sekarang buka Vscode Anda akan mengajukan JSON berikut di terminal Anda
Di sini kita dapat melihat bahwa pesan yang telah kita tulis ke bot telegram bisa kita dapatkan di backend berupa teks
Langkah 11. mengirim pesan teks dari bot
Kami akan menulis kode untuk mendapatkan respons untuk pesan "hai" dari pengguna dan jika selain "hai" dimasukkan maka respons dengan "dari webhook"
Anda juga dapat menambahkan parameter tambahan dalam mengirim pesan yang dapat Anda ikuti
Kami akan mendapatkan respons di bawah ini di Bot Telegram
Langkah 12. Dapatkan Gambar
Sekarang kita juga bisa mendapatkan gambar dari bot telegram
Dengan menambahkan fungsi untuk mengirim gambar dalam kode
Untuk parameter lainnya, Anda dapat mengikuti
Inilah tanggapan yang akan Anda dapatkan dari telegram
Langkah 13. Dapatkan Audio
Cara serupa Anda dapat mengirim audio ke telegram. Untuk parameter lainnya, Anda dapat mengikuti
def tel_send_audio(chat_id): url = f'//api.telegram.org/bot{TOKEN}/sendAudio' payload = { 'chat_id': chat_id, "audio": "//www.largesound.com/ashborytour/sound/brobob.mp3", } r = requests.post(url, json=payload) return r_Tambahkan kode ini ke fungsi indeks Anda
elif txt == "audio": tel_send_audio(chat_id)Langkah 14. Dapatkan Video.
Tambahkan kode untuk memasukkan video ke telegram. Untuk menambahkan lebih banyak parameter, Anda dapat mengikuti
def tel_send_video(chat_id): url = f'//api.telegram.org/bot{TOKEN}/sendVideo' payload = { 'chat_id': chat_id, "video": "//www.appsloveworld.com/wp-content/uploads/2018/10/640.mp4", } r = requests.post(url, json=payload) return r_Tambahkan kode ini ke fungsi indeks Anda
elif txt == "video": tel_send_video(chat_id)_Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini
Langkah 15. Dapatkan File
Tambahkan kode untuk mendapatkan File ke telegram. Untuk menambahkan lebih banyak parameter, Anda dapat mengikuti
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_0Tambahkan kode ini ke fungsi indeks Anda
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_1Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini
Langkah 16. Dapatkan Jajak Pendapat
Tambahkan kode untuk mendapatkan Jajak Pendapat ke telegram. Untuk menambahkan lebih banyak parameter, Anda dapat mengikuti
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_2Tambahkan kode ini ke fungsi indeks Anda
Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini
Langkah 17. Dapatkan Tombol
Tambahkan kode untuk mendapatkan Tombol ke bot telegram
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_4Tambahkan kode ini ke fungsi indeks Anda
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_5Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini
Langkah 18. Dapatkan Tombol Sebaris
Tambahkan kode untuk mendapatkan Tombol Sebaris ke telegram
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_6Tambahkan kode ini ke fungsi indeks Anda
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_7Anda akan mendapatkan tanggapan berikut di telegram Anda
Langkah 19. Dapatkan URL Tombol Sebaris
Tambahkan kode untuk mendapatkan Tombol Sebaris ke telegram
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_8Tambahkan kode ini ke fungsi indeks Anda
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<h1>Welcome!</h1>" if __name__ == '__main__': app.run(threaded=True)_9Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini
Untuk informasi lebih lanjut, Anda dapat mengikuti Dokumentasi Telegram Bot Api
Langkah 20. Bagikan gambar dengan bot dan dapatkan di sisi server
Pertama-tama, kami akan membagikan gambar ke bot dan melihat jenis JSON apa yang kami terima di sisi server kami
Seperti yang dapat kita lihat bahwa kita menerima id file untuk file yang kita kirim ke bot telegram. Sekarang, kita akan mendapatkan id file untuk gambar tersebut
//api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>0Sekarang dengan memanggil fungsi yang diberikan dalam fungsi indeks, kita dapat mencetak id obrolan dan id file
//api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>1Kami akan menerima tanggapan di bawah ini
Sekarang kita akan menggunakan id file yang kita dapatkan untuk gambar untuk mendapatkan jalur file untuk gambar yang disimpan di server telegram
Untuk itu kita harus mengarahkan ulang ke URL lain dan meneruskan id file kita ke sana untuk itu kita telah membuat sebuah fungsi
//api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>2Kita juga perlu memanggil fungsi yang telah kita buat
//api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>_3Di sini, di fungsi pertama kami mencoba mendapatkan jalur file kami untuk gambar yang telah kami bagikan dari JSON.
Setelah mendapatkan file path kita coba ambil file dari telegram server dengan cara redirect file path ke “url_1”
Dari "url_1" kami mencoba menyimpan file ke komputer kami
Di sisi server, Anda akan melihat print dan JSON seperti ini
Ini adalah direktori tempat kami menulis kode kami. Kita perlu membuat folder bernama "photos" agar kita bisa mendapatkan gambar yang kita kirim ke bot langsung di sistem kita
Langkah 21. Sekarang kami akan mencoba menambahkan video ke bot telegram
Saat kami mengirim video ke bot, kami menerima berbagai jenis JSON. Jadi kita perlu mengekstrak id file darinya
Itu dapat dilakukan dengan bantuan kode berikut
//api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>_4Sekarang di sini juga dengan cara yang sama, kami akan mengekstrak id file dan meneruskannya ke fungsi dan mendapatkan jalur file dan menyimpan video di sisi server kami
Untuk menyimpan video, kita perlu membuat nama folder "video" di mana kita dapat menyimpan video tersebut
Langkah 22. Sekarang dengan cara yang sama kita bisa melakukannya untuk audio dan file
Untuk menyimpan audio kita perlu membuat folder bernama "musik"
Untuk menyimpan dokumen kita perlu membuat folder bernama "dokumen"
Di sini dengan cara yang sama, kita perlu mengekstrak id file dan meneruskannya ke fungsi file_upload
//api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>5Langkah 23. Karena kami telah mencoba menyimpan gambar, video, audio, dan file di sisi server kami dan juga melakukan kode untuk mendapatkan berbagai jenis tanggapan melalui bot telegram
Anda juga dapat merujuk ke kode lengkap di repositori Github kami dan mengujinya untuk mendapatkan berbagai respons melalui bot telegram dan mengirim file ke sisi server
Kami telah belajar bagaimana kami bisa mendapatkan respons teks dari bot dan juga berbagai jenis file. Setelah itu, kami juga melihat bagaimana kami bisa mendapatkan file yang kami kirim ke bot di sisi server kami
Sekarang Anda dapat membuat bot bekerja sesuai keinginan Anda—lanjutkan dan buat hal besar berikutnya.
Semoga Anda bersenang-senang membuat bot Telegram pertama Anda. Jika Anda menghadapi kesulitan, beri tahu kami di komentar
Kami telah membuat seri posting blog di mana kami telah menyediakan tutorial tentang cara membuat chatbot untuk berbagai platform. Anda dapat menjelajahi blog ini dan mempelajari cara mengatur berbagai jenis tanggapan kaya yang dapat meningkatkan keterlibatan pengguna di chatbot Anda
Utusan Facebook. Membuat Bot Facebook Messenger Menggunakan Tutorial Python Dengan Contoh
Kendur. Membuat Slack Bot Menggunakan Tutorial Python Dengan Contoh
Perselisihan. Membuat Discord Bot Menggunakan Tutorial Python Dengan Contoh
Juga, lihat tutorial kami yang lain untuk mempelajari cara membuat chatbot ChatGPT di berbagai platform
WhatsApp dengan ChatGPT. Bangun Chatbot WhatsApp Otomatis Bertenaga AI Dengan ChatGPT Menggunakan Flask
Facebook Messenger dengan ChatGPT. Bangun Chatbot Facebook Messenger Otomatis Bertenaga AI Dengan ChatGPT Menggunakan Flask