예제 #1
0
        private async Task DrawProfile(String AvatarUrl, IUser userInfo, ulong guildid, string welcome, string cardbg)
        {
            if (String.IsNullOrEmpty(AvatarUrl))
            {
                AvatarUrl =
                    "http://is2.mzstatic.com/image/pf/us/r30/Purple7/v4/89/51/05/89510540-66df-9f6f-5c91-afa5e48af4e8/mzl.sbwqpbfh.png";
            }

            Uri requestUri  = new Uri(AvatarUrl);
            Uri requestUri2 = new Uri(cardbg);

            if (File.Exists($"{userInfo.Id}Avatar.png"))
            {
                File.Delete($"{userInfo.Id}Avatar.png");
            }

            using (var client = new HttpClient())
                using (var request = new HttpRequestMessage(HttpMethod.Get, requestUri))
                    using (
                        Stream contentStream = await(await client.SendAsync(request)).Content.ReadAsStreamAsync(),
                        stream = new FileStream($"{userInfo.Id}Avatar.png", FileMode.Create, FileAccess.Write,
                                                FileShare.None, 3145728, true))
                    {
                        await contentStream.CopyToAsync(stream);

                        await contentStream.FlushAsync();

                        contentStream.Dispose();
                        await stream.FlushAsync();

                        stream.Dispose();
                        Console.WriteLine("DONE STREAM");
                    }
            using (var client = new HttpClient())
                using (var request = new HttpRequestMessage(HttpMethod.Get, requestUri2))
                    using (
                        Stream contentStream = await(await client.SendAsync(request)).Content.ReadAsStreamAsync(),
                        stream = new FileStream($"{guildid}.png", FileMode.Create, FileAccess.Write,
                                                FileShare.None, 3145728, true))
                    {
                        await contentStream.CopyToAsync(stream);

                        await contentStream.FlushAsync();

                        contentStream.Dispose();
                        await stream.FlushAsync();

                        stream.Dispose();
                        Console.WriteLine("DONE STREAM");
                    }

            var x        = userInfo as SocketGuildUser;
            var username = x.Nickname ?? userInfo.Username;



            ProfileImageProcessing.GenerateProfile(welcome, guildid, $"{userInfo.Id}Avatar.png", username, $"{userInfo.Id}.png", $"{userInfo.Id}.png", x);
            return;
        }
예제 #2
0
        public EPService(DiscordSocketClient c)
        {
            client = c;
            InitializeLoader();
            LoadDatabaseBG();

            ProfileImageProcessing.Initialize();
        }