Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2019, 12:49
Аспирант
Отправить личное сообщение для Jexly Посмотреть профиль Найти все сообщения от Jexly
 
Регистрация: 06.07.2019
Сообщений: 36

Проблема с кодом
Доброго времени суток! Я в надежде найти хоть какую-то помощь, обращаюсь сюда.

У меня при запуске моего бота выходит ошибка:
(node:2128) UnhandledPromiseRejectionWarning: TypeError: config is not iterable
    at C:\Users\User\Desktop\Bot\src\load.js:14:61
    at Client.<anonymous> (C:\Users\User\Desktop\Bot\src\load.js:37:6)
    at Client.emit (events.js:215:7)


В главном файле (main.js) у меня следующее:
const discord = require("discord.js");
const bot = new discord.Client();

const config = require("./conf.json");

var track = require("./src/track");
track(bot, config);

var load = require("./src/load");
load(bot, config);


А в load.js:
function cleanEmojiDiscriminator(emojiDiscriminator) {
	var regEx = /[A-Za-z0-9_]+:[0-9]+/;
	var cleaned = regEx.exec(emojiDiscriminator);
	if (cleaned) return cleaned[0];
	return emojiDiscriminator;
}

module.exports = function(client, config) {
	
	client
		.on("ready", () => {
			(async () => {
				var debug_count_messagesFetched = 0;
				for (var { channel, message: message_id, reactions } of config) {
					var message = await client.channels.get(channel).fetchMessage(message_id)
						.catch(error => console.error(error));
					if (!message) continue;
					debug_count_messagesFetched += 1;
					for (var {emoji} of reactions) {
						emoji = cleanEmojiDiscriminator(emoji);
						var messageReaction = message.reactions.get(emoji);
						if (!messageReaction) {
							await message.react(emoji)
								.catch(error => console.error(error));
						} else {
							if (!messageReaction.me) {
								messageReaction.fetchUsers();
								await message.react(emoji)
									.catch(error => console.error(error));
							}
						}
					}
				}
				const chalk = require('chalk');
                const moment = require('moment');
				console.log(chalk.cyan(`[${moment().format('YYYY-MM-DD HH:mm:ss')}] Reaction roles loaded`));
			})();
		});
};


Я уже у многих спросил что именно мне нужно исправить, и никто так и не сказал, почему у меня появляется данная ошибка... Я уже много чего перечитал, но я до сих пор ничего не понял. Надеюсь на Вашу помощь!

P.S. lib discord.js

Последний раз редактировалось Jexly, 05.12.2019 в 12:51.
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2019, 12:59
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Тута conf.json не массив.
Ответить с цитированием
  #3 (permalink)  
Старый 05.12.2019, 13:00
Аспирант
Отправить личное сообщение для Jexly Посмотреть профиль Найти все сообщения от Jexly
 
Регистрация: 06.07.2019
Сообщений: 36

То есть? Как мне исправить?
Ответить с цитированием
  #4 (permalink)  
Старый 05.12.2019, 13:41
Аспирант
Отправить личное сообщение для Jexly Посмотреть профиль Найти все сообщения от Jexly
 
Регистрация: 06.07.2019
Сообщений: 36

Все, спасибо, помогли!
Ответить с цитированием
  #5 (permalink)  
Старый 05.12.2019, 13:47
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Структура conf.json такая ожидается:
[{ 
    "channel": 11,
    "message": 12,
    "reactions": [
        { "emoji": 131 },
        { "emoji": 132 }
    ]
},{ 
    "channel": 21,
    "message": 22,
    "reactions": [
        { "emoji": 231 },
        { "emoji": 232 }
    ]
}]

Тогда ошибки не будет:
var config = [{ 
    "channel": 11,
    "message": 12,
    "reactions": [
        { "emoji": 131 },
        { "emoji": 132 }
    ]
},{ 
    "channel": 21,
    "message": 22,
    "reactions": [
        { "emoji": 231 },
        { "emoji": 232 }
    ]
}];
for (var { channel, message: message_id, reactions } of config) {
    console.log('for#1', channel, message_id, reactions);
    for (var { emoji } of reactions) {
        console.log('for#2', emoji);
    }
}
Ответить с цитированием
  #6 (permalink)  
Старый 05.12.2019, 14:03
Аспирант
Отправить личное сообщение для Jexly Посмотреть профиль Найти все сообщения от Jexly
 
Регистрация: 06.07.2019
Сообщений: 36

Да, я уже понял, еще раз спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена background при нажатии JIeuTo Общие вопросы Javascript 5 14.09.2018 18:48
Помогите пожалуйста ,есть проблема с кодом Mikhail-lex Общие вопросы Javascript 6 26.08.2017 12:33
Проблема с кодом banditman Javascript под браузер 13 23.05.2017 15:58
Проблема с кодом javascript javamen Общие вопросы Javascript 7 25.08.2016 20:04
Проблема с кодом Хан Events/DOM/Window 2 31.07.2016 22:17