En iyi yolu Facebook bot sohbet kullanıcılardan yanıt saklamak için?

oy
4

AWS Lambda barındırılması üzerine Claudia JS ve planını kullanarak bir Facebook messenger bot oluşturma.

Ben kullanıcıya bir dizi soru sormak istiyorum.

Bir kullanıcı bir cevap ile cevap verince, ben sonrası için bu kaydetmeniz gerekir ve ben gereken tüm bilgileri sağladıktan sonra, ben bir işleve cevapları geçecek.

Bu bilgileri kaydetmek için en iyi yolu nedir?

Böyle REDIS gibi bazı önbelleğe alma katmanı düşünüyordum ama bu RAM içinde depolandığı için lamda sunucu kapandığında bunu kaybedersiniz. Mongodb görünüşte bağlantı üstlerin bir yeri vardır ama en azından kalıcı olacaktır.

Belki sadece basit bir mySQL sunucu?

Nasıl herkes buradan yapar? Eksik basit bir çözüm yoktur sanki.

Oluştur 13/09/2016 saat 05:47
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
5

İlk ilgili kısmı cevap verecektir ben yapıyorum nasıl bir MongoDB kullanıyorum. Bahsettiğin fikirlerle çeviriyorlardı ama çabuk aynı nedenle ile bellek çözümleri (Memcached, Redis) üzerinde çarpı işareti. Benim son çözüm ilişkisel DB veya MongoDB gibi NoSQL ya indi. Dürüst olmak gerekirse, benim projenin ölçekte, ben sağlam DB türleri arasındaki performans karşılaştırması hakkında düşünmüyordu.

Benim özel özellik sayesinde "yol haritası" Ben açıkça Mongo normalize yapısına sayesinde, bir kullanıcı sınıfını tanımlamak zorunda kalmadan kullanıcı "nesne" ile uğraşırken daha "cepten" tarzı yaklaşım Mongo ile gitmeye karar verdi. Ben de sadece bu işleme, MySQL için yapılabilirdi aynı anlama jsonverilerin daha "nesne gibi" benim için ve flaskyani user = getUserFromMongobana o zaman tıpkı yapabilirsiniz Python bir dicti veren user['first_name']. Kodlar belows bu basitliği açıklayacaktır:

MongoDB ile etkileşim (Bir şekilde böyle ... SQL Rails basit veritabanı etkileşim için komutları yazmak zorunda değil duygu idi)

MongoDB My kullanıcı nesne veri kullanıcı

Son olarak, olarak ben kullanıcı girişi nasıl idare , ben Wit.ai kavramını benimsemiş context. Ben bunlar tam bunu nasıl bilmiyorum, ama bir contextbana oluyor konuşma amacının türüdür. Bir yığın gibi kullanımı, ve en kısa akım bağlam yapıldığı gibi, kullanıcının içerik verileri kapalı pop. Bot aldığı her mesaj için, programın geçerli bağlamı almak ve akışını yönetecek. Kullanıcı bot anlamıyor şey söylüyor, çünkü bilinmeyen bir hata (taşıma istisnalar), büyük olasılıkla oluşunca, ben temizlemek contextde veri.

MongoDB hakkında iyi bölüm I şekli olabilir contextancak benim istediğim ve sadece bir nesne olarak davranın. Basit bir gibidir {name: yelp-search, stage:ask-for-user-location}, ben karmaşık olanlar çok, o yapı üzerinde inşa edilebileceğini düşünün. Tabii ki, bir yığını uygulaması contextkarmaşık geçmiş atfen karmaşık konuşma uğraşmaz.

Ben Github projemi koymak bunu bakmak istiyorum.

Cevap 15/09/2016 saat 20:17
kaynak kullanıcı

oy
3

ben de kullandım chatbot mysql ama kullanmış NodeJS o app.For arka uç için MySQL çok yararlı olacaktır modülü.

Buna gerek kullanıcıların mevcut durumunu saklamak soru cevap oturumu yapılmasını ve ayrıca cevabı kendisi saklamak kullanıcıdan ve bir yapmak gerekir anahtarı veya if-else-if durum şalteri (devlet) olarak devlete dayalı kullanıcıya soru sorma ve anahtarın durumlarında sadece bu kadar güncellemek state.and sen chatbot olay nesnesi kullanıcının facebook-kimliğe sahip onların devlet ve farklı tabloda soru-cevap bireysel olarak her kullanıcının veri depolamak böylece.

örneğin {1,2,3} bayraklar tanımlamak için

Kullanıcının devlet mesela soru-1 sadece ona sormak böylece başlangıcındaki 1 olacak ve cevap-1 olarak bu depolar, bunu yapabilirsiniz devlet denetimi, ve bu güncelleştirme statü belirlendikten sonra 2'ye.

böylece, bu yolla onların devlet gereği her öğrenci soru sormak ve onu cevap verebilir.

Ben tam Yukarıdaki şekilde aynı yaptık.

Bu sizin için yararlı olacaktır Umut.

Cevap 16/09/2016 saat 09:38
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more