Ejemplo n.º 1
0
        public ChatAction(ChatActionType action)
        {
            switch (action)
            {
            case ChatActionType.Typing:
                Action = "typing";
                break;

            case ChatActionType.UploadPhoto:
                Action = "upload_photo";
                break;

            case ChatActionType.RecordVideo:
                Action = "record_video";
                break;

            case ChatActionType.UploadVideo:
                Action = "upload_video";
                break;

            case ChatActionType.RecordAudio:
                Action = "record_audio";

                break;

            case ChatActionType.UploadAudio:
                Action = "upload_audio";

                break;

            case ChatActionType.UploadDocument:
                Action = "upload_document";

                break;

            case ChatActionType.FindLocation:
                Action = "find_location";

                break;

            case ChatActionType.RecordVideoNote:
                Action = "record_video_note";

                break;

            case ChatActionType.UploadVideoNote:
                Action = "upload_video_note";

                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(action), action, null);
            }
        }
Ejemplo n.º 2
0
        private void Init(JObject obj)
        {
            if (obj["text"] != null)
            {
                Text = obj.Value <string>("text");
            }
            // Try to parse enumerations
            if (obj["color"] != null)
            {
                var       color = obj.Value <string>("color").ToUpper();
                ChatColor c;
                if (!ChatColor.TryParse(color, out c))
                {
                    this.Color = ChatColor.RESET;
                }
                else
                {
                    this.Color = c;
                }
            }
            else
            {
                this.Color = ChatColor.RESET;
            }
            if (obj["clickEvent"] != null)
            {
                var eventSpec = obj["clickEvent"];
                var action    = eventSpec.Value <string>("action").ToUpper();
                this.ChatActionValue = eventSpec.Value <string>("value");
                ChatActionType c;
                if (!ChatActionType.TryParse(action, out c))
                {
                    this.Action = ChatActionType.NONE;
                }
                else
                {
                    this.Action = c;
                }
            }
            else
            {
                this.Action = ChatActionType.NONE;
            }
            if (obj["hoverEvent"] != null)
            {
                var eventSpec = obj["hoverEvent"];
                var action    = eventSpec.Value <string>("action").ToUpper();
                this.ChatHoverActionValue = eventSpec.Value <string>("value");
                ChatHoverActionType c;
                if (!ChatHoverActionType.TryParse(action, out c))
                {
                    this.HoverAction = ChatHoverActionType.NONE;
                }
                else
                {
                    this.HoverAction = c;
                }
            }
            else
            {
                this.HoverAction = ChatHoverActionType.NONE;
            }
            //Parse booleans
            if (obj["bold"] != null)
            {
                Bold = obj.Value <bool>("bold");
            }
            if (obj["italic"] != null)
            {
                Italic = obj.Value <bool>("italic");
            }
            if (obj["underlined"] != null)
            {
                Underlined = obj.Value <bool>("underlined");
            }
            if (obj["strikethrough"] != null)
            {
                StrikeThrough = obj.Value <bool>("strikethrough");
            }
            if (obj["obfuscated"] != null)
            {
                Obfuscated = obj.Value <bool>("obfuscated");
            }

            if (obj["extra"] != null)
            {
                this.SubMessages = new List <ChatMessage>();
                foreach (object o in (JArray)obj["extra"])
                {
                    if (o.GetType() == typeof(JValue))
                    {
                        this.SubMessages.Add(new ChatMessage((string)((JValue)o).Value));
                    }
                    else
                    {
                        this.SubMessages.Add(new ChatMessage((JObject)o));
                    }
                }
            }
        }
Ejemplo n.º 3
0
 public ChatAction(ChatActionType actionType)
 {
     ActionType = actionType;
 }