Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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"

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

Langkah 2. Klik pada "BotFather" dan Klik pada tombol "Start".

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

Langkah 3. Ketik “/newbot”

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

Langkah 4. Ketikkan nama bot unik Anda

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

Langkah 7. Membuat aplikasi flask untuk respons webhook

Pertama-tama, Anda harus menginstal python dan flask di komputer Anda

$ pip install Flask
from 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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

https://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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

Setelah menulis "test bot" ke bot Anda sekarang buka Vscode Anda akan mengajukan JSON berikut di terminal Anda

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

from flask import Flask
from flask import request
from flask import Response
import requests
 
TOKEN = "<Your Bot Token>"
app = Flask(__name__)
 
def parse_message(message):
    print("message-->",message)
    chat_id = message['message']['chat']['id']
    txt = message['message']['text']
    print("chat_id-->", chat_id)
    print("txt-->", txt)
    return chat_id,txt
 
def tel_send_message(chat_id, text):
    url = f'https://api.telegram.org/bot{TOKEN}/sendMessage'
    payload = {
                'chat_id': chat_id,
                'text': text
                }
   
    r = requests.post(url,json=payload)
    return r
 
@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        msg = request.get_json()
       
        chat_id,txt = parse_message(msg)
        if txt == "hi":
            tel_send_message(chat_id,"Hello!!")
        else:
            tel_send_message(chat_id,'from webhook')
       
        return Response('ok', status=200)
    else:
        return "<h1>Welcome!</h1>"
 
if __name__ == '__main__':
   app.run(debug=True)
_

Kami akan mendapatkan respons di bawah ini di Bot Telegram

Bagaimana Anda mengotomatiskan pesan telegram dengan python?
Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

from flask import Flask
from flask import request
from flask import Response
import requests

TOKEN = "<Your Bot Token>"
 
app = Flask(__name__)
 
def tel_parse_message(message):
    print("message-->",message)
    try:
        chat_id = message['message']['chat']['id']
        txt = message['message']['text']
        print("chat_id-->", chat_id)
        print("txt-->", txt)
 
        return chat_id,txt
    except:
        print("NO text found-->>")
 
def tel_send_message(chat_id, text):
    url = f'https://api.telegram.org/bot{TOKEN}/sendMessage'
    payload = {
                'chat_id': chat_id,
                'text': text
                }
   
    r = requests.post(url,json=payload)
 
    return r
 
def tel_send_image(chat_id):
    url = f'https://api.telegram.org/bot{TOKEN}/sendPhoto'
    payload = {
        'chat_id': chat_id,
        'photo': "https://raw.githubusercontent.com/fbsamples/original-coast-clothing/main/public/styles/male-work.jpg",
        'caption': "This is a sample image"
    }
 
    r = requests.post(url, json=payload)
    return r
 
@ app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        msg = request.get_json()
        try:
            chat_id, txt = tel_parse_message(msg)
            if txt == "hi":
                tel_send_message(chat_id,"Hello, world!")
            elif txt == "image":
                tel_send_image(chat_id)
 
            else:
                tel_send_message(chat_id, 'from webhook')
        except:
            print("from index-->")
 
        return Response('ok', status=200)
    else:
        return "<h1>Welcome!</h1>"
 
if __name__ == '__main__':
    app.run(threaded=True)

Inilah tanggapan yang akan Anda dapatkan dari telegram

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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'https://api.telegram.org/bot{TOKEN}/sendAudio'
 
    payload = {
        'chat_id': chat_id,
        "audio": "http://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)
Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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'https://api.telegram.org/bot{TOKEN}/sendVideo'
 
    payload = {
        'chat_id': chat_id,
        "video": "https://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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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)
_0

Tambahkan 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)
_1

Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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)
_2

Tambahkan 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)
_3

Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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)
_4

Tambahkan 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)
_5

Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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)
_6

Tambahkan 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)
_7

Anda akan mendapatkan tanggapan berikut di telegram Anda

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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)
_8

Tambahkan 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)
_9

Anda akan mendapatkan tanggapan berikut di telegram Anda seperti ini

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?
Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

https://api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>
0

Sekarang dengan memanggil fungsi yang diberikan dalam fungsi indeks, kita dapat mencetak id obrolan dan id file

https://api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>
1

Kami akan menerima tanggapan di bawah ini

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

https://api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>
2

Kita juga perlu memanggil fungsi yang telah kita buat

https://api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>
_3

Di 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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

Langkah 21. Sekarang kami akan mencoba menambahkan video ke bot telegram

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

Saat kami mengirim video ke bot, kami menerima berbagai jenis JSON. Jadi kita perlu mengekstrak id file darinya

Bagaimana Anda mengotomatiskan pesan telegram dengan python?

Itu dapat dilakukan dengan bantuan kode berikut

https://api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>
_4

Sekarang 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

Bagaimana Anda mengotomatiskan pesan telegram dengan python?
Bagaimana Anda mengotomatiskan pesan telegram dengan python?

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

https://api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>
5

Langkah 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

Bisakah Anda mengotomatiskan pesan di Telegram?

Bot adalah akun Telegram khusus yang dirancang untuk menangani pesan secara otomatis . Pengguna dapat berinteraksi dengan bot dengan mengirimi mereka pesan perintah dalam obrolan pribadi atau grup.

Bagaimana cara membuat bot Telegram dengan Python?

Ketik /newbot , dan ikuti perintah untuk menyiapkan bot baru . BotFather akan memberi Anda token yang akan Anda gunakan untuk mengautentikasi bot Anda dan memberinya akses ke API Telegram. Catatan. Pastikan Anda menyimpan token dengan aman. Siapa pun yang memiliki akses token Anda dapat dengan mudah memanipulasi bot Anda.

Bagaimana cara mengirim pesan di Telegram menggunakan Python?

Kirim Pesan ke Telegram menggunakan Python . chatID, 'teks'. pesan}) cetak(respons. post(apiURL, json={'chat_id': chatID, 'text': message}) print(response. teks) kecuali Pengecualian sebagai e. print(e) send_to_telegram("Halo dari Python. ") Anda juga dapat mengirim gambar, video, audio, dokumen, dll. ke saluran Telegram melalui API menggunakan Python.

Bagaimana cara mengotomatiskan saluran Telegram?

Buat bot Telegram .
Cari "@Botfather" di Telegram
Mulai percakapan dan ketik "/newbot"
Masukkan nama bot baru (ini akan menjadi nama tampilan)
Masukkan nama pengguna bot (harus diakhiri dengan “_bot”)
Dapatkan Token API bot. CATATAN. Bot tidak dapat mengirim pesan ke orang terlebih dahulu, tetapi dapat mengirim pesan ke saluran