Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Код бота для Дискорда

Дима Сергушин Ученик (189), на голосовании 3 недели назад
Делал код по нейронке все было норм создал 1 бота. На 2 пошли проблемы вот такая ошибка:
TypeError: SteamAPI is not a constructor
at Object.<anonymous> (C:\Users\MrMils\Desktop\Discord2\Amigobot\Amigobot.js:20:15)
at Module._compile (node:internal/modules/cjs/loader:1734:14)
at Object..js (node:internal/modules/cjs/loader:1899:10)
at Module.load (node:internal/modules/cjs/loader:1469:32)
at Function._load (node:internal/modules/cjs/loader:1286:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:151:5)
at node:internal/main/run_main_module:33:47

Node.js v23.9.0

Я знаю что это означает что Стим айпи не конструктор но как сделать что бы работало. Ответы нейронки не помогают. Язык JavaScript
Дополнен 1 месяц назад
const { Client, GatewayIntentBits } = require('discord.js');
const SteamAPI = require('steamapi');

const DISCORD_BOT_TOKEN = '';
const STEAM_API_KEY = '';

const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages,
],
});

const steam = new SteamAPI(STEAM_API_KEY);

async function isDiscordFriend(userId, member) {
try {
// Получаем список друзей пользователя
const friends = await member.guild.members.fetch();
return friends.some(friend => friend.id === userId);
} catch (error) {
console.error(`Ошибка при проверке друзей в Discord: ${error}`);
return false;
}
}

async function isSteamFriend(steamId, member) {
try {
// Получаем список друзей пользователя в Steam
const friends = await steam.getUserFriends(steamId);
return friends.some(friend => friend.steamID === steamId);
} catch (error) {
console.error(`Ошибка при проверке друзей в Steam: ${error}`);
return false;
}
}

async function getSteamIdFromProfile(member) {
const nickname = member.displayName;
const steamId = nickname.match(/\[SteamID: (\d+)\]/)?.[1]; // Пример: [SteamID: 123456789]
return steamId;
}

client.on('guildMemberAdd', async (member) => {
const discordUserId = member.id ;
const steamId = await getSteamIdFromProfile(member); // Реализуйте эту функцию
Дополнен 1 месяц назад
if (await isDiscordFriend(discordUserId, member) && await isSteamFriend(steamId, member)) {

const role = member.guild.roles.cache.find(role => role.name === 'Member');

if (role) {

await member.roles.add(role);

await member.send('Добро пожаловать на сервер! Вы были приняты.');

}

} else {

await member.send('Вы не выполнили условия для вступления на сервер.');

await member.kick('Не выполнены условия для вступления');

}

});

client.login(DISCORD_BOT_TOKEN);
Дополнен 1 месяц назад
Токен и ключ есть я просто скрыл из этого сообщения
Дополнен 1 месяц назад
Делал бота в дискорде что бы он проверял если ли чел который запрашивает у меня в друзьях в стиме и в дискорде если нет то кик если да то входит
Голосование за лучший ответ
Курятина Оракул (64340) 1 месяц назад
Эта нейронка тебе хрень сделала
Ivan Ivanov Гуру (4301) 1 месяц назад
Ты код-то покажи, думаешь тут телепаты сидят?
Ivan IvanovГуру (4301) 1 месяц назад
Модуль steamapi установлен? На npmjs написано, что версия 3.x не поддерживает require, только import.
Дима СергушинУченик (189) 1 месяц назад
установлен
Похожие вопросы