Botum, kullanıcının adını bir veritabanında depolar ve zaman zaman veritabanı, oturuma “setname username” mesajını gönderir. Numune rivescript:Rivescript-Python'da özel bir tetikleme nasıl yapılır?
+ setname *
- <set name=<formal>>
+ (what is my name|who am i)
- You're <get name>, right?
+ didntlike
- {topic=nlike}Why?
> topic nlike
+ *
- {topic=random}Thanks for charing.
< topic
+ *
- I don't have a reply for that.
- Try asking that a different way.
kullanıcı * ile çıkılır ‘nlike’ gibi bir konu olduğunu ve ben adını ayarlamak için mesaj gönderirken sorun, daha sonra konuşma konusunu çıkar.
Beklenen görüşme:
Me: hello
Bot: I don't have a reply for that.
Me: didntlike
Bot: Why?
Me: setname John
Bot:
Me: I didn't like because you are ugly.
Bot: Thanks for charing.
Me: Who am I?
Bot: You're John, right?
başlamak binadaki o tedavisi için bir yolu var mı? Farklı sözdizimleri denedim, ancak olumlu bir sonuç yok. Ben böyle bir şey düşündüm:
> begin
+ setname *
- <set name=<formal>>
+ request
- {ok}
< begin
Bir geçici çözüm tüm konular içeride aynı tetiği eklemek, ama benim koparmak dosya boyutlarının olarak bu yaklaşım hatası eğilimli olduğu için, daha iyi bir çözüm gerekiyor.
==== Kod
> begin
+ request
- {ok}{topic=specialtriggers}
< begin
> topic specialtriggers
+ setname *
- <set name=<formal>>
< topic
+ (what is my name|who am i)
- You're <get name>, right?
+ didntlike
- {topic=nlike}Why?
> topic nlike
+ *
- {topic=random}Thanks for charing.
< topic
+ *
- I don't have a reply for that.
- Try asking that a different way.
Ben konuyu etmek {Tamam} {topic = specialtriggers} Bu konu dışında tüm tetikleyiciler başarısız yapma ekleyerek düşünüyorum Nelson'un cevabı ===== dayalı çalıştı. Ön işlemden sonra, Rivescript özel bir tetikleyici veya normal tetikleyiciler için arama yapmalıdır.
Sana konuşma gitmek bekliyorsunuz anlamıyorum. Noktayı daha somut hale getirmek için örnek cümleler verebilir misiniz? Bir yıldız karakterini "setname" ile star olarak geçerli bir karakter olarak tetiklemek ister misiniz? –
Evet. Bu mesajı önceden işlemek için başlangıç bloğunu kullanmayı bekliyorum. 'Setname John' dediğimde, 'name' değişkenini 'John' olarak ayarlayacağım. Bu yararlıdır çünkü .rive dosyalarının her bir başlığında 'setname *' tetikleyicisini çoğaltmak zorunda kalmam. Aynı şekilde daha basit bir şey söyleyebilirim: 'yakın' ve rive kurallarına girmeyerek cevap verir. – StaticX