karakteryuzu.com, herhangi bir kâr amacı gütmeden, piyasada aktif bulunan bazı sunucular tarafından desteklenen, sunucudan sunucuya karakter yüzlerinin çevrilebilmesini sağlayan, her formattan veri kabul eden ve her formata çeviren, tamamen ücretsiz ve bağımsız bir araçtır. Herhangi bir yükleme gerektirmez, kopyala ve yapıştır hızında gerekli çevirme işlerini gerçekleştirir.
Not: Bu bir hobi projedir, tüm sunucu geliştiricilerinin katkısına açıktır. Kod kalitesinden rahatsız olursanız veya bir hata tespit ederseniz, yeni bir özellik getirmek isterseniz, pull-request oluşturmanız yeterlidir.
Credits:
Kullanımı çok basit, internet sitesine gittikten sonra desteklenen sunuculardan herhangi birisinin (buna Menyoo dahil) karakter yüz kodunu yapıştırın ve hedef çıktıyı seçin, bağlantı hızına bağlı olarak beş saniye içerisinde çıktınız hazır.
Sunucu ekleme işlemleri için Discord ID: inkedev üzerinden ulaşabilirsiniz. Herhangi bir teknik destek almadan eklenmesi için aşağıda yer alan rehberi takip ederek pull-request
oluşturabilir, geliştirici tarafından onaylanması sonrasında sisteme dahil olabilirsiniz.
https://github.com/ziyacivan/karakteryuzu/fork bağlantısını kullanarak projeyi fork edebilirsiniz.
app/utils/servers.ts
path'i içerisinde yer alan serverList
değişkenini güncelleyerek kendi sunucunuzu listeye dahil edin.
Örnek kod:
export const serverList = [
{
key: Server.VICE,
label: "Vice Online",
},
{
key: Server.RINA,
label: "Rina:V",
},
{
key: Server.MENYOO,
label: "Menyoo / GTA:World",
},
{
key: Server.VINEWOOD,
label: "Vinewood:V",
isActive: false,
},
{
key: Server.NEW_SERVER, // Yeni eklenen
label: "New Server",
},
];
app/utils/enums.ts
path'ine giderek, Server
tanımlamasını güncelleyin:
Örnek kod:
export enum Server {
VICE = 1,
RINA = 2,
MENYOO = 3,
VINEWOOD = 4,
UNKNOWN = 5,
NEW_SERVER = 6, // Yeni eklenen
}
app/utils/converters.ts
path'inde yer alan Converter
sınıfının detectServer
method'u, karakter yüzünün hangi sunucuya ait olduğunu tespit etmektedir. Fonksiyonun içeriğini güncelleyerek, kendi karakter yüzünüze ait benzersiz anahtarı belirterek, Server
enum tanımlaması içerisinde yaptığınız değeri döndürün.
Örnek kod:
public static async detectServer(appearanceCode: string): Promise<Server> {
...
if (typeof appearanceCode === "object" && "unique-key" in appearanceCode) {
return Server.NEW_SERVER
}
...
}
app/utils/converters.ts
path'inde yer alan convertToBaseFormat
method'u, herhangi bir sunucudan gelen formatın, karakteryuzu.com standart formatına çevrilmesini sağlar. Standart formata çevrilmesinin nedeni, çıktı alınacak formata belirli kurallandırmalara göre çevrilmesini sağlamaktır.
Kod içerisinde yer alan switch-case
tanımında yeni eklediğiniz sunucunun tanımlamasını yaparak, kendinize ait Converter
sınıfının convertToBaseFormat
method'una yönlendirme gerçekleştirmelisiniz.
Örnek kod:
switch(from) {
...
case Server.NEW_SERVER:
return await NewServerConverter.convertToBaseFormat(appearanceCode);
...
}
Her sunucu için tanımlanan Convert
sınıflar, kendi içerisinde standart olarak iki method taşımalıdır. Bunlar sırası ile karakteryuzu.com formatına çevrimi sağlayan convertToBaseFormat
ve karakteryuzu.com formatını kendi sunucu formatına çevirmesini sağlayan convertSelf
method'ları.
Basitliği ve pratikliği sebebi ile ViceConverter
sınıfı örnek kod olarak incelenebilir, ilgili path: app/utils/converters.ts:54
Fork ettiğiniz projeden, ana repository olan "karakteryuzu" repo'suna pull-request oluşturduktan sonra, onaylanması için geliştiriciye ulaşabilirsiniz. Doküman içerisinde zor görünebilen entegrasyon, pratik ettikçe kolaylaşacaktır. Herhangi bir teknik sorun yaşanması durumunda, Discord sunucusu üzerinden ulaşabilirsiniz.