Remove RichMessageBase which cause Messenger doesn't work.
This commit is contained in:
parent
2cd5337c18
commit
8c1b0bc1e0
|
|
@ -2,6 +2,5 @@ namespace BotSharp.Abstraction.Messaging;
|
||||||
|
|
||||||
public interface IRichMessage
|
public interface IRichMessage
|
||||||
{
|
{
|
||||||
string Type { get; }
|
|
||||||
string Text { get; set; }
|
string Text { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
namespace BotSharp.Abstraction.Messaging.Models.RichContent
|
namespace BotSharp.Abstraction.Messaging.Models.RichContent
|
||||||
{
|
{
|
||||||
public class QuickReplyMessage : RichMessageBase, IRichMessage
|
public class QuickReplyMessage : IRichMessage
|
||||||
{
|
{
|
||||||
public override string Type => "quick reply";
|
public string Text { get; set; } = string.Empty;
|
||||||
|
|
||||||
[JsonPropertyName("quick_replies")]
|
[JsonPropertyName("quick_replies")]
|
||||||
public List<QuickReplyElement> QuickReplies { get; set; } = new List<QuickReplyElement>();
|
public List<QuickReplyElement> QuickReplies { get; set; } = new List<QuickReplyElement>();
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,12 @@ namespace BotSharp.Abstraction.Messaging.Models.RichContent.Template
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// https://developers.facebook.com/docs/messenger-platform/send-messages/buttons
|
/// https://developers.facebook.com/docs/messenger-platform/send-messages/buttons
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ButtonTemplateMessage : RichMessageBase, IRichMessage, ITemplateMessage
|
public class ButtonTemplateMessage : IRichMessage
|
||||||
{
|
{
|
||||||
public override string Type => "template";
|
public string Text { get; set; } = string.Empty;
|
||||||
|
|
||||||
[JsonPropertyName("template_type")]
|
[JsonPropertyName("template_type")]
|
||||||
public override string TemplateType => "button";
|
public string TemplateType => "button";
|
||||||
public List<ButtonElement> Buttons { get; set; } = new List<ButtonElement>();
|
public List<ButtonElement> Buttons { get; set; } = new List<ButtonElement>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,18 +4,16 @@ namespace BotSharp.Abstraction.Messaging.Models.RichContent.Template;
|
||||||
/// Coupon Template
|
/// Coupon Template
|
||||||
/// https://developers.facebook.com/docs/messenger-platform/send-messages/template/coupon
|
/// https://developers.facebook.com/docs/messenger-platform/send-messages/template/coupon
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class CouponTemplateMessage : RichMessageBase, IRichMessage, ITemplateMessage
|
public class CouponTemplateMessage : IRichMessage, ITemplateMessage
|
||||||
{
|
{
|
||||||
public override string Type => "template";
|
|
||||||
|
|
||||||
[JsonPropertyName("template_type")]
|
|
||||||
public override string TemplateType => "coupon";
|
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public override string Text { get; set; }
|
public string Text { get; set; }
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
public string Subtitle { get; set; }
|
public string Subtitle { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("template_type")]
|
||||||
|
public string TemplateType => "coupon";
|
||||||
|
|
||||||
[JsonPropertyName("coupon_code")]
|
[JsonPropertyName("coupon_code")]
|
||||||
public string CouponCode { get; set; }
|
public string CouponCode { get; set; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
namespace BotSharp.Abstraction.Messaging.Models.RichContent.Template
|
namespace BotSharp.Abstraction.Messaging.Models.RichContent.Template
|
||||||
{
|
{
|
||||||
public class MultiSelectTemplateMessage : RichMessageBase, IRichMessage
|
public class MultiSelectTemplateMessage : IRichMessage
|
||||||
{
|
{
|
||||||
public override string Type => "template";
|
public string Text { get; set; } = string.Empty;
|
||||||
|
|
||||||
[JsonPropertyName("template_type")]
|
[JsonPropertyName("template_type")]
|
||||||
public string TemplateType => "multi-select";
|
public string TemplateType => "multi-select";
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,12 @@
|
||||||
namespace BotSharp.Abstraction.Messaging.Models.RichContent.Template
|
namespace BotSharp.Abstraction.Messaging.Models.RichContent.Template
|
||||||
{
|
{
|
||||||
public class TemplateMessageBase<T> : RichMessageBase
|
public class TemplateMessageBase<T>
|
||||||
{
|
{
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public string Text { get; set; }
|
public string Text { get; set; }
|
||||||
|
|
||||||
public override string Type => "template";
|
|
||||||
|
|
||||||
[JsonPropertyName("template_type")]
|
[JsonPropertyName("template_type")]
|
||||||
public virtual string TemplateType => string.Empty;
|
public virtual string TemplateType => string.Empty;
|
||||||
|
|
||||||
public T[] Elements { get; set; }
|
public T[] Elements { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
namespace BotSharp.Abstraction.Messaging.Models.RichContent;
|
namespace BotSharp.Abstraction.Messaging.Models.RichContent;
|
||||||
|
|
||||||
public class TextMessage : RichMessageBase, IRichMessage
|
public class TextMessage : IRichMessage
|
||||||
{
|
{
|
||||||
public string Type => "text";
|
public string Text { get; set; } = string.Empty;
|
||||||
|
|
||||||
public TextMessage(string text)
|
public TextMessage(string text)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
namespace BotSharp.Abstraction.Messaging;
|
|
||||||
|
|
||||||
public class RichMessageBase
|
|
||||||
{
|
|
||||||
public virtual string Type { get; }
|
|
||||||
|
|
||||||
public virtual string Text { get; set; }
|
|
||||||
|
|
||||||
[JsonPropertyName("template_type")]
|
|
||||||
public virtual string TemplateType { get; }
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using BotSharp.Abstraction.Messaging;
|
using BotSharp.Abstraction.Messaging;
|
||||||
|
using BotSharp.Abstraction.Messaging.Models.RichContent;
|
||||||
using Microsoft.AspNetCore.SignalR;
|
using Microsoft.AspNetCore.SignalR;
|
||||||
|
|
||||||
namespace BotSharp.Plugin.ChatHub.Hooks;
|
namespace BotSharp.Plugin.ChatHub.Hooks;
|
||||||
|
|
@ -24,7 +25,7 @@ public class ChatHubConversationHook : ConversationHookBase
|
||||||
var welcomeTemplate = agent.Templates.FirstOrDefault(x => x.Name == "welcome");
|
var welcomeTemplate = agent.Templates.FirstOrDefault(x => x.Name == "welcome");
|
||||||
if (welcomeTemplate != null)
|
if (welcomeTemplate != null)
|
||||||
{
|
{
|
||||||
var messages = JsonSerializer.Deserialize<RichMessageBase[]>(welcomeTemplate.Content, new JsonSerializerOptions
|
var messages = JsonSerializer.Deserialize<TextMessage[]>(welcomeTemplate.Content, new JsonSerializerOptions
|
||||||
{
|
{
|
||||||
PropertyNameCaseInsensitive = true
|
PropertyNameCaseInsensitive = true
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,4 @@ public class AttachmentMessage : IRichMessage
|
||||||
|
|
||||||
[JsonPropertyName("attachment")]
|
[JsonPropertyName("attachment")]
|
||||||
public AttachmentBody Attachment { get; set; }
|
public AttachmentBody Attachment { get; set; }
|
||||||
|
|
||||||
public string Type => "template";
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -107,10 +107,11 @@ public class MessageHandleService
|
||||||
// Response to user
|
// Response to user
|
||||||
foreach(var reply in replies)
|
foreach(var reply in replies)
|
||||||
{
|
{
|
||||||
|
var content = JsonSerializer.Serialize(reply, _serializerOptions);
|
||||||
await messenger.SendMessage(setting.ApiVersion, setting.PageId,
|
await messenger.SendMessage(setting.ApiVersion, setting.PageId,
|
||||||
new SendingMessageRequest(setting.PageAccessToken, recipient)
|
new SendingMessageRequest(setting.PageAccessToken, recipient)
|
||||||
{
|
{
|
||||||
Message = JsonSerializer.Serialize(reply, _serializerOptions)
|
Message = content
|
||||||
});
|
});
|
||||||
Thread.Sleep(500);
|
Thread.Sleep(500);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue