import { Client, GatewayIntentBits, Message, MessageType } from 'discord.js';
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers, GatewayIntentBits.MessageContent, GatewayIntentBits.GuildMessages] });
import config from './config.js';
const clear = function(text) {
var regex = /[^a-zA-ZğüşöçıĞÜŞÖÇİ0-9\s]|(\s{2,})/g;
var cleanedText = text.replace(regex, '');
return cleanedText.trim() === '' ? 'empty' : cleanedText;
}
const checkUrl = function(text) {
var regex = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/g;
return regex.test(text)
}
const nicknameClear = async function(member){
let cleaned = clear(`${member.user.globalName}`)
let memberRoles = member.roles.cache.map(r => r.id)
let whitelistedRoles = config.nicknameWhitelistedRoles
for(let x = 0; x < whitelistedRoles.length; x++){
if(memberRoles.includes(whitelistedRoles[x])) return 0;
}
if(cleaned !== `${member.user.globalName}`){
if(cleaned == 'null') return 0;
if(cleaned == "empty"){
try{await member.setNickname(`${member.user.tag}`, "Kullanıcının sunucu içi rumuzu userTag'i ile eşitlendi.")}catch(error){if(error) return 0;}
return 0;
}
try{await member.setNickname(cleaned, 'Kullanıcının sunucu içi rumuzu temizlendi.')}catch(error){if(error) return 0;}
console.log(`${member.user.globalName}`)
}
return 0;
}
client.on('ready', async () => {
console.log(`Logged in as ${client.user.tag}!`);
await client.guilds.fetch('1021792515151646852')
await client.guilds.cache.get('1021792515151646852').members.fetch()
});
client.on('guildMemberAdd', async member => {
await nicknameClear(member)
})
client.on('guildMemberUpdate', async (oldMember, member) => {
await nicknameClear(member)
})
client.on('userUpdate', async(oldUser, user) => {
let member = await client.guilds.cache.get('1021792515151646852').members.cache.get(`${user.id}`)
if(!member) return
await nicknameClear(member)
})
client.on('messageCreate', async (message) => {
let msg = message;
if(!message.guildId) return;
if(message.type !== MessageType.Reply && message.type !== MessageType.Default) return;
if(message.author.id == client.user.id) return;
if(message.content){
for(let y = 0; y < Object.keys(config.mentions_messages).length; y++){
if(message.content.includes(Object.keys(config.mentions_messages)[y])){
let menti
if(message.author.bot) return;
for(let z = 0; z < mentionpass.length; z++){
if(message.member.roles.cache.has(mentionpass[z])) return;
}
await message.delete();
await message.channel.send(`<@${message.author.id}>, ${config.mentions_messages[Object.keys(config.mentions_messages)[y]]}`)
return
}
}
if(message.content.replace(/\s/g, '').toLowerCase() == 'whatsmyid'){
message.reply(`${message.author.id}`);
}
}
if(message.channelId == '1041153702318313503'){
if(!checkUrl(message.content) && !message.attachments.first()){
let mediaPass = config.admin_roles.concat(['1226673736912994385'])
for(let z = 0; z < mediaPass.length; z++){
if(message.member.roles.cache.has(mediaPass[z])) return;
}
await message.delete()
try{
message.author.send(`⚠️ Mesaj göndermeye çalıştığınız <#${message.channelId}> kanalı sadece link ve dosya (fotoğraf, video, ses vb.) gönderimine açıktır.`)
}catch(error){if(error) return;}
}
}
if(message.channelId == '1208323492349739018' || message.channelId == '1200441937350643865'){
if(!checkUrl(message.content)){
let mediaPass = config.admin_roles.concat(['1226673736912994385'])
for(let z = 0; z < mediaPass.length; z++){
if(message.member.roles.cache.has(mediaPass[z])) return;
}
await message.delete()
try{
message.author.send(`⚠️ Mesaj göndermeye çalıştığınız <#${message.channelId}> kanalı sadece link gönderimine açıktır.`)
}catch(error){if(error) return;}
}
}
if(message.author.bot && config.botRestrictChannels.includes(`${message.channelId}`) && !config.whitelistedBots.includes(`${msg.author.id}`)){
await message.delete()
}
})
client.login('u cant see');
// config.js
/*
export default {
mentions_messages: {
"841793656314789969": "JOGACAN'ı (Kaan Alaşar) etiketlemek yasaktır.",
},
admin_roles: [
"1041140546124652574",
"1023872333359882281",
"1110936545231388682",
"1040735865216978974",
"1041139012292841503",
],
botRestrictChannels: [
"1041139021755203584",
"1041153702318313503",
"1208323492349739018",
"1200441937350643865",
"1222995093863268403",
"1210931789305217066",
"1204025993971503124",
"1204033240856535130",
"1204026036690362368",
"1204026074640678922",
"1042028221199298631",
"1042028221199298631",
"1210599861469188116",
"1175367984986984519",
"1042100476512059442",
],
whitelistedBots: [
"497196352866877441",
"155149108183695360",
"827646927264022568",
],
nicknameWhitelistedRoles: [
"1040735865216978974",
"1041139012292841503",
"1224462706485100674",
"1074766720037830696",
"1042529607229902888",
"1224810581790556261",
"1042852033608290435",
"1091753241601114122",
"1050159940452491354",
"1199801193317273780",
"1052275639996129350",
"1042155481222885376",
"1226843881048641587",
"1023872333359882281",
"1110936545231388682",
"1041140546124652574",
"1238912684704006164",
],
};
*/