Facebook Messenger API ile Python’da Sohbet Botu Oluşturma

Giriş

Günümüzde işletmeler, müşterileriyle etkileşimlerini artırmak ve kullanıcı deneyimini iyileştirmek için sohbet botlarına yöneliyor. Facebook Messenger API, bu botları oluşturmak için güçlü ve esnek bir platform sunmaktadır. Python ise, kullanıcı dostu yapısı ve zengin kütüphane çeşitliliği ile sohbet botları geliştirmek için ideal bir dildir. Bu makalede, Python kullanarak Facebook Messenger API ile nasıl sohbet botu oluşturabileceğinizi adım adım inceleyeceğiz.

Facebook Messenger API Nedir?

Facebook Messenger API, geliştiricilere Facebook Messenger üzerinden kullanıcılarla etkileşim kurma imkanı tanır. Bu API, kullanıcıların mesajlarına, gönderilerine ve sohbet geçmişine erişim sağlar. Ayrıca, botların kullanıcılar ile etkileşimde bulunmasını, cevap vermesini ve hatta kullanıcıların belirli eylemleri gerçekleştirmesini sağlar. Günümüzde birçok büyük markanın müşterilerine daha iyi hizmet vermek için bu API’yi kullandığını görmekteyiz.

Messenger API, RESTful bir API olduğu için HTTP istekleriyle çalışır. Geliştiriciler, botlarını yaratmak için gerekli olan verileri almak veya gönderme işlemleri için bu API’yi kullanabilirler. Facebook Messenger API ile kullanıcıdan gelen mesajları dinleyebilir ve yanıtlar oluşturabilirsiniz. Yani, aslında temel bir geri bildirim sistemine sahip olursunuz.

Ayrıca, Messenger platformu üzerinden kullanıcılarınıza mesaj gönderme, kullanıcı profillerini görüntüleme ve daha fazlası gibi özelliklerden faydalanabilirsiniz. Böylece botunuzu sadece bir iletişim aracı olmaktan çıkarıp, etkileşimli bir müşteri hizmetleri temsilcisi haline getirebilirsiniz.

Python ile Messenger API Kullanımına Giriş

Python’da Facebook Messenger API’yi kullanabilmek için öncelikle birkaç ön şartı yerine getirmeniz gerekiyor. İlk olarak, bir Facebook geliştirici hesabına ihtiyacınız olacak. Bu hesabı oluşturduktan sonra, Facebook’un Geliştirici Platformu üzerinden bir uygulama oluşturmanız gerekmektedir. Uygulamanızı oluşturduktan sonra, Messenger API’yi etkinleştirmelisiniz. Bu süreç, API anahtarınızı ve gerekli izinleri almanızı sağlayacaktır.

Bir sonraki adım, Python için gerekli kütüphaneleri yüklemektir. Messenger API ile birlikte çalışabilmek için genellikle ‘requests’ kütüphanesini kullanacaksınız. Bu kütüphane, HTTP isteklerini kolayca oluşturmanıza olanak tanır. Python ortamınıza bu kütüphaneyi yüklemek için, terminal üzerinde şu komutu çalıştırmanız yeterli:

pip install requests

Kurulum işleminiz tamamlandıktan sonra Messenger API ile kurulumunuzu uğraşmaya başlayabilirsiniz. Geliştireceğiniz botun temellerini atmak için ilk önce bir sunucu ayarlamalısınız. Flask gibi hafif bir web geliştirme çerçevesi bu amaç için oldukça uygundur.

İlk Botunuzu Oluşturma

Facebook Messenger botları, gelen istekleri dinleyecek bir sunucuya ihtiyaç duyar. Flask kullanarak basit bir sunucu kurabiliriz. Aşağıdaki kod örneği, temel bir Flask uygulamasının nasıl oluşturulacağını göstermektedir:

from flask import Flask, request
import requests

app = Flask(__name__)

@app.route('/webhook', methods=['GET'])
def verify():
    if request.args.get('hub.mode') == 'subscribe' and request.args.get('hub.verify_token') == 'YOUR_VERIFY_TOKEN':
        return request.args.get('hub.challenge'), 200
    return 'Verification failed', 403

if __name__ == '__main__':
    app.run(port=5000)

Yukarıdaki kodda dikkat etmeniz gereken kısımlardan biri ‘YOUR_VERIFY_TOKEN’ kısmıdır. Bu token, oluşturduğunuz uygulamanın güvenliğini sağlamak amacıyla kullanılan bir tür doğrulama anahtarıdır. Bu kısmı kendi belirlediğiniz bir işlem yapmanız gerekmektedir.

Botunuzu sonra, mesaj alabilmesi için bir endpoint ayarlamanız gerekiyor. Bu basit sunucu, Facebook’un webhook isteği aldığında, doğrulama işlemleri gerçekleştirecektir. Şimdi bu kodun çalışabilmesi için bir sunucuya ihtiyaç var. Heroku veya başka bir bulut platformu kullanarak bu Flask uygulamanızı barındırabilirsiniz.

Webhook Ayarları

Webhook’lar, Messenger’da botunuzun mesaj almak için dinlediği bir uç noktadır. Uygulamanızın ayarlarına giderek webhook URL’sini ayarlamanız gerekiyor. Bu URL, yukarıda ayarladığınız Flask uygulamasındaki ‘/webhook’ endpoint’i olacaktır. Facebook, kullanıcı mesajlarını bu üzerine yönlendirecektir.

Webhook kurulumunu tamamladıktan sonra, botunuzun doğru çalıştığından emin olmak için test etmeniz gerekir. Test kullanıcıları oluşturarak veya gerektiğinde canlı kullanıcılarla etkileşime geçerek botunuzun yanıtlarını inceleyebilirsiniz. Messenger’dan gelen her mesajı dinleyebilmek için, botunuzun bu mesajları işleyebilmesi gerekir. Bunun için, mesaj işleme mantığını aşağıdaki gibi ekleyebilirsiniz:

@app.route('/webhook', methods=['POST'])
def webhook():
    data = request.get_json()
    # İşlem yap
    return 'EVENT_RECEIVED', 200

Bu kod parçasını kullanarak, gelen mesajlar üzerinde işlem yapabilir ve botunuzu geliştirerek daha etkileşimli bir hale getirebilirsiniz.

Mesaj Gönderme ve Cevap Oluşturma

Artık botumuzun gelen mesajları dinlemesine yardımcı olduk. Şimdi, kullanıcılara botun cevap vermesini sağlamak için birkaç basit değişiklik yapmamız gerekecek. Aşağıda, kullanıcıya cevap göndermek için gerekli olan bir fonksiyon örneği bulunmaktadır:

def send_message(recipient_id, message_text):
    payload = { 'messaging_type': 'RESPONSE', 'recipient': { 'id': recipient_id }, 'message': { 'text': message_text }}
    auth_token = 'YOUR_PAGE_ACCESS_TOKEN'
    headers = { 'Content-Type': 'application/json' }
    requests.post(f'https://graph.facebook.com/v12.0/me/messages?access_token={auth_token}', json=payload, headers=headers)

Bu fonksiyon, kullanıcıdan alınan mesajın kimliğini ve yanıt olarak göndermek istediğiniz metni alır. ‘YOUR_PAGE_ACCESS_TOKEN’ kısmını, uygulamanızın ayarlarından almanız gerekecektir. Mesaj gönderme işleminizi bu şekilde ayarladıktan sonra, bilgileri işleyerek kullanıcıların etkileşimde bulunmasını sağlayabilirsiniz.

Artık botunuza mesaj gönderme ve gelen mesajlara makul yanıtlar verme kapasitesini eklediniz. Bununla birlikte, botunuzu geliştirmek ve onun yeteneklerini artırmak için daha fazla özellik eklemeyi düşünebilirsiniz. Örneğin, kullanıcıların belirli anahtar kelimeleri yazarak farklı içeriklerle geri dönüşleri alabilmesine olanak tanıyabilirsiniz.

Sonuç

Bu makalede, Python ile Facebook Messenger API kullanarak basit bir sohbet botu oluşturmanın temel adımlarını inceledik. İlk başta biraz karmaşık görünebilir, ancak adım adım takip ettiğinizde oldukça basit bir süreç olduğunu göreceksiniz. Facebook Messenger API, müşteri etkileşiminizi artırmanız ve hizmetlerinizi daha iyi sunabilmeniz için harika bir araçtır.

Geliştirdiğiniz bot ile kullanıcılara nitelikli bir hizmet sunabilir ve işletmenizin dijital yüzünü güçlendirebilirsiniz. Unutmayın ki, botlarınızı sürekli yeniliklerle güncellemeli ve kullanıcı geri bildirimlerine dikkat etmelisiniz. Bu sayede botunuzu daha etkili ve kullanıcı dostu hale getirebilirsiniz.

Python ve Facebook Messenger API ile ilgili daha fazla bilgi edinmek ve geliştirmelerinizi devam ettirmek için yeni kaynaklar ve topluluklarla etkileşime geçmekten çekinmeyin. Başarılar!

Scroll to Top