Slack, kendi komutlarınızla geliştirebileceğiniz, kuruluşunuza göre uyarlanmış kullanışlı ve popüler bir araçtır.

Slack, ekiplerin iletişim kurmasına ve işbirliği yapmasına olanak tanıyan bir araçtır. Temel özelliklerinden biri eğik çizgi komutlarının kullanılmasıdır. Bu komutlar, platform içindeki belirli eylemleri veya entegrasyonları tetikler.

Slack size birkaç yerleşik eğik çizgi komutu sağlarken, Slack'in API'sini kullanarak özel komutlar oluşturabilirsiniz. Daha sonra, bir kullanıcı onu tetiklediğinde belirli bir görevi gerçekleştirmek için özel komutu yapılandırabilirsiniz.

Neden Slack'te Özel Bir Eğik Çizgi Komutu Oluşturuyorsunuz?

Slack'in yerleşik eğik çizgi komutları, ekibinizin veya kuruluşunuzun özel ihtiyaçlarını karşılamayabilir. Özel eğik çizgi komutları oluşturarak ekibiniz için daha kişiselleştirilmiş bir deneyim oluşturabilirsiniz. Bu da ekibin katılımını artırır.

Gevşek Uygulama Kurma

Devam etmek için, rahat olmalısınız Slack'in temel kullanımı. Tarayıcıda Slack hesabınıza giriş yapın ve yeni bir çalışma alanı oluşturun. Uygulamalarınızı ekibinizin çalışma alanında kullanmadan önce test etmek için bu çalışma alanını kullanacaksınız.

instagram viewer

Başka bir sekme açın ve şuraya gidin: Slack API web sitesi.

Tıkla Bir uygulama oluştur düğme. Görünen bir sonraki sayfada, bir uygulama oluşturma seçeneğini belirleyin sıfırdan.

Uygulamayı adlandırın ve uygulamanın çalışacağı çalışma alanını seçin.

Tıkla Uygulama Oluştur düğme. Bu, sizi uygulamanızla ilgili temel bilgileri içeren bir sayfaya yönlendirecektir.

Özellikler bölümünde şuraya gidin: Yetkilendirme ve İzinler özelliği, ardından aşağı kaydırarak Bot Token Kapsamları. Ekle sohbet: yaz uygulamanızın kapsamı. Bu kapsam, uygulamanızın çalışma alanına mesaj göndermesine izin verecektir.

yukarı kaydır Çalışma Alanınız için OAuth Jetonları bölümüne tıklayın ve Workspace'e yükle düğme.

Görünen bir sonraki sayfada, üzerine tıklayın İzin vermek düğme. Bu, uygulamayı çalışma alanınıza yükleyecektir.

Slack API Kullanarak Özel Bir Slash Komutu Oluşturma

Slack uygulamasını kurduktan sonra gerçekleştirmek istediğiniz görev için özel bir komut oluşturmanız gerekiyor. Örneğin, kullanıcıya bir şaka döndüren bir eğik çizgi komutu. Şuraya git: Kesme Komutları özellik. Tıkla Yeni Komut Oluştur düğme.

doldurun Emretmek, İstek URL'si, Ve Kısa Açıklama oluşturmak istediğiniz komutun İstek URL'si, bir kullanıcı komutu tetiklediğinde Slack'in bir POST isteği gönderdiği bitiş noktasıdır. Yer tutucu olarak bir yerel ana bilgisayar URL'si kullanın; bu URL'yi daha sonra değiştireceksiniz.

Tıklamak Kaydetmek. Kaydettiğinizde Slack, uygulamanız için otomatik olarak bir komut kapsamı ekler. Bu kapsam, uygulamanızın çalışma alanınızdaki kişilerin kullanabileceği kısayollar ve eğik çizgi komutları eklemesine olanak tanır. Kapsamları değiştirmek, uygulamayı yeniden yüklemenizi gerektirecektir. Tıkla uygulamanızı yeniden yükleyin düğme.

Daha sonra görünen sayfada, uygulamanın çalışma alanınıza yeniden yüklenmesine izin ver seçeneğine tıklayın.

Slash Komutunun Davranışını Yapılandırma

Herhangi bir Python IDE'yi başlatın. Yeni bir sanal ortam oluşturun. Yeni bir Python dosyası ve yeni bir .env dosyası oluşturun. Terminalde, gerekli kitaplıkları yüklemek için aşağıdaki komutu çalıştırın.

pip kurulumu python-dotenv Flask slack-bolt ister

bu python-dotenv kitaplığı, ortam değişkenlerini .env dosyasına yüklemenize olanak tanır. bu istekler kitaplığı, HTTP istekleri yapmanızı sağlar ve şişe gelen HTTP isteklerini işler ve yanıtları döndürür. gevşek cıvata gelen Slack isteklerini işler.

.env dosyasını açın ve iki ortam değişkeni oluşturun. İsim ver BOT_TOKEN Ve İMZALAMA_GİZLİ sırasıyla. Slack API web sitesine gidin. uygulamanızın altında Temel Bilgiler imzalama sırrını kopyalayın ve bunu BOT_TOKEN değişkenini başlatmak için kullanın. OAuth ve İzinler özelliğine gidin ve Bot Kullanıcısı OAuth Jetonunu kopyalayın. SIGNING_SECRET değişkenini başlatmak için kullanın.

Bot belirteci, API çağrıları yaparken uygulamanızın kimliğini Slack'in API'si ile doğrulayan benzersiz bir tanımlayıcıdır. İmzalama sırrı, uygulamanıza gelen isteklerin Slack'ten geldiğini doğrular.

Tam kaynak kodu bir GitHub deposu.

Gerekli kitaplıkları ve modülleri içe aktarın.

içe aktarmak işletim sistemi
itibaren yol lib içe aktarmak Yol
itibaren dotenv içe aktarmak load_dotenv
içe aktarmak istekler
itibaren matara içe aktarmak Şişe, istek, jsonify
itibaren gevşek_bolt içe aktarmak Uygulama
itibaren slack_bolt.adapter.flask içe aktarmak SlackRequestHandler

Bir Flask uygulamasının yeni bir örneğini oluşturun.

uygulama = Şişe (__name__)

kullanarak .env dosyasından ortam değişkenlerini yükleyin. load_dotenv() işlev.

env_path = Yol('.') / '.env'
load_dotenv (dotenv_path=env_path)

Kullanarak bir Slack uygulamasının yeni bir örneğini oluşturun. Uygulama slack_bolt kitaplığından sınıf.

slack_app = Uygulama(
belirteç=os.environ["BOT_TOKEN"],
signing_secret=os.environ["İMZALAMA_GİZLİ"]
)

Gelen istekleri işleyen bir rota işleyici işlevi oluşturun. /slack/command uç nokta. Uç nokta bir POSTALAMAK istek, istek gövde verilerini ayrıştırır. Daha sonra komutun olup olmadığını kontrol eder. /joke. Eğer öyleyse, get_joke() işlevini kullanır ve Slack'e komutun sonucuyla birlikte bir JSON yanıtı döndürür.

@app.route("/slack/command", method=["POST"])
kesinemretmek():
# İstek gövdesi verilerini ayrıştır
veri = istek.form

# Slash komutuna göre uygun işlevi çağırın
eğer veri["emretmek"] == "/şaka":
mesaj = get_joke()
başka:
mesaj = f"Geçersiz komut: {veri['emretmek']}"

# Slack'e geri dönüş yanıtı
geri dönmek jsonify({"metin": İleti})

GET isteği gönderen bir işlev oluşturun. icanhazdadjoke JSON formatında rastgele bir şaka almak için API. Daha sonra şakayı bir dize olarak döndürür.

kesinşaka olsun():
url = " https://icanhazdadjoke.com/"
başlıklar = {"Kabul etmek": "uygulama/json"}
yanıt = request.get (url, başlıklar=başlıklar, zaman aşımı=5)
şaka = yanıt.json()["şaka"]
geri dönmek şaka

Yeni bir örneğini oluştur SlackRequestHandler Slack'ten gelen istekleri işleyecek nesne.

işleyici = SlackRequestHandler (slack_app)

Komut dosyasının doğrudan çalıştırılıp çalıştırılmadığını kontrol edin ve çalıştırılıyorsa Flask uygulamasını 5000 numaralı bağlantı noktasından başlatın.

eğer __isim__ == "__ana__":
# Flask uygulamasını 5000 numaralı bağlantı noktasında başlatın
app.run (bağlantı noktası=5000, hata ayıklama=Doğru)

Localhost üzerinde çalışan sunucuyu başlatmak için programı çalıştırın.

Programın Slack ile iletişim kurabilmesi için internet üzerinden erişebileceği bir URL'ye ihtiyacınız var. İndir ve çalıştır ngrok. bu ngrok yazılımı, güvenli bir genel URL oluşturmanıza olanak tanır bu, trafiği bilgisayarınızda çalışan bir web sunucusuna yönlendirir.

Genel URL'yi almak için aşağıdaki komutu çalıştırın:

ngrok http 5000

Aşağıdaki resim, ngrok'taki genel URL'yi beyaz renkle vurgulanmış olarak göstermektedir.

URL'yi kopyalayın ve Slack API web sitesine gidin. Tıkla Kesme Komutları özellik. /joke komutunu düzenleyin ve istek URL'si yer tutucusunu genel URL'nizle değiştirin. Bitiş noktanızı işaret etmek için URL'nin sonuna /slack/events ekleyin.

Çalışma alanınıza gidin, ardından /joke komutunu yazıp gönderin. Yanıt olarak bir şaka görmelisiniz:

Diğer Slack Özelliklerini Tanıyın

Slack, Slash komutlarının ötesinde sunabileceği birçok özelliğe sahiptir. Bu özelliklere aşina olmak, nasıl çalıştıklarını anlamanızı sağlayacaktır.

Daha sonra bunları çalışma alanınızın gereksinimlerine göre özelleştirmenin yollarını arayabilirsiniz. Bu, ekibinizin üretkenliğini artıracaktır.