Добавить краш-бота в дискорд

Обновлено: 02.07.2024

Несомненно, вы сталкивались с ошибками при создании ботов. Хотя ошибки помогают предупредить вас о том, что происходит не так, многие люди озадачены ими и тем, как их отследить и исправить, но не волнуйтесь, мы вас обеспечим. Этот раздел посвящен диагностике ошибок, определению их источника и их устранению.

Пример: DiscordAPIError: Невозможно отправить пустое сообщение

Ошибки discord.js выдаются самой библиотекой. Обычно их легко отследить с помощью трассировки стека и сообщения об ошибке.

Пример: сообщения должны быть массивом, коллекцией или числом.

Ошибки JavaScript выдаются самим узлом или discord.js. Эти ошибки можно легко исправить, посмотрев на тип ошибки и трассировку стека. Вы можете найти полный список типов здесь

открыть в новом окне И список распространенных ошибок js здесь

Пример: ReferenceError: "x" не определен

Ошибки WebSocket и сети — это распространенные системные ошибки, которые Node выдает в ответ на какие-то проблемы с подключением WebSocket. К сожалению, эти ошибки не имеют конкретного решения и могут быть (обычно) исправлены путем получения лучшего, более стабильного и более надежного соединения. discord.js автоматически попытается повторно подключиться к WebSocket в случае возникновения ошибки.

В версии 12 ошибки WebSocket обрабатываются внутренне, что означает, что из-за них ваш процесс никогда не выйдет из строя. Если вы хотите регистрировать эти ошибки в случае их возникновения, вы можете прослушать событие shardError, как показано ниже.

Ошибки API можно отслеживать, добавляя прослушиватель событий для необработанных отклонений и просматривая дополнительную информацию. Это можно сделать, добавив это в ваш основной файл.

В следующий раз, когда вы получите сообщение об ошибке, в нижней части сообщения об ошибке будет показана информация, которая будет выглядеть примерно так, например:

Вся эта информация может помочь вам отследить причину ошибки и способы ее устранения. В этом разделе мы рассмотрим, что означает каждое свойство.

Самая важная часть ошибки — это сообщение. Он сообщает вам, что пошло не так, что может помочь вам отследить, где это происходит. Вы можете найти полный список сообщений здесь

открыть в новом окне в документации Discord API.

Другой полезной частью информации является путь, который сообщает вам, на какой конечной точке API произошла ошибка. Мы не можем охватить все конечные точки, но обычно они очень описательные.

В приведенном выше примере путь говорит о том, что действие было выполнено в области /channels/. Число, которое вы видите рядом, является идентификатором канала. Затем вы можете определить сообщение/область. Число снова является идентификатором объекта. В сочетании с методом GET можно сделать вывод, что бот пытался получить сообщение с идентификатором [object Object] из канала с идентификатором 638200642359525387 .

Как сообщается в сообщении об ошибке, [object Object ] не является допустимым идентификатором, так что теперь вы знаете, где искать ошибку! Узнайте, куда вы передаете объект в качестве идентификатора при попытке получить сообщение, и исправьте свой код в этом месте.

Код — это еще одно частичное представление сообщения, в данном случае Invalid Form Body . Полный список кодов можно найти здесь

Код также удобен, если вы хотите обработать только конкретную ошибку. Допустим, вы пытаетесь удалить сообщение, которое может быть, а может и не быть, и хотите игнорировать неизвестные ошибки сообщения. Это можно сделать, проверив код вручную или используя константы discord.js.

Или с помощью констант:

Вы можете найти список констант здесь

Последняя часть информации может многое рассказать вам о том, что вы пытались сделать с путем. Есть набор предопределенных ключевых слов, описывающих наши действия на пути.

В этом конкретном примере видно, что вы пытаетесь получить доступ к части данных, а именно к сообщению.

  • Неправильный импорт файла конфигурации или окружения
  • Копирование секрета клиента вместо токена бота (токен состоит из букв и цифр и состоит из трех частей, разделенных точкой, в то время как секрет клиента значительно меньше и состоит только из одной части)
  • Просто показать токен и скопировать его, вместо того чтобы нажимать кнопку "Создать заново" и копировать его.

До выпуска версии 12 существовала проблема, из-за которой токен имел неправильный префикс, что приводило к тому, что действительные токены помечались как недействительные. Если вы убедились, что все вышеперечисленное не так, убедитесь, что вы обновили discord.js до текущей стабильной версии.

Еще одна распространенная ошибка. Эта ошибка возникает из-за того, что клиент пытается выполнить действие, для которого требуется токен, но токен недоступен. Чаще всего это происходит из-за уничтожения клиента и последующей попытки выполнить действие.

Эта ошибка также вызвана попыткой использовать клиент, который не вошел в систему. Оба приведенных ниже примера вызовут ошибки.

Эта ошибка связана с вызовом MessageEmbed.addFields() со свойством имени объекта поля в виде пустой строки. Если вы хотите, чтобы заголовок был пустым по какой-либо причине, вы должны использовать пробел нулевой ширины, который можно ввести как \u2000.

В сочетании с предыдущей ошибкой эта ошибка является результатом вызова MessageEmbed.addFields() со свойством value объекта поля в виде пустой строки. Вы можете использовать пробел нулевой ширины, если хотите, чтобы это поле было пустым.

Эта ошибка возникает из-за недопустимого вызова bulkDelete() . Убедитесь, что вы вводите допустимый массив или коллекцию сообщений или допустимый номер.

Еще одна распространенная ошибка. Эта ошибка возникает из-за того, что клиент запрашивает членов из API через WebSocket, а фрагменты элементов не поступают вовремя и вызывают тайм-аут. Наиболее распространенной причиной этой ошибки является плохое соединение; однако это также может быть вызвано привлечением большого количества участников, превышающего 50 тысяч. Чтобы это исправить, запустите бота в месте с лучшим интернетом, например на VPS. Если это не сработает для вас, вам придется вручную изменить жестко запрограммированный тайм-аут выборки членов в исходном коде.

Эта ошибка вызвана созданием большого количества прослушивателей событий, обычно для клиента. Наиболее распространенной причиной этого является вложение прослушивателей событий вместо их разделения. Чтобы исправить эту ошибку, убедитесь, что вы не вкладываете свои слушатели; не следует использовать emitter.setMaxListeners(), как предполагает ошибка.

Вы можете отлаживать эти сообщения разными способами:

Эта ошибка возникает, когда бот пытается отправить сообщение DM пользователю, но не может этого сделать. Этому способствуют самые разные причины:

  • Бот и пользователь не принадлежат к одной гильдии (часто люди пытаются отправить сообщение в личку пользователю после того, как его кикают или банят).
  • Бот пытается отправить сообщение другому боту.
  • Пользователь заблокировал бота.
  • Пользователь отключил прямые сообщения в настройках конфиденциальности.

В случае последних двух причин ошибку нельзя предотвратить, так как Discord API не позволяет проверить, можете ли вы отправить пользователю сообщение, пока вы не попытаетесь его отправить. Лучший способ справиться с этой ошибкой — добавить .catch(), где вы пытаетесь dm пользователя и либо игнорируете отклоненное обещание, либо делаете то, что хотите из-за этого.

Эта ошибка обычно выдается вашей системой из-за того, что она не находит git . Вам необходимо установить git или обновить путь, если git уже установлен. Вот ссылки для скачивания:

  • Ubuntu/Debian: sudo apt-get install git
  • Windows: git-scm

Эта ошибка обычно выдается вашей системой в ответ на неожиданное закрытие процесса. Обычно это можно исправить очисткой кеша npm и удалением node_modules. Инструкции для этого таковы:

Ну, есть действительно отличный бот, но его размещение — головная боль. Я всегда пытался разместить этого бота бесплатно простым способом, но, в конце концов, вы просто сдаетесь.

Что ж, у меня есть для вас способ, с помощью которого вы можете бесплатно разместить бота Red Discord на repl.it!

Для этого просто перейдите на домашнюю страницу и создайте новый Python REPL.

Готово с этим, теперь нажмите кнопку запуска вверху! Теперь пройдите процесс начальной настройки:

  • Он запросит у вас имя экземпляра: введите любое имя для вашего бота.
  • Затем он запросит путь к данным, просто скажите "Да".
  • После этого вам будут предложены два варианта: один – JSON, а другой – PostgreSQL. Выберите JSON, введя 1.

Обратите внимание, что порядок заполнения этих значений может измениться в любое время, поэтому прочитайте написанное и сопоставьте его с указанным выше шагом

Теперь, когда вы закончите с этим, просто снова откройте файл bot.sh, удалите все и замените этим:

Пожалуйста, измените имя на имя, которое вы ввели для бота на шаге 1.

Теперь снова нажмите кнопку запуска, теперь бот спросит вас о токене бота. Чтобы сделать это руководство короче и читабельнее, НАЖМИТЕ ЗДЕСЬ, чтобы получить инструкции о том, как получить токен Discord бота.

Когда вы закончите с токеном, вставьте его в консоль repl, после чего он запросит у вас префикс бота. Введите нужный префикс. Не волнуйтесь, мы можем изменить это позже!

Теперь вы увидите, что ваш бот запускается. ЕСЛИ вы еще не пригласили бота, просто нажмите на ссылку, которую дает вам консоль, чтобы бот пригласил бота на ваш сервер.

Теперь мы закончили с ботом разногласий, теперь нам нужно только поработать над ботом, чтобы он работал круглосуточно и без выходных. Поскольку redbot не хранит никаких данных в реплике, к сожалению, вы не можете создать сервер поддержки активности! Но подождите! Я здесь для вас.

Просто введите эту команду, чтобы загрузить модули бота.
[p]загрузить псевдоним администратора аудиобанк очистка загрузчик customcom экономика фильтр общее изображение мод modlog отключает разрешения отчеты потоки викторины предупреждения

Это загрузит все винтики для бота. Замените [p] префиксом, который вы ввели для бота при его запуске.

После этого введите эту команду на сервере или в dms бота:

После этого вам будет предложено подтвердить установку стороннего репозитория. Просто введите Я согласен.

Затем введите следующие команды:

Теперь, когда вы зайдете в свою реплику, вы увидите, что бот установил веб-сервер в вашей реплике.


Пришло время заняться роботом безотказной работы! Это очень просто!

Опять же, чтобы сделать это руководство кратким, ЩЕЛКНИТЕ ЗДЕСЬ, чтобы получить подробное руководство по настройке uptimerobot. Спасибо, что потратили свое время на чтение этого руководства. Если вам нужна помощь, присоединяйтесь к этому серверу и свяжитесь с YellowBanana, чтобы получить помощь! Спокойствие :)

Discord – это отличный способ существования с друзьями, но он не будет длиться вечно.

пожалуйста, наслаждайтесь дискордом, пока он

Вы когда-нибудь оплакивали бота? Мы с друзьями узнали, что это такое на прошлой неделе, когда Google убил Groovy, самого популярного музыкального бота в Discord.

Groovy – это бесплатное дополнение для серверов, которое могло принимать поисковый запрос для любой песни, присоединяться к голосовому каналу, на котором вы находитесь, и мгновенно начинать ее воспроизведение. Это было действительно так просто — полезный маленький бот, который подключается к голосовому каналу, как и любой другой пользователь, чтобы проигрывать музыку — но, честно говоря, для нас это было нечто большее. Больше года у нас на маленьком сервере был Groovy, мы ласково переименовали его в Broovy. Мы благодарили его за то, что он нашел на YouTube особенно малоизвестную песню, подбадривали его, когда он давал сбои и смущенно покидал канал, и переводили его на наш активный канал, если он сидел в полном одиночестве.

Бруви был нашим тихим другом, который всегда был рядом, чтобы скрасить игровой вечер. А 30 августа он тихо скончался.

Компании Google не понравилось то, как создатели Groovy использовали YouTube, заявив, что они "модифицировали сервис и использовали его в коммерческих целях". Это правда: часть того, что сделало Groovy таким популярным (более 16 миллионов загрузок), заключается в том, что это был 100% бесплатный способ прослушивания музыки. Если это на YouTube, Spotify или Soundcloud, это на Groovy. Вам даже не нужно было смотреть рекламу, что, вероятно, и было главной проблемой Google.

В тот день, когда Groovy должен был закрыться, мы, как обычно, слушали мелодии и полушутя говорили о похоронах, но тут к нам подкралась полночь. Около часа ночи мы отправили последний запрос в Broovy, но не получили ответа.

Слишком хорошо, чтобы продолжаться

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

Разногласия могут быть разными для разных людей. Для некоторых сервер Discord — это современный форум, где собираются сотни или тысячи пользователей, интересующихся одной темой. Для многих из нас серверы — это интимные места, где находится не более дюжины близких друзей. У многих есть сочетание того и другого или регистрация на дюжине серверов в день. Discord также становится все более надежным сервисом обмена мгновенными сообщениями и телеконференций один на один с поддержкой камеры, захватом экрана и обменом файлами. Это много делает.

