Exemplo n.º 1
0
        public RestResponse AddListener(ulong guildID, ulong channelID, string listenerTypeID)
        {
            if (!Android.AndroidInstances.TryGetValue(guildID, out var instance))
            {
                return(new RestResponse(HttpStatusCode.BadRequest, "Invalid guild ID"));
            }
            var listenerType = ListenerTypes.GetRawType(listenerTypeID);

            if (listenerType == null)
            {
                return(new RestResponse(HttpStatusCode.BadRequest, "Invalid listener type ID"));
            }

            instance.AddListener(listenerType, channelID);
            return(RestResponse.Ok);
        }
Exemplo n.º 2
0
        public ListenerUIInfo GetListenerUI(string typeID)
        {
            var type = ListenerTypes.GetRawType(typeID);

            if (type == null)
            {
                return(null);
            }

            bool hideBaseMembers = type.GetCustomAttribute <HideListenerBaseAttribute>() != null;

            var ui = new ListenerUIInfo();

            foreach (var property in type.GetProperties())
            {
                var attribute = property.GetCustomAttribute <UiVariableTypeAttribute>(true);
                if (attribute == null)
                {
                    continue;
                }

                var entry = new ListenerUIEntry
                {
                    Name = property.Name,
                    Type = attribute.VariableType
                };

                if (property.DeclaringType == type)
                {
                    ui.Variables.Add(entry);
                }
                else if (!hideBaseMembers)
                {
                    ui.Variables.Insert(0, entry);
                }
            }

            return(ui);
        }