Skip to content

Commit

Permalink
add groups status veryfication
Browse files Browse the repository at this point in the history
  • Loading branch information
PAW122 committed Oct 10, 2024
1 parent 2446a12 commit 4df66c3
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 65 deletions.
4 changes: 0 additions & 4 deletions commands/moderation/groups.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,8 @@ async function execute(interaction, client) {
name: category_name,
type: 4, // Typ 4 oznacza kategorię
});
console.log(`Stworzono nową kategorię o nazwie ${category_name}`);
} else {
console.log(`Kategoria o nazwie ${category_name} już istnieje`);
}


const categoryId = category.id;
if(!categoryId) {
return await interaction.reply("error incorect category id");
Expand Down
133 changes: 72 additions & 61 deletions commands/normal/join_group.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,80 +12,91 @@ const command = new SlashCommandBuilder()
.setRequired(true)
)

async function execute(interaction, client) {
db.init();
const channelName = interaction.options.getString('channel_name'); // Użyj wybranego kanału
const server_id = interaction.guild.id;
const user_id = interaction.user.id;

const channels = db.read(`${server_id}.groups.channels`);
if (!channels) {
return interaction.reply({ content: 'Brak dostępnych kanałów.', ephemeral: true });
}

// Znalezienie kanału na podstawie nazwy
const channelData = Object.values(channels).find(channel => {
return channel.data.chanenl_name === channelName; // Użyj poprawnego klucza
});

if (!channelData) {
return interaction.reply({ content: 'Nie znaleziono kanału.', ephemeral: true });
}

const roleId = channelData.data.role_id; // ID roli, którą chcemy dodać

// Dodanie roli użytkownikowi
const member = interaction.guild.members.cache.get(user_id);
if (!member) {
return interaction.reply({ content: 'Nie znaleziono użytkownika.', ephemeral: true });
}

try {
await member.roles.add(roleId);
return interaction.reply({ content: `Dodano Ci rolę, abyś mógł widzieć kanał: ${channelName}`, ephemeral: true });
} catch (error) {
console.error('Błąd podczas dodawania roli:', error);
return interaction.reply({ content: 'Wystąpił błąd podczas dodawania roli.', ephemeral: true });
}
}


async function autocomplete(interaction) {
try {
async function execute(interaction, client) {
db.init();
const channelName = interaction.options.getString('channel_name'); // Użyj wybranego kanału
const server_id = interaction.guild.id;
const user_id = interaction.user.id;

// sprawdz czy grupy są włączone
const groups_settings = db.read(`${server_id}.groups.settings`)
if (!groups_settings || !groups_settings.status || groups_settings.status != true) {
return interaction.reply({ content: 'Groups are disabled on this server.', ephemeral: true });
}

const channels = db.read(`${server_id}.groups.channels`);
if (!channels) {
return;
return interaction.reply({ content: 'Brak dostępnych kanałów.', ephemeral: true });
}

// Pobranie tekstu podanego przez użytkownika
const focusedValue = interaction.options.getString('channel_name');

// Filtrowanie kanałów na podstawie podanego tekstu
const filteredChannels = Object.values(channels).filter(channel => {
const channelName = channel.data.chanenl_name; // Użyj poprawnego klucza
return channelName && channelName.toLowerCase().includes(focusedValue.toLowerCase());
// Znalezienie kanału na podstawie nazwy
const channelData = Object.values(channels).find(channel => {
return channel.data.chanenl_name === channelName; // Użyj poprawnego klucza
});

// Przygotowanie odpowiedzi do autouzupełniania
const choices = filteredChannels.slice(0, 24).map(channel => ({
name: channel.data.chanenl_name, // Nazwa do wyświetlenia
value: channel.data.chanenl_name // Wartość do zwrócenia
}));

// Sprawdzenie, czy są jakieś wybory
if (choices.length === 0) {
return await interaction.respond([{ name: 'Brak wyników', value: 'brak' }]);
if (!channelData) {
return interaction.reply({ content: 'Nie znaleziono kanału.', ephemeral: true });
}

const roleId = channelData.data.role_id; // ID roli, którą chcemy dodać

// Dodanie roli użytkownikowi
const member = interaction.guild.members.cache.get(user_id);
if (!member) {
return interaction.reply({ content: 'Nie znaleziono użytkownika.', ephemeral: true });
}

// Odpowiedź na interakcję autouzupełniania
await interaction.respond(choices);
}catch(err) {
console.error("join_group.js 86 error")
try {
await member.roles.add(roleId);
return interaction.reply({ content: `Dodano Ci rolę, abyś mógł widzieć kanał: ${channelName}`, ephemeral: true });
} catch (error) {
console.error('Błąd podczas dodawania roli:', error);
return interaction.reply({ content: 'Wystąpił błąd podczas dodawania roli.', ephemeral: true });
}
}


async function autocomplete(interaction) {
try {
db.init();
const server_id = interaction.guild.id;

const groups_settings = db.read(`${server_id}.groups.settings`)
if (!groups_settings || !groups_settings.status || groups_settings.status != true) {
return await interaction.respond([{ name: 'Groups are disabled on this server', value: 'brak' }]);
}

const channels = db.read(`${server_id}.groups.channels`);
if (!channels) {
return;
}

// Pobranie tekstu podanego przez użytkownika
const focusedValue = interaction.options.getString('channel_name');

// Filtrowanie kanałów na podstawie podanego tekstu
const filteredChannels = Object.values(channels).filter(channel => {
const channelName = channel.data.chanenl_name; // Użyj poprawnego klucza
return channelName && channelName.toLowerCase().includes(focusedValue.toLowerCase());
});

// Przygotowanie odpowiedzi do autouzupełniania
const choices = filteredChannels.slice(0, 24).map(channel => ({
name: channel.data.chanenl_name, // Nazwa do wyświetlenia
value: channel.data.chanenl_name // Wartość do zwrócenia
}));

// Sprawdzenie, czy są jakieś wybory
if (choices.length === 0) {
return await interaction.respond([{ name: 'Brak wyników', value: 'brak' }]);
}


// Odpowiedź na interakcję autouzupełniania
await interaction.respond(choices);
} catch (err) {
console.error("join_group.js 86 error")
}
}


Expand Down

0 comments on commit 4df66c3

Please sign in to comment.