本文整理汇总了C#中WhatsAppApi.Parser.FMessage.Location_url方法的典型用法代码示例。如果您正苦于以下问题:C# FMessage.Location_url方法的具体用法?C# FMessage.Location_url怎么用?C# FMessage.Location_url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WhatsAppApi.Parser.FMessage
的用法示例。
在下文中一共展示了FMessage.Location_url方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TypeChat
/// <summary>
/// Notify typing chat
/// </summary>
/// <param name="messageNode"></param>
/// <param name="tmpAttrFrom"></param>
/// <param name="tmpAttrbId"></param>
/// <param name="builder"></param>
/// <param name="tmpAttrFromJid"></param>
private void TypeChat(ProtocolTreeNode messageNode, string tmpAttrFrom, string tmpAttrbId, FMessage.Builder builder, string tmpAttrFromJid)
{
foreach (ProtocolTreeNode itemNode in (messageNode.GetAllChildren() ?? new ProtocolTreeNode[0]))
{
if (ProtocolTreeNode.TagEquals(itemNode, "composing"))
{
WhatsEventHandler.OnIsTypingEventHandler(tmpAttrFrom, true);
}
else if (ProtocolTreeNode.TagEquals(itemNode, "paused"))
{
WhatsEventHandler.OnIsTypingEventHandler(tmpAttrFrom, false);
}
else if (ProtocolTreeNode.TagEquals(itemNode, "body") && (tmpAttrbId != null))
{
string dataString = WhatsApp.SYSEncoding.GetString(itemNode.GetData());
var tmpMessKey = new FMessage.Key(tmpAttrFrom, false, tmpAttrbId);
builder.Key(tmpMessKey).Remote_resource(tmpAttrFromJid).NewIncomingInstance().Data(dataString);
}
else if (ProtocolTreeNode.TagEquals(itemNode, "media") && (tmpAttrbId != null))
{
long tmpMediaSize;
int tmpMediaDuration;
builder.Media_wa_type(FMessage.GetMessage_WA_Type(itemNode.GetAttribute("type"))).Media_url(
itemNode.GetAttribute("url")).Media_name(itemNode.GetAttribute("file"));
if (long.TryParse(itemNode.GetAttribute("size"), WhatsConstants.WhatsAppNumberStyle,
CultureInfo.InvariantCulture, out tmpMediaSize))
{
builder.Media_size(tmpMediaSize);
}
string tmpAttrSeconds = itemNode.GetAttribute("seconds");
if ((tmpAttrSeconds != null) &&
int.TryParse(tmpAttrSeconds, WhatsConstants.WhatsAppNumberStyle, CultureInfo.InvariantCulture, out tmpMediaDuration))
{
builder.Media_duration_seconds(tmpMediaDuration);
}
if (builder.Media_wa_type().HasValue && (builder.Media_wa_type().Value == FMessage.Type.Location))
{
double tmpLatitude = 0;
double tmpLongitude = 0;
string tmpAttrLatitude = itemNode.GetAttribute("latitude");
string tmpAttrLongitude = itemNode.GetAttribute("longitude");
if ((tmpAttrLatitude == null) || (tmpAttrLongitude == null))
{
tmpAttrLatitude = "0";
tmpAttrLongitude = "0";
}
else if (!double.TryParse(tmpAttrLatitude, WhatsConstants.WhatsAppNumberStyle, CultureInfo.InvariantCulture, out tmpLatitude) ||
!double.TryParse(tmpAttrLongitude, WhatsConstants.WhatsAppNumberStyle, CultureInfo.InvariantCulture, out tmpLongitude))
{
throw new CorruptStreamException("location message exception parsing lat or long attribute: " + tmpAttrLatitude + " " + tmpAttrLongitude);
}
builder.Latitude(tmpLatitude).Longitude(tmpLongitude);
string tmpAttrName = itemNode.GetAttribute("name");
string tmpAttrUrl = itemNode.GetAttribute("url");
if (tmpAttrName != null)
{
builder.Location_details(tmpAttrName);
}
if (tmpAttrUrl != null)
{
builder.Location_url(tmpAttrUrl);
}
}
if (builder.Media_wa_type().HasValue && (builder.Media_wa_type().Value) == FMessage.Type.Contact)
{
ProtocolTreeNode tmpChildMedia = itemNode.GetChild("media");
if (tmpChildMedia != null)
{
builder.Media_name(tmpChildMedia.GetAttribute("name")).Data(WhatsApp.SYSEncoding.GetString(tmpChildMedia.GetData()));
}
}
else
{
string tmpAttrEncoding = itemNode.GetAttribute("encoding") ?? "text";
if (tmpAttrEncoding == "text")
{
builder.Data(WhatsApp.SYSEncoding.GetString(itemNode.GetData()));
}
}
var tmpMessageKey = new FMessage.Key(tmpAttrFrom, false, tmpAttrbId);
builder.Key(tmpMessageKey).Remote_resource(tmpAttrFromJid).NewIncomingInstance();
}
else if (ProtocolTreeNode.TagEquals(itemNode, "request"))
{
builder.Wants_receipt(true);
}
//.........这里部分代码省略.........