Я состою на нескольких серверах, на которые редко захожу, но в последнее время я работаю в Discord на одном сервере с близкими друзьями, которые у меня были со школы. Каждую ночь мы часами тусуемся, играем в игры и смотрим разные вещи вместе. Независимо от того, чем мы занимаемся, мы почти всегда делимся своими экранами. Процесс переключения на голосовой канал и обмена тем, что вы видите, происходит так быстро, легко и без задержек, что действительно кажется, что мы все находимся в одной комнате.

Если бы я хотел пообщаться в Интернете с теми же друзьями 10 лет назад, варианты были либо плохими, либо неинтуитивными. Ventrilo и Teamspeak работали, но настройка была слишком сложной для моих менее технически подкованных друзей, а мобильные версии — отстой. Нет, мы, вероятно, закончим разговором друг с другом в зернистом, запаздывающем звонке по Skype, который прерывается каждые пять минут. Я содрогаюсь даже при мысли об этом.

Сегодня Discord позволяет мне делать так много, и все это бесплатно:

  • Общайтесь с любым количеством друзей с высоким качеством звука, практически без задержек и неограниченное количество времени.
  • Потоковая трансляция игр для любого на сервере в два клика, а также без задержек (каким-то образом)
  • Просмотр нескольких потоков одновременно с отдельными ползунками громкости (опять же, без задержек)
  • Создавайте практически неограниченное количество текстовых чатов с архивами за несколько лет
  • Делитесь небольшими файлами с друзьями
  • Включите ботов, которые, среди прочего, могут транслировать музыку для всех.
  • О да, все это работает и на телефонах, включая потоковое видео и захват экрана.

Как именно это вычисляется?В 2021 году вы не сможете прокручивать социальные каналы, такие как Instagram, TikTok или Twitter, не наткнувшись на платные продвигаемые посты. YouTube и Twitch предлагают новые способы интеграции рекламы во все уголки сервиса. В Discord ничего этого нет.

Даже сервисы, очень похожие на Discord, не могут предлагать такие же возможности бесплатно. Предшественники Discord, такие как Ventrilo, Teamspeak и Mumble, являются бесплатным программным обеспечением, но вы должны заплатить кому-то за размещение сервера или настроить его самостоятельно. Slack, широко используемый инструмент для общения, ориентированный на компании, взимает плату за такие базовые функции, как архивирование сообщений. На прошлой неделе я пытался транслировать видеоклип через Google Hangouts для работы и получил прерывистый, несмотримый беспорядок. Той же ночью я транслировал последние лучшие моменты наших матчей Hunt: Showdown с друзьями, и это было очень гладко.

Итак, Discord — это просто чудо-программа, которая делает все, что вы хотите, и ничего не требует взамен? Каким бы невозможным это ни казалось, да, это так. Дискорд буквально слишком хорош, чтобы быть правдой, и это меня напрягает!

Изнурительные правила капитализма говорят мне, что Discord не будет продолжать предлагать лучшее приложение для чата и потоковой передачи без надежного платного доступа где-нибудь в будущем. Я предполагаю, что его нынешняя траектория не совсем устойчива, поэтому, вероятно, есть какой-то более масштабный план.

Что это будет, Дискорд? Вы собираетесь брать 15 долларов за Go Live? Ограничить время голосового чата? Продать мои голосовые данные компании, которая создает убедительный человеческий ИИ, который однажды будет править миром?

Или, что еще хуже, купить Comcast? Я просто продолжаю щипать себя, нервничая из-за того дня, когда реальность рухнет.

Будущее

Сейчас у Discord есть несколько способов заработать деньги. Вы можете стать подписчиком Nitro за 10 долларов в месяц, чтобы разблокировать дополнительные привилегии, такие как причудливые смайлики, значки профиля и потоковое видео 4K. Участники Nitro также могут «прокачивать» серверы, чтобы разблокировать привилегии для всех на сервере. Большинство привилегий сервера — это небольшие косметические бонусы, но поскольку мы так много транслируем игры, мы платим базовую плату Nitro, чтобы разблокировать потоковую передачу 1080p/60 кадров в секунду.

Учитывая, что некоторые из крупнейших серверов Discord имеют сотни бустов, Discord может получать неплохую сумму от подписок Nitro. Но я думаю, что прямой доход от бустов меркнет по сравнению с затратами на содержание миллионов серверов Discord, которые пользуются неограниченным потоковым видео и голосовым чатом. Также было время, когда Discord открывал в приложении магазин цифровых игр, заключал сделки на эксклюзивы, а через год закрыл его. Discord — это частная компания, которая, конечно же, хранит свои финансы в тайне, поэтому мы не можем точно знать, насколько полна ее казна прямо сейчас.

Нам известно, что еще в марте Microsoft рассматривала возможность приобретения Discord. Этой сделки не произошло, но это говорит о том, что компания открыта для приобретения, поскольку она продолжает привлекать огромную аудиторию, которая любит ее использовать. Это обычное дело для интересных новых технологических компаний:

  1. Сделана крутая вещь
  2. Компания предлагает вещь с минимальными условиями, пока она становится популярной.
  3. Компания становится публичной или ее покупают
  4. Приоритеты смещаются, как правило, в сторону прибыли.

Сейчас мы все еще находимся на этапе 2 с Discord. Это действительно интересный шаг! Все хорошее в сервисе бесплатное, и я бы ничего не стал менять. Но капитализм имеет свойство со временем ухудшать хорошие вещи, поскольку компании прибегают к новым и изобретательным способам взимать плату за то, что мы раньше получали бесплатно.

Если дело не в деньгах, то в собственности. Поскольку Discord становится мейнстримом, трудно не беспокоиться о том, что кончина Groovy — это только первый залп. Вам нужно только взглянуть на продолжающуюся борьбу YouTube и Twitch с претензиями на цифровые права, чтобы увидеть, как быстро сервис может деградировать перед лицом разгневанных юристов. Достаточно малейшего намека на нарушение прав, и ваше видео или прямая трансляция будут стерты с лица земли.

Discord начинался как приложение для чата, но с тех пор, как в 2019 году появилась кнопка "Начать прямой эфир", потоковая передача стала для приложения столь же важной, как и общение. Один только мой маленький сервер транслирует десятки часов видео в неделю. Мы смотрим, как друг друга играют в игры, но самый сокровенный секрет Discord заключается в том, насколько это потрясающе для просмотра. ну, что угодно с друзьями. Недавно я закончил «Во все тяжкие» с другом, который никогда его не видел, и нам не понадобилось приложение для вечеринок. Этот уровень гибкости — невероятная свобода, которую я не считаю само собой разумеющейся, но я также не хочу, чтобы она была разрушена, так что, знаете ли, мама это слово.

Трансляция телешоу для шести друзей на частном сервере Discord отличается от трансляции для всего Twitch, но я не уверен, что это различие будет иметь значение для тех, у кого есть сила щелкнуть кнутом.В прошлом году Discord сообщил Gamespot, что потоковая передача контента, защищенного авторским правом, «прямо запрещена», но не похоже, чтобы компания активно соблюдала эту политику. Законность потокового мультимедиа для друзей в небольших группах еще не была должным образом проверена в судах, так что пока мы спокойно блуждаем в серой зоне.

Послужной список Discord по внедрению трансформирующих многофункциональных функций, таких как Go Live, использование ботов со сторонними функциями и очевидная терпимость к пользовательским темам и плагинам создают впечатление подпольного, чрезвычайно партизанского проекта для ПК. Но это не так, и никогда не было. Это технологический стартап из Сан-Франциско, подпитываемый сотнями миллионов долларов венчурного капитала. Однажды его инвесторы захотят вернуть все эти деньги, и это станет началом конца Old Discord.

Смерть не будет такой внезапной, как в ту ночь, когда Groovy перестал отвечать на наши звонки, но она будет не менее болезненной. Так что, пожалуйста, наслаждайтесь Discord, пока он еще хорош.

Морган пишет для PC Gamer с 2018 года, сначала как фрилансер, а сейчас как штатный писатель. Он также появлялся на Polygon, Kotaku, Fanbyte и PCGamesN. Прежде чем стать фрилансером, большую часть средней школы и всего колледжа он писал на небольших игровых сайтах, которые ему не платили. Он очень счастлив, что теперь у него есть настоящая работа. Морган — автор битов, следящий за новейшими и лучшими шутерами и сообществами, которые в них играют. Он также пишет общие новости, обзоры, статьи, периодические руководства и плохие шутки в Slack. Выверни ему руку, и он даже напишет о скучной стратегической игре. Но не надо.

Один из способов начать работу с Discord API — написать простого пинг-понг-бота. Этот бот будет реагировать на простую команду «ping». Позже мы расширим его, чтобы создать более разнообразные команды, но сейчас это хорошая отправная точка.

Создание Discord-бота

Прежде чем написать своего бота, необходимо сначала создать учетную запись бота через портал приложений Discord.

  1. Посетите портал приложений Discord.
  2. Создайте новое приложение.
  3. Дайте приложению имя (это будет исходное имя пользователя бота).

Слева в разделе "Настройки" нажмите "Бот" .

Шаг 4
< /p>

Нажмите "Добавить бота" .

Шаг 5
< /p>

Подтвердите всплывающее окно.

(Необязательно) Если этот бот будет общедоступным, отметьте «Общедоступный бот» .

Шаг 7
< /p>

Добавление бота на сервер

Боты не могут использовать ссылки-приглашения; они должны быть явно приглашены через поток OAuth2.

Слева в разделе "Настройки" нажмите OAuth2 .

Шаг 2
< /p>

Прокрутите вниз до Генератора URL-адресов OAuth2 и в разделе Scopes установите флажок bot .

Шаг 3
< /p>

Прокрутите вниз до раздела «Разрешения для бота» и выберите разрешения, которые вы хотите назначить своему боту.

Это назначит боту специальную "управляемую" роль, которую никто другой не сможет использовать. Разрешения можно изменить позже в настройках ролей, если вы когда-нибудь передумаете!

Откройте сгенерированный URL-адрес авторизации в браузере.

Нажмите "Авторизовать".

В этом списке будут представлены только серверы, для которых у вас есть разрешение MANAGE_SERVER.

Шаг 6

Подключение к Discord

Асинхронный

Чтобы установить асинхронный контекст, мы создадим асинхронный основной метод в вашем консольном приложении.

В результате ваша программа запустится в асинхронном контексте.

Предупреждение

Если ваше приложение генерирует какие-либо исключения в асинхронном контексте, они будут создаваться вплоть до первого неасинхронного метода; поскольку наш первый неасинхронный метод — это метод Main программы, это означает, что все необработанные исключения будут выброшены туда, что приведет к сбою вашего приложения.

Создание метода ведения журнала

Чтобы обеспечить независимую поддержку как можно большего числа поставщиков журналов, мы регистрируем информацию через событие журнала с собственным параметром LogMessage. См. документацию API для этого события.

Если вы используете собственную структуру ведения журналов, вызовите ее здесь. Для простоты мы будем входить только в консоль.

Вы можете узнать больше об этой концепции в разделе Регистрация событий/данных.

Создание клиента Discord

Наконец мы можем создать новое подключение к Discord.

Поскольку мы пишем бота, мы будем использовать DiscordSocketClient вместе с объектами сокетов. См. Терминология, если вы не уверены в различиях. Чтобы установить новое соединение, мы создадим экземпляр DiscordSocketClient в новом асинхронном файле main. При необходимости вы можете передать необязательный DiscordSocketConfig. Большинству пользователей подойдет значение по умолчанию.

Далее вам нужно будет «войти в Discord» с помощью метода LoginAsync с «токеном» приложения.

Token

Обратите внимание на то, что вы копируете с портала разработчика! Токен — это не то же самое, что «клиентский секрет» приложения.

Теперь мы можем вызвать клиентский метод StartAsync, который запустит логику подключения/повторного подключения. Важно отметить, что этот метод вернется, как только будет запущена логика соединения! Любые методы, которые полагаются на состояние клиента, должны быть включены в обработчик событий. Это означает, что вы не должны напрямую взаимодействовать с клиентом, пока он не будет полностью готов.

Наконец, мы хотим заблокировать возврат основного асинхронного метода при запуске приложения. Для этого мы можем дождаться бесконечной задержки или любого другого метода блокировки, например чтения из консоли.

Важно

Токен вашего бота можно использовать для получения полного доступа к вашему боту, поэтому никому не передавайте этот токен! Вам следует хранить этот токен во внешнем источнике, если вы планируете распространять исходный код своего бота.

В следующем примере мы извлекаем токен из предопределенной переменной, что НЕ является безопасным, особенно если вы планируете распространять приложение в любой форме или форме.

Мы рекомендуем альтернативное хранилище, такое как переменные среды, внешний файл конфигурации или менеджер секретов для безопасного обращения с секретами.

Теперь можно добавить следующие строки:

Сейчас вы можете запустить свою программу и увидеть, как ваш бот подключается к сети в Discord.

Предупреждение

Получено предупреждение о том, что предоставленный токен недействителен. и/или проблемы со входом? Дважды проверьте, правильно ли вы ввели учетные данные, и убедитесь, что это не секрет клиента, который отличается от токена.

Предупреждение

Для ознакомления вы можете просмотреть завершенную программу.

Для справки просмотрите аннотированный пример этой структуры.

Важно знать, что рекомендуемый шаблон проектирования ботов должен заключаться в разделении.

Читайте также: