yepturkish
Master Üye
- Katılım
- 26 Ağu 2022
- Mesajlar
- 1,578
- Beğeniler
- 437
- Yaş
- 24
- İletişim

FaceitFinder'a bağlanıp verileri alan, sonra da sonuçlarını programınızın menüsüne veya konsola yansıtabileceğiniz bir kod.
Örnek kullanım:
Farklı bir class veya dll içine bunu yapıştırın:
Örnek kullanım:
C#:
// örnek kullanım
private void GetUserStats(string profileID)
{
// steam64id'nin parametrede olması lazım.
// addr -> CBasePlayerController.m_steamID
var FF = new FaceitFinder(profileID);
FF.GetAllStats(out string accstats, out string acccreated, out string playscs2since, out string totalhours, out string last2weeks, out string cs2achievements, out string bannedfrieds);
Console.WriteLine("accstats: " + accstats);
Console.WriteLine("acccreated: " + acccreated);
Console.WriteLine("playscs2since: " + playscs2since);
Console.WriteLine("totalhours: " + totalhours);
Console.WriteLine("last2weeks " + last2weeks);
Console.WriteLine("cs2achievements: " + cs2achievements);
Console.WriteLine("bannedfrieds: " + bannedfrieds);
var image = FF.profilePicture;
// pictureBox da kullanabilirsiniz. ör: pictureBox1.Image = image;
}
Farklı bir class veya dll içine bunu yapıştırın:
C#:
using System;
using System.Threading.Tasks;
using System.Drawing;
using System.IO;
using System.Net.Http;
using HtmlAgilityPack;
using HtmlDocument = HtmlAgilityPack.HtmlDocument;
namespace FaceitStatsAPI
{
public class FaceitFinder
{
private string profileID;
private HtmlDocument doc;
public Image profilePicture;
public FaceitFinder(string profileID)
{
this.profileID = profileID;
LoadProfileData();
}
private void LoadProfileData()
{
string url = $"https://faceitfinder.com/profile/" + profileID;
HtmlWeb web = new HtmlWeb();
doc = web.Load(url);
}
public void GetAllStats(out string accstats, out string acccreated, out string playscs2since, out string totalhours, out string last2weeks, out string cs2achievements, out string bannedfrieds)
{
if (doc == null || doc.DocumentNode == null)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Hata: Sayfa verisi yüklenmedi.");
Console.ResetColor();
accstats = acccreated = playscs2since = totalhours = last2weeks = cs2achievements = bannedfrieds = "Hata: Sayfa yüklenmedi.";
return;
}
profilePicture = GetProfilePicture();
accstats = GetAccountStatus();
acccreated = GetAccountCreated();
playscs2since = GetPlaysCS2Since();
totalhours = GetTotalCSHours();
last2weeks = GetLast2WeeksCS2Hours();
cs2achievements = GetCS2Achievements();
bannedfrieds = GetBannedFriends();
}
public Image GetProfilePicture()
{
var node = doc.DocumentNode.SelectSingleNode("//div[@class='account-steam-userpic']//img");
var adr = node?.GetAttributeValue("src", "Bulunamadı") ?? "Bulunamadı";
Console.WriteLine($"Profil resmi URL: {adr}");
if (adr != "Bulunamadı")
{
// Asenkron işlemi ayrı bir thread'de çalıştırıp sonucu bekle
byte[] imageBytes = Task.Run(() => DownloadImage(adr)).GetAwaiter().GetResult();
using (MemoryStream ms = new MemoryStream(imageBytes))
{
return Image.FromStream(ms);
}
}
return null;
}
public string GetAccountStatus()
{
var node = doc.DocumentNode.SelectSingleNode("//li[contains(text(),'Account status')]/span");
return node?.InnerText.Trim() ?? "Bulunamadı";
}
public string GetAccountCreated()
{
var node = doc.DocumentNode.SelectSingleNode("//li[contains(text(),'Account created')]/span");
return node?.InnerText.Trim() ?? "Bulunamadı";
}
public string GetPlaysCS2Since()
{
var node = doc.DocumentNode.SelectSingleNode("//li[contains(text(),'Plays CS2 since')]/span");
return node?.InnerText.Trim() ?? "Bulunamadı";
}
public string GetTotalCSHours()
{
var node = doc.DocumentNode.SelectSingleNode("//li[contains(text(),'CS total hours')]/a/span");
return node?.InnerText.Trim() ?? "Bulunamadı";
}
public string GetLast2WeeksCS2Hours()
{
var node = doc.DocumentNode.SelectSingleNode("//li[contains(text(),'CS2 last 2 weeks hours')]/a/span");
return node?.InnerText.Trim() ?? "Bulunamadı";
}
public string GetCS2Achievements()
{
var node = doc.DocumentNode.SelectSingleNode("//li[contains(text(),'CS2 achievements')]/a/span");
return node?.InnerText.Trim() ?? "Bulunamadı";
}
public string GetBannedFriends()
{
var node = doc.DocumentNode.SelectSingleNode("//li[contains(text(),'Banned friends')]/span");
return node?.InnerText.Trim() ?? "Bulunamadı";
}
private static async Task<byte[]> DownloadImage(string imageUrl)
{
HttpClient client = new HttpClient();
return await client.GetByteArrayAsync(imageUrl);
}
}
}
Son düzenleme:

