C# Microsoft Bot Framework:电报中未显示SigninCard
我尝试使用Microsoft bot Framework创建Telegram bot客户端,当我使用此框架创建signincard时,signincard成功创建,我可以在Microsoft bot Emulator中看到按钮,但当我发布到服务器并使用Telegram测试时,signincard未显示在bot中,请告诉我如何修复它 代码:C# Microsoft Bot Framework:电报中未显示SigninCard,c#,telegram,telegram-bot,botframework,C#,Telegram,Telegram Bot,Botframework,我尝试使用Microsoft bot Framework创建Telegram bot客户端,当我使用此框架创建signincard时,signincard成功创建,我可以在Microsoft bot Emulator中看到按钮,但当我发布到服务器并使用Telegram测试时,signincard未显示在bot中,请告诉我如何修复它 代码: Activity reply = null; ConnectorClient connector = new
Activity reply = null;
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl), "", "");
if (activity.Type == ActivityTypes.Message)
{
if (activity.Text == "/start")
{
reply = activity.CreateReply($"Welcome, please select an option");
reply.Recipient = activity.From;
reply.Type = ActivityTypes.Message;
reply.Attachments = new List<Attachment>();
List<CardAction> cardButtons = new List<CardAction>();
var helpAction = new CardAction()
{
Image = "",
Title = "Get Menu",
Type = "imBack",
Value = "help"
};
var contactAction = new CardAction()
{
Image = "",
Title = "Contact Us",
Type = "imBack",
Value = "contact"
};
cardButtons.Add(helpAction);
cardButtons.Add(contactAction);
var sc = new SigninCard()
{
Buttons = cardButtons,
Text = ""
};
Attachment attach = sc.ToAttachment();
reply.Attachments.Add(attach);
}
else
{
}
}
await connector.Conversations.ReplyToActivityAsync(reply);
活动回复=null;
ConnectorClient连接器=新的ConnectorClient(新Uri(activity.ServiceUrl),“”,“”);
if(activity.Type==ActivityTypes.Message)
{
如果(activity.Text==“/start”)
{
reply=activity.CreateReply($“欢迎,请选择一个选项”);
reply.Recipient=activity.From;
reply.Type=ActivityTypes.Message;
reply.Attachments=新列表();
列表卡片按钮=新列表();
var helpAction=new CardAction()
{
Image=“”,
Title=“获取菜单”,
Type=“imBack”,
Value=“帮助”
};
var contactAction=new CardAction()
{
Image=“”,
Title=“联系我们”,
Type=“imBack”,
Value=“联系”
};
添加(帮助操作);
卡片按钮。添加(contactAction);
var sc=新符号卡()
{
按钮=卡片按钮,
Text=“”
};
附件附件=sc.ToAttachment();
答复.附件.添加(附件);
}
其他的
{
}
}
等待连接器.Conversations.ReplyToActivityAsync(reply);
抱歉英语不好。我认为登录卡类型必须是“登录”,并且值应该是url,而不是字符串 工作代码:
replyActivity.Attachments = new List<Attachment>();
var cardButtons = new List<CardAction>();
var plButton = new CardAction
{
Value = auth.SessionUrl,
Type = "signin",
Title = "Connect"
};
cardButtons.Add(plButton);
var plCard = new SigninCard("You need to authorize to use Quick Book feature", cardButtons);
var plAttachment = plCard.ToAttachment();
replyActivity.Attachments.Add(plAttachment);
replyActivity.Text = "Should go to conversation, sign-in card";
replyActivity.Attachments=新列表