Python İle Bot Yapımı – Flask İle Örnek Bot Uygulaması

Python ile bot yapımı hakkında detaylı bilgi sahibi olabilir, bot türlerini ve örnek uygulamalarını öğrenebilirsiniz.

Gelişen teknoloji ile birlikte botlar, hayatımızın her alanında karşımıza çıkmaya başladı. Otomatik mesajlaşma uygulamaları, web siteleri ve sosyal medya platformları üzerinden etkileşimde bulunabilen botlar, kullanıcıların taleplerine anlık olarak yanıt verebiliyor. Python ile bot yapımı sayesinde siz de kolay bir şekilde bot oluşturabilirsiniz.

Python ile Bot Nedir?

Python ile bot nedir? sorusunun yanıtı, bu teknolojinin önemini daha iyi anlamanızı sağlar. Bot, insan etkileşimini taklit ederek belirli bir görevi yerine getiren yazılım programıdır. Python dili, bu yazılımların oluşturulmasında yaygın olarak kullanılır. Botlar, chat uygulamalarında otomatik yanıtlar vermekten arama motoru sorgularını yerine getirmeye kadar pek çok işlevi yerine getirir. Bu yazılım türleri, insan etkileşimini taklit etmesi nedeniyle zaman ve maliyet tasarrufu sağlar.

Python ile bot yapımı, kodlama deneyimi olmayan kişilerin bile bot oluşturmasını sağlar. Önceden hazır şablonların kullanılması, botların hızlı bir şekilde oluşturulmasını ve çalıştırılmasını sağlar. Bu süreçte Python kodlama dili, botların işlevselliğini ve özelliklerini belirleyen temel unsurdur.

Python ile Bot Türleri

Python ile bot türleri, bu yazılımların farklı platformlarda ve amaçlarla kullanılmasına olanak tanır. Chatbot’lar, metin tabanlı arayüzlere sahip uygulamalardır ve yapay zeka destekli mesajlaşma uygulamaları olarak bilinirler. API botları ise web servisleri ile iletişim kurar ve belirli görevleri yerine getirir. Sosyal medya botları ise otomatik olarak içerik paylaşan veya beğenen yazılımlardır.

Chatbot

Chatbot nedir? sorusuna verilecek en kısa yanıt; ”insan benzeri bir etkileşim yaratmak için yazılmış bir yazılım programıdır.” Son dönemlerin en popüler yazılımlarından biri olan chatbotlar, ”doğal dil işleme” ve ”makine öğrenmesi” gibi teknolojilerle desteklenir.

Sürekli değişen dünyada işletmelerin rekabet edebilmesi için yenilikçi çözümler geliştirmesi gerekir. Yapay zeka destekli chatbotlar, müşterilere 7/24 destek sunarak işletmelere bu konuda avantaj sağlar. İnsan benzeri etkileşimler yaratan bu yazılımlar, çok sayıda müşteriyle aynı anda iletişim kurarak zaman ve maliyet tasarrufu sağlar. Chatbotlar ayrıca müşteri verilerini analiz ederek işletmelere değerli bilgiler sunar.

Sosyal Medya Botları

Sosyal medya botları, Facebook, Instagram ve Twitter gibi sosyal medya platformlarında otomatik içerik paylaşımı yapan veya beğenme ve yorum yapma gibi görevleri yerine getiren yazılımlardır. Bu yazılımlar, sosyal medya hesaplarınızın sürekli olarak güncel kalmasını sağlar ve takipçi sayınızı artırmanıza yardımcı olur. Sosyal medya botları, belirlediğiniz anahtar kelimelere göre içerik paylaşır ve hedef kitlenizin ilgisini çeken gönderileri otomatik olarak beğenir. Ayrıca rakiplerinizin paylaşımlarını analiz ederek stratejinizi geliştirmenize yardımcı olabilir.

API Botları

API botları, dış veri kaynaklarından bilgi çekip bu verileri işleyerek belirli görevleri yerine getiren yazılımlardır. API (Uygulama Programlama Arayüzü), farklı yazılımlar arasında iletişim sağlayan bir arayüzdür. API botları, bu arayüz sayesinde veri kaynağına ulaşır ve verileri işler. Örneğin hava durumu API’sı sayesinde güncel hava durumu bilgilerini öğrenebilirsiniz. Bu bilgiler, hava durumu API’sı tarafından sağlanan gerçek zamanlı verilerden elde edilir.

Python ile Bot Kullanım Alanları

Python ile bot kullanım alanları, bu yazılımların ticari firmalardan kişisel kullanıcılara kadar birçok kesim tarafından tercih edilmesini sağlar. Kullanıcılar, sosyal medya hesaplerini yönetmek için python botlarından faydalanır. API botları ise veri çekip bu verileri işleyerek belirli görevleri yerine getirir.

Ticari firmalar ise python ile otomatik müşteri desteği sunarak 7/24 hizmet verir. Chatbotlar sayesinde çok sayıda müşteriyle aynı anda iletişim kurabilen firmalar, insan etkileşimini taklit eden yapay zeka destekli yazılımlar sayesinde zaman ve maliyet tasarrufu sağlar. Ayrıca chatbotlar sayesinde müşteri verilerini analiz ederek işletmelere değerli bilgiler sunabilirler.

Kişisel kullanım alanlarında ise python ile otomatik mesaj gönderme gibi basit işlemler gerçekleştirilir.

Python İle Bot Oluşturma Adımları

Python ile bot oluşturma adımları, bu yazılımların temel yapı taşlarını anlamanızı ve kendi bot projelerinizi geliştirebilmenizi sağlar. Python dili, basit bir sözdizimi ve güçlü kütüphaneleri sayesinde bot oluşturmayı kolaylaştırır.

Gereksinimler

Pahalı donanımlar gerektirmeyen python ile bot oluşturma süreci, bilgisayarınızda temel bir Python kurulumuna sahip olmanızı yeterlidir. Python’un resmi web sitesinden en son sürümü indirebilir ve sisteminize kurulumunu gerçekleştirebilirsiniz. Kurulumdan sonra terminal veya komut istemcisine ''python --version'' yazarak kurulumun başarılı olup olmadığını kontrol edebilirsiniz.

Bazı bot türleri için ek kütüphaneler gerekebilir. Örneğin selenium kütüphanesi web tarayıcılarını otomatikleştirmek için kullanılırken requests kütüphanesi API’lerle iletişim kurmak için kullanılır.

Paket Kurulumu

Pip, Python paketlerini yüklemek ve yönetmek için kullanılan bir araçtır. Pip sayesinde Python’un resmi paket dizini olan PyPI’den paketleri kolayca indirebilirsiniz. Sisteminizde pip’in kurulu olup olmadığını kontrol etmek için terminal veya komut istemcisine ''pip --version'' yazarak kurulumun başarılı olup olmadığını kontrol edebilirsiniz.

Paketlerin kurulumu için terminal veya komut istemcisine ''pip install package_name'' komutunu yazarak gerekli paketlerin indirilmesini sağlayabilirsiniz.

Kod Yazma

Kod yazma aşaması, python ile bot oluşturma sürecinin en heyecan verici kısmıdır. Bu aşamada botun işlevselliğini belirleyen kodlamayı gerçekleştirirsiniz.

# kod içeriği, python’un yorumlayıcısına verilen bir komuttur ve kodun çalıştırılması için gereken talimatları içerir. Bu talimatlar arasında değişken tanımlamaları, matematiksel işlemler, döngüler ve koşullu ifadeler bulunur.

Botu Test Etme

Test etme aşaması, botunuzun beklenen şekilde çalışıp çalışmadığını kontrol etmek için gerçekleştirilir. Bu aşamada kodunuzda hata ayıklama işlemleri gerçekleştirilir ve gerekli düzeltmeler yapılır.

Kodunuzda hata ayıklama işlemleri gerçekleştirmek için Python’un yerleşik hata ayıklayıcı modülü olan pdb’yi kullanabilirsiniz. Bu modül sayesinde kodunuzdaki hataları tespit edebilir ve düzeltmeler yapabilirsiniz.

Botu Yayınlama

Yayınlama aşaması, python ile oluşturduğunuz botun gerçek dünyada kullanılabilir hale gelmesini sağlar. Bu aşamada botunuzun barındırılacağı bir sunucuya ihtiyacınız vardır.

Kendi sunucunuzu kurmak istemiyorsanız bulut tabanlı hizmet sağlayıcılarını tercih edebilirsiniz. Amazon Web Services (AWS), Microsoft Azure veya Google Cloud gibi bulut hizmet sağlayıcıları, python ile oluşturduğunuz botunuzu barındırmak için uygun seçeneklerdir.

Python İle Bot Uygulama Örneği: Flask İle Restful API Uygulaması

Pythondaki Flask kütüphanesi sayesinde hızlı bir şekilde web uygulamaları geliştirebilirsiniz. Flask’in sağladığı araçlar sayesinde kullanıcı girişi ve kayıt işlemleri gibi karmaşık işlemleri kolayca gerçekleştirebilirsiniz.

Ayrıca Flask sayesinde RESTful API’ler geliştirerek diğer uygulamalarla veri alışverişi yapabilirsiniz. RESTful API’ler sayesinde uygulamanızın işlevselliğini artırabilir ve diğer uygulamalarla entegre hale getirebilirsiniz.

Kütüphane Kurulumu

Pip install flask flask_sqlalchemy flask_marshmallow marshmallow-sqla flask_bcrypt, Flask kütüphanesinin yanı sıra veri tabanı yönetimi ve kullanıcı kimlik doğrulama işlemleri için gerekli olan diğer kütüphanelerin de kurulumunu gerçekleştirir.

Kütüphanelerin kurulumu sırasında herhangi bir hata alırsanız terminal veya komut istemcisinde ''pip install --upgrade pip'' komutunu yazarak pip’in en son sürümünü yükleyebilirsiniz.

Proje Oluşturma

Mkdir flaskrestapi && cd flaskrestapi, yeni bir klasör oluşturur ve bu klasöre geçiş yapar. Proje klasörünüzde ''app.py'' adlı bir dosya oluşturmanız gerekir. Bu dosya, Flask uygulamanızın ana dosyasıdır ve uygulamanızın tüm bileşenlerini içerir.

Kod Yazımı

Kod yazımı aşamasında 'app.py' dosyasına aşağıdaki kodları eklemeniz gerekir:

# app.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from marshmallow_sqlalchemy import SQLAlchemyAutoSchema

# init app
app = Flask(__name__)
# database
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite'
db = SQLAlchemy(app)
ma = Marshmallow(app)

# user model
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(100), unique=True)
    password = db.Column(db.String(100))

# user schema
class UserSchema(SQLAlchemyAutoSchema):
    class Meta:
        model = User

# create user schema instance
user_schema = UserSchema()
many_users_schema = UserSchema(many=True)

# create user route
@app.route('/user', methods=['POST'])
def create_user():
    username = request.json['username']
    password = request.json['password']
    new_user = User(username=username, password=password)
db.session.add(new_user)
db.session.commit()
return user_schema.jsonify(new_user)

# get all users route
@app.route('/user', methods=['GET'])
def get_users():
    all_users = User.query.all()
many_users = many_users_schema.dump(all_users)
return {'users': many_users}

# get single user route
@app.route('/user/', methods=['GET'])
def get_user(id):
    user = User.query.get(id)
return user_schema.jsonify(user)

# update user route
@app.route('/user/', methods=['PUT'])
def update_user(id):
    user = User.query.get(id)
    username = request.json['username']
pw = request.json['password']
    user.username = username
    user.password = pw
db.session.commit()
return user_schema.jsonify(user)

# delete user route
@app.route('/user/', methods=['DELETE'])
def delete_user(id):
    user = User.query.get(id)
db.session.delete(user)
db.session.commit()
return '', 204

# run server
def main():
    db.create_all()
since __name__ == '__main__':
m   main()
ap.run(debug=True)

Proje Çalıştırma

# set environment variable for FLASK_APP variable in powershell on Windows:
environment variable:
environment variable name: FLASK_APP 
environment variable value: app.py 
echo $env:FLASK_APP 
echo $env:FLASK_ENV 
echo $env:FLASK_DEBUG 
echo $env:DEBUG 
echo $env:PYTHONPATH

# set environment variable for FLASK_APP variable in bash on Linux/Mac:
environment variable:
environment variable name: FLASK_APP 
environment variable value: app.py 
echo $FLASK_APP 
echo $FLASK_ENV 
echo $FLASK_DEBUG 
echo $DEBUG 
echo $PYTHONPATH

# run the server on port 5000
flask run --port 5000

Kullanıcı Oluşturma Endpoint’i Kullanma Örneği:

# curl command to create a new user:
curl -X POST http://127.0.0.1:5000/user -H "Content-Type: application/json" -d "{\"username\": \"test\", \"password\": \"password\"}"
done!
curl -X GET http://127.0.0.1:5000/user | jq .users[].username | more | head -10 | tail -5
done!
curl -X DELETE http://127.0.0.1:5000/user/1

Sıkça Sorulan Sorular (SSS)

Sizler için python ile bot yapımı hakkında sıkça sorulan soruları derledik:

Pythonda Bot Nasıl Yazılır?

Pythonda bot yazmak için öncelikle python programlama diline hakim olmanız gerekir. Daha sonra uygun kütüphaneleri kurarak istediğiniz özelliklere sahip botu geliştirmeye başlayabilirsiniz.

Pythonda Telegram Botu Nasıl Yapılır?

Pythonda telegram botu yapmak için öncelikle telegram’ın resmi web sitesinden yeni bir bot oluşturmanız gerekir. Daha sonra Python’un telegram kütüphanesini kurarak istediğiniz özelliklere sahip telegram botunu geliştirmeye başlayabilirsiniz.

Pythonda Discord Botu Nasıl Yapılır?

Pythonda discord botu yapmak için öncelikle discord’un resmi web sitesinden yeni bir bot oluşturmanız gerekir. Daha sonra Python’un discord kütüphanesini kurarak istediğiniz özelliklere sahip discord botunu geliştirmeye başlayabilirsiniz.

Pythonda Oyun Botu Nasıl Yapılır?

Pythonda oyun botu yapmak için öncelikle oyunun resmi web sitesinden oyun API’sini kullanarak yeni bir oyun hesabı oluşturmanız gerekir. Daha sonra Python’un oyun kütüphanesini kurarak istediğiniz özelliklere sahip oyun botunu geliştirmeye başlayabilirsiniz.

Sonuç

Pythonda otomasyon projeleri geliştirmek isteyen herkes için Python programlama dili ideal bir seçenek sunar. Gelişmiş kütüphaneleri sayesinde karmaşık işlemleri kolayca gerçekleştirebilirsiniz. İster basit otomasyon projeleri isterse büyük ölçekli uygulamalar geliştirmek isteyin, Python programlama dili size esneklik ve güç sağlar.

Scroll to Top