Не запускается discord bot client
Итак, я уже некоторое время размещаю своего бота на heroku, и он работал нормально, но я недавно перешел, временно, на самостоятельный хостинг, потому что мне пришлось обновиться до discord.js v13, но теперь я закончил с изменениями , и я попытался повторно разместить бота на heroku, но он выдает следующую ошибку:
Я не понимаю, что происходит, единственное изменение, которое, как я думаю, могло вызвать это, - это тот факт, что я создал обработчик событий и теперь помещаю события в свои собственные файлы, такие как команды, но я не уверен, есть ли что-то для этого. сделайте с этой ошибкой, я действительно надеюсь, что вы можете помочь.
2 ответа
Недавно я тоже столкнулся с этой ошибкой.
Discord.js версии 13 работает на узле 16.6.1 , однако версия узла Heroku по умолчанию - 14.x .
Это означает, что мы должны указать версию, на которой мы хотим, чтобы Heroku построил наше приложение.
В package.json добавьте
Это указывает для пакета сборки, что нам нужно использовать последнюю версию узла 16 и npm 7.
Однако после того, как я это добавил, я обнаружил ошибку развертывания и обратился к этому вопрос о переполнении стека
В ответе говорилось, что нужно добавить пустой файл ".npmignore" в вашу корневую папку, что я и сделал. Однако после того, как все было отправлено на Github, я все еще получал ту же ошибку развертывания.
Говорилось, что файл «node.exe» во временном каталоге отсутствует. После некоторых проб и ошибок я решил зафиксировать и поместить каталог «node_modules /» в Github (это заняло некоторое время), потому что (извините, я не копировал журналы сборки) файл «node.exe» находился в каталог "node_modules /", а затем повторно развернул мое приложение, и это сработало!
В общем, это была поездка туда и обратно, потому что я не знаю, делает ли что-нибудь файл ".npmignore" (прокомментируйте, если я ошибаюсь!).
- Добавьте спецификаторы движка в package.json
- Добавьте .npmignore в корневой каталог (на ваше усмотрение, если вы хотите его добавить)
- Зафиксируйте и отправьте папку модулей узлов на страницу Github.
- Развернуть через Github
К вашему сведению: я не знаю, работает ли это на Heroku Git . скажите мне в комментариях, работает ли это.
Проблема с местоположением сервера
Давайте попробуем разобраться, что происходит по ту сторону, когда мы отправляем какую-то команду боту. Разумеется, боты работают на стороне сервера, а не на стороне компьютера клиента, иначе они бы отключались для всех, если один из пользователей выключал компьютер.
Каждый бот привязан к какому-то приложению, которое располагается на физическом сервере. Где находится этот сервер, знать не обязательно. Потому что сначала ваш клиент Дискорда обращается к главному серверу Дискорда, а тот, в свою очередь, проверяет по собственным базам и находит локацию сервера бота. Впрочем, это все тонкости, которыми не владеют даже некоторые разработчики этих самых ботов.
Собственно, от теории к проблеме. Сбой может произойти на трех уровнях:
- На уровне клиента. Если компьютер не может обратиться к сервакам Дискорда. Впрочем, в таком случае оффлайн были бы все боты, да и сам клиент не запускался.
- Сервер Discord не может найти бота и обратиться к нему. На вашей стороне это не особо заметно, а вот надпись: «Бот не онлайн» обеспечена.
- Приложение на удаленном компьютере, которое должно было реагировать на ваши команды, не работает. Его может выключить как разработчик, так и владелец хостинга. В крайнем случае, хостинг может просто упасть либо информация о нем исчезла из базы.
По сути, в любой из этих ситуаций остается только ждать, пока будет налажена связь. Лучшее, что может сделать пользователь, так это обновить Дискорд. И то, вероятность, что это поможет, минимальна.
Лагает сам бот
Как мы уже говорили, всеми любимые боты – это обычные программы на удаленном компьютере. Представьте, что к одной программе одновременно обращается десяток пользователей. А что, если этих пользователей сотни? Так вот, в таком случае программа не успевает отвечать всем и переходит в привычный для пользователей Windows режим «Не отвечает». Правда, боты обычно находятся на Linux, там это происходит немного иначе.
Следственно, либо бот перестанет отвечать на запросы, либо просто выйдет из сети. В таком случае снова придется только ждать случая, когда нужный функционал отвиснет и будет доступен для всех участников. Кстати, некоторые разработчики на своих сайтах оставляют статус активности их приложений. Там каждый человек может посмотреть, в сети ли бот или нет.
Лагает сам Дискорд
- Перезапустить компьютер, а после запустить приложение от имени администратора. Перезапуск нужен для удаления некоторых временных файлов и прерывания всех процессов.
- Почистите компьютер от мусора. Для этого подойдет как встроенный cleanmgr (введите это название в поиск и откройте первый найденный результат), так и устанавливаемый Ccleaner. В случае с последним неплохо было бы почистить и реестр.
Вот и все. Подытоживая, починить bot-а довольно трудно на стороне пользователя (клиента). Единственное, что остается делать, так это ждать.
DISCORD часто выдает ошибки, вылетает или вообще не желает запускаться на компьютерах своих пользователей. Благо, существует несколько способов решения всех проблем, о них сегодня мы и поговорим.
Не запускается Дискорд из за упавших серверов
Взлом аккаунта
Если же Дискорд не заходит на моменте авторизации, то скорее всего, у вас украли аккаунт. Чтобы решить эту проблему, можно сбросить пароль на моменте входа или написать в техническую поддержку на официальном сайте разработчиков.
Частые и быстрые решения в запуске Дискорда
Некоторые решения не требуют от пользователя лишних действий, и при этом они часто помогают.
Завершение всех процессов программы
Часто сбои происходят на уровне поломанных процессов самой программы. Неправильный выход из Дискорда или случайное завершение части из них могут помешать дальнейшему запуску. Для чистки процессов потребуется нажать правой кнопкой мыши по панели задач. В ней кликаем по пункту «Запустить диспетчер задач».
Уже в открытом окне находим процессы программы. Они обозначены описанием «Discord». Их можно удалить из памяти, нажав на них и кликнув «Завершить процесс» или нажав «Delete» на клавиатуре. Подтверждаем действия.
Обязательно проверяем, не осталось ли процессов в памяти после удаления.
Запуск от имени администратора
В особенности, если у вас запуск программы происходит через ярлык на рабочем столе, этот способ может помочь. Ошибка в таком случае происходит из-за отсутствия полномочий для открытия системных файлов у некоторых компонентов программы. В общем, система мешает программе.
Способ можно комбинировать с прошлым.
Для решения проблемы просто нажимаем на открываемый файл правой кнопкой мыши и выбираем «Запуск от имени администратора».
Если легкие способы не помогли, можно перезагрузить компьютер. В принципе, это лишь перезагрузить процессы Дискорда, убрав их из памяти. Способ действенен для тех, у кого программа находится в автозагрузке.
Мелкие проблемы
Возможно у вас просто какие-либо проблемы, не связанные с самой программой.
Дискорд – популярная бесплатная площадка для общения между пользователями. Программу используют те, кто играет в различные игры – дискорд позволяет корректировать действия и общаться в режиме реального времени, что очень удобно. Администрация на тематических серверах может устанавливать специальные музыкальные боты для трансляции музыки. По ряду причин, такие боты могут лагать и плохо работать на сервере. Чтобы наладить их функционирование, следует выполнить несколько простых действий.
Проблема с местоположением сервера
Проблема трансляции музыки с помощью бота в Дискорде связана с местоположением. По ряду причин из – за этого могут не транслироваться музыкальные композиции, или же болт вовсе перестанет работать. Исправляется это изменением местоположение сервера.
Если лагает музыкальный бот в дискорде, то причиной для этого может стать то, что программа автоматически выбирает точку подключения при создании сервера. Если она подключилась к той региональной точке, с которой создан сервер, то программа будет нормально функционировать. Но из – за возникающих сбоев программа может подключиться к другой региональной точке, из – за чего возникнет сильная задержка, из – за которой невозможно нормально смотреть видео или слушать музыку. Соответственно, это вредит и работе бота.
Сделать это можно, следуя этой инструкции:
- Войти в программу Дискорд.
- Открыть вкладку «Параметры».
- Выбрать «Настройки сервера».
- Перейти в «Обзор».
- Откроется окно со значок с флагом. Нужно выбрать функцию «Изменить».
- Откроется окно «Выберите регшион сервера». Пользователю придется выбрать из списка регион, где он находится.
- После этого нужно сохранить изменения.
Выполнив эти действия, у пользователя изменится местоположение сервера. Если местоположение изначально выбрано правильно, но музыкальный бот отказывается работать, некоторые пользователи советуют изменить местоположение. К примеру, сервер привязан к Росии по умолчанию, но его местоположение нужно изменить на США. После этого бот будет нормально функционировать.
Если лагает бот с музыкой в дискорде, нужно:
- Войти в приложение, перейти на сервер.
- Найти нужный бот в списке.
- Щелкнув по нему правой кнопкой мыши и выбрать «Удалить».
- Нужно выбрать новый бот, и установить его.
- Установив бота на сервер он будет показан как новый пользователь. Администратору потребуется выдать роль роботу, если та не определилась автоматически.
- Ввести команду (для каждого бота она своя) для прослушивания музыки.
Если бот не играет музыку, то его перестановка может решить проблемы с зависанием.
Иногда причиной сбоя в работе бота является проблема в самом Дискорде. Причиной для появления сбоя может стать низкая скорость Интернет – соединения или же неверные настройки самого Дискорда.
Что делать в такой если бот не проигрывает музыку в Дискорде:
- Подождать или перезапустить программу. В большинстве случаев, сбой в Дискорде бывает временным.
- Проверить Интернет – соединение. Из – за никой скорости могут возникать сбои в работе.
- Переустановить Дискорд. Если же лаги не исчезают, а бот отказывается нормально работать, должна помочь перестановка программы.
- В некоторых случаях рекомендуется проверить, обновлены ли драйверы звуковой карты.
Дискорд – удобная платформа для общения, отличающаяся высокой оптимизацией. Однако, без сбоев и лагов в работе программы не удается обойтись. К счастью, устранить проблему с зависанием музыкального бота можно за считанные минуты.
Читайте также: