예제 #1
0
        /// <summary>
        /// This is all we track for metrics, action, and value. The action will be like
        /// "downloaded", the value "Joe's list".
        /// </summary>
        /// <param name="action"></param>
        /// <param name="value"></param>
        public static async Task Send(string action, string value)
        {
            var client = new HttpClient();

            try
            {
                client.DefaultRequestHeaders.Add(Consts.MetricsKeyHeader,
                                                 Utils.FromEncryptedJson <string>(Consts.MetricsKeyHeader));
                await client.GetAsync($"http://build.wabbajack.org/metrics/{action}/{value}");
            }
            catch (Exception ex)
            {
            }
        }
예제 #2
0
        /// <summary>
        /// This is all we track for metrics, action, and value. The action will be like
        /// "downloaded", the value "Joe's list".
        /// </summary>
        /// <param name="action"></param>
        /// <param name="value"></param>
        public static async Task Send(string action, string value)
        {
            var client = new HttpClient();

            try
            {
                client.DefaultRequestHeaders.Add(Consts.MetricsKeyHeader,
                                                 Utils.FromEncryptedJson <string>(Consts.MetricsKeyHeader));
                await client.GetAsync($"{Consts.WabbajackBuildServerUri}metrics/{action}/{value}");
            }
            catch (Exception)
            {
                // ignored
            }
        }
예제 #3
0
        public static async ValueTask <string> GetMetricsKey()
        {
            using var _ = await _creationLock.WaitAsync();

            if (!Utils.HaveEncryptedJson(Consts.MetricsKeyHeader))
            {
                var key = Utils.MakeRandomKey();
                await key.ToEcryptedJson(Consts.MetricsKeyHeader);

                return(key);
            }

            try
            {
                return(await Utils.FromEncryptedJson <string>(Consts.MetricsKeyHeader));
            }
            catch (Exception)
            {
                var key = Utils.MakeRandomKey();
                await key.ToEcryptedJson(Consts.MetricsKeyHeader);

                return(key);
            }
        }
예제 #4
0
 public void Start()
 {
     _client.LoginAsync(TokenType.Bot, Utils.FromEncryptedJson <string>("discord-key").Result).Wait();
     _client.StartAsync().Wait();
 }