Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 27.12.2020
Сообщений: 4

Не работает mysql в боте для discord сервера

27.12.2020, 13:33. Показов 1539. Ответов 5

Студворк — интернет-сервис помощи студентам
Всем привет, у меня проблема с ботом для дискорд сервера( Не работает mysql

Code
1
2
3
4
throw err; // Rethrow non-MySQL errors
      ^
 
TypeError: Cannot read property 'guild' of undefined
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bot.on("message", async message => {
  if(message.author.bot) return;
  if(message.channel.type === "dm") return;
 
  con.query(`SELECT * FROM xp WHERE id = '${message.author.id}'`, (err, rows) =>{
    if(err) throw err;
 
    let sql;
 
    if(rows[0].guild !== message.guild.id){
      sql = `INSERT INTO xp (id, xp, guild) VALUES ('${message.author.id}', ${generateXp()}, '${message.guild.id}')`;
    }else{
      let xp = rows[0].xp;
      sql = `UPDATE xp SET xp = ${xp + generateXp()} WHERE id = '${message.author.id}' AND guild = '${message.guild.id}'`;
    }
 
    con.query(sql);
  })
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.12.2020, 13:33
Ответы с готовыми решениями:

Бот для Discord сервера Overwatch
Всем привет! Хотел найти человека, который поможет исправить небольшие ошибки в самом коде. Бот уже написан на java, он парсит рейтинг по...

Не работает музыкальный бот для Discord
Помогите пожалуйста, скачал с github бота музыкального для дискорда и решил проверить. Но когда я выбрал трек, бот зашёл ко мне в голосовой...

Не работает обработка Inline кнопок в боте Telegram
Собственно сам вопрос в заголовке. Создаю кнопку так: await Bot.SendTextMessageAsync(msg.Chat.Id, "Я не знаю слова " +...

5
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
27.12.2020, 19:28
flip4444w, mysql скорее всего у вас работает, ошибка в шаблоне запроса, видимо не может прочитать значение guild у message.

попробуйте обернуть в try/catch и вывести через console.error чтобы узнать на какой именно строчке ошибка, либо вообще попробуйте вывести message в консоль в самом начале функции-обработчика, чтобы увидеть, есть ли там guild вообще
1
0 / 0 / 0
Регистрация: 27.12.2020
Сообщений: 4
27.12.2020, 20:08  [ТС]
Code
1
2
3
4
5
6
7
8
9
10
11
TypeError: Cannot read property 'guild' of undefined
    at Query.<anonymous> (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\bot.js:84:16)
    at Query.<anonymous> (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\Connection.js:526:10)
    at Query._callback (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\Connection.js:488:16)
    at Query.Sequence.end (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\protocol\sequences\Sequence.js:83:24)
    at Query._handleFinalResultPacket (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\protocol\sequences\Query.js:149:8)
    at Query.EofPacket (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\protocol\sequences\Query.js:133:8)
    at Protocol._parsePacket (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\protocol\Protocol.js:291:23)
    at Parser._parsePacket (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\protocol\Parser.js:433:10)
    at Parser.write (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\protocol\Parser.js:43:10)
    at Protocol.write (C:\Users\Админ\Desktop\Discord-Bot-master\Discord-Bot-master\node_modules\←[4mmysql←[24m\lib\protocol\Protocol.js:38:16)
Когда прописываю команду в боте, выдает ошибку

Добавлено через 1 минуту
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
internal/modules/cjs/loader.js:965
  throw err;
  ^
 
Error: Cannot find module 'c:/Users/�����/AppData/Local/Programs/Microsoft VS Code/resources/app/extensions/ms-vscode.js-debug/src/bootloader.bundle.js'
Require stack:
- internal/preload
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:962:15)
    at Function.Module._load (internal/modules/cjs/loader.js:838:27)
    at Module.require (internal/modules/cjs/loader.js:1022:19)
    at Module._preloadModules (internal/modules/cjs/loader.js:1263:12)
    at loadPreloadModules (internal/bootstrap/pre_execution.js:439:5)
    at prepareMainThreadExecution (internal/bootstrap/pre_execution.js:71:3)
    at internal/main/run_main_module.js:7:1 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'internal/preload' ]
}
Добавлено через 22 минуты
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bot.on("message", async message => {
  if(message.author.bot) return;
  if(message.channel.type === "dm") return;
 
  con.query(`SELECT * FROM xp WHERE id = '${message.author.id}'`, (err, rows) =>{
    if(err) throw err;
 
    let sql;
 
    if(rows[0].guild !== message.guild.id){
      sql = `INSERT INTO xp (id, xp, guild) VALUES ('${message.author.id}', ${generateXp()}, '${message.guild.id}')`;
    }else{
      let xp = rows[0].xp;
      sql = `UPDATE xp SET xp = ${xp + generateXp()} WHERE id = '${message.author.id}' AND guild = '${message.guild.id}'`;
    }
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
27.12.2020, 21:12
flip4444w, вы запускаете бота через vscode? или как?

bot.js:84:16
вот это что за строка?
1
0 / 0 / 0
Регистрация: 27.12.2020
Сообщений: 4
27.12.2020, 21:17  [ТС]
JavaScript
1
if(rows[0].guild !== message.guild.id){
эта

Добавлено через 1 минуту
да через vscode
0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
27.12.2020, 21:17
flip4444w, понял, ошибка не в том что у message нет guild, а что в rows[0].guild нет, потому что вам на запрос возвращается пустой результат, и в массвие первого элемента просто нет. Можете вывести rows в консоль и увидеть что он пустой.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.12.2020, 21:17
Помогаю со студенческими работами здесь

Работа с голосовыми каналами в Discord (Discord.Net v 2.0.1)
Интересует вопрос о вызове аудиопотока в Discord и выгрузке в этот аудиопоток музыки. Попытки разобраться самостоятельно в этом вопросе...

Не работает get_user в Discord.py
Привет в сем решил написать бота и столкнулся с такой проблемой, client.get_user(id=owner_id) не работает на одном из каналов ...

Не работает библиотека Discord.py на MacOS
Не хочет запускаться библиотека Discord.py. Такая проблема есть только на маке, до этого сидел на линуксе и всё прекрасно работало. ...

Программист связка PHP+Mysql для дрработки SMPP сервера
Ищу программиста для доработки SMPP сервера, нужно доработать пару моментов, нужен опытный пхп разработчик. Рассчитываю на...

Discord.js не работает команда повторения текущий музыки
Хотелось бы реализовать команду повторения, но в интернете нашёл только такой код const utils = require('../global/utils'); const...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru