Esempio n. 1
0
        private static RouteIdentifier GenerateRouteIdentifiers(string endpoint, string method)
        {
            var result         = new Regex(@"^\/(?:channels|guilds|webhooks)\/(\d{16,19})").Matches(endpoint);
            var majorParameter = result.Count != 0 ? result[1].ToString() : "global";
            var baseRoute      = endpoint.Replace(new Regex(@"\d{16,19}").ToString(), ":id");

            var exceptions = "";

            if (method == "delete" && baseRoute == "/channels/:id/messages/:id")
            {
                var id        = new Regex(@"\\d{16,19}$").Match(endpoint);
                var snowflake = Snowflake.FromSnowflake(id.ToString());
                if (DateTimeOffset.Now.ToUnixTimeMilliseconds() - snowflake.ToUnixTimeMilliseconds() > 1000 * 60 * 60 * 24 * 14)
                {
                    exceptions += "[Delete Old Message]";
                }
            }

            return(new RouteIdentifier
            {
                Route = $"{baseRoute}{exceptions}",
                MajorParameter = majorParameter
            });
        }