Discord handle что это
Unless your bot project is a small one, it's not a very good idea to have a single file with a giant if/else if chain for commands. If you want to implement features into your bot and make your development process a lot less painful, you'll want to implement a command handler. Let's get started on that!
Here's the base code we'll be using:
We'll be moving over the commands created in the previous page as well, but for the sake of keeping the base code short, the code block above omits those commands.
Before anything, you may want to create a backup of your current bot file. If you've followed along so far, your entire folder structure should look something like this:
In the same folder, create a new folder and name it commands . This is where you'll store all of your commands, of course. Head over to your commands folder, create a new file named ping.js , and copy & paste in the following code:
You can go ahead and do the same for the rest of your commands and put their respective blocks of code inside the execute() function. If you've been using the same code as the guide thus far, you can copy & paste your commands into their own files now, following the format above. The description property is optional but will be useful for the dynamic help command we'll be covering later.
module.exports is how you export data in Node.js so that you can require() it in other files. If you're unfamiliar with it and want to read more, you can look at the documentation
If you need to access your client instance from inside one of your command files, you can access it via message.client . If you need to access external files, modules, etc., you should re-require them at the top of the file.
Back in your main file, make these two additions:
fs is Node's native file system module. You can read the docs about it here
If you aren't exactly sure what Collections are, they're a class that extend JavaScript's native Map class and include more extensive, useful functionality. You can read about Maps here
(opens new window) , and see all the available Collection methods here
This next step is how you'll dynamically retrieve all your newly created command files. The fs.readdirSync()
(opens new window) method will return an array of all the file names in a directory, e.g. ['ping.js', 'beep.js'] . To ensure only command files get returned, use Array.filter() to leave out any non-JavaScript files from the array. With that array, you can loop over it and dynamically set your commands to the Collection you made above.
If there isn't a command with that name, you don't need to do anything further, so exit early with return . If there is, .get() the command, call its .execute() method, and pass in your message and args variables as its arguments. In case something goes wrong, log the error and report back to the member to let them know.
And that's it! Whenever you want to add a new command, you make a new file in your commands directory, name it what you want, and then do what you did for the other commands.
In the next chapter, we'll be going through how to implement some basic features into your brand new command handler. Currently, it's hardly a command "handler" at this point; it's a command loader and executor if you wish to see it that way. You'll learn how to implement some new features and the logic behind them, such as:
- Command aliases
- Cooldowns
- Guild only commands
- A dynamic help message
If you want to compare your code to the code we've constructed so far, you can review it over on the GitHub repository here
Для комфортной разработки ботов и специальных приложений уже давно используется прямое взаимодействие с Discord API. В этом случае для создания виртуальных ассистентов вовсе не требуется обладать полным кодом и понимать всю специфику работы приложения. Будет вполне достаточно использовать уже готовые инструменты, значительно упрощающие процесс разработки (как правило, применяются модули Node.js и Python). Также начинающим программистам помогут готовые коды, расположенные на популярных форумах. В общем, предлагаем разобраться с этой темой, остановившись на важных нюансах и особенностях.
Итоги
Теперь вы знаете, как получить HypeSquad в Дискорде, какие преимущества дает участие, и на какие значки вправе рассчитывать пользователи. Минус в том, что пока предоставление такого членства приостановлено. Но ситуация может измениться, поэтому необходимо периодических заходить на официальный сайт Discord или в программу для проверки возможностей.
Итоги
Зная, где найти ID в Дискорде, вы существенно упрощаете работу с программой и получаете дополнительные инструменты. Остается лишь использовать их по назначению и быть осторожным при передаче данных третьим лицам. Если возникают трудности с пользованием, изменением ID или другие вопросы, пишите в техподдержку и объясните ситуации.
Сегодня много вопросов задается по поводу вступления в сообщество Discord HypeSquad. Ниже рассмотрим, в чем его особенности, как вступить в группу, и какие возможности это дает.
Почему люди любят Discord
Ниже Вы можете прочитать несколько наших любимых историй о том, почему люди предпочитают Discord. Еще больше историй о том, как люди используют Discord можно найти прямо здесь .
Синди, мама двоих детей из Северной Каролины о том, как ее семья использует Discord:
«Нас четверо в семье, и у всех нас есть Discord, установленный как на наших компьютерах, так и на телефонах. Мой старший сын живет в квартире, а младший — в кампусе, поэтому мы используем Discord для составления семейных планов. Все это обсуждается на нашем сервере. От обеда до стажировок и предложений о работе. Часто мы просто отправляем друг другу какие-то смешные глупости,например, строчки из песен Cтранного Эла и т.д. Я уже не могу представить свою жизнь без Discord » .
Женевьев, ученица средней школы из Калифорнии о том, как в ее школе используют Discord:
«Последние два года я использовала Discord как основное средство общения с друзьями. У нас было слишком много людей в групповом школьном чате, и нам нужна была платформа, на которой мы могли бы общаться только с нашим классом. Discord — отличный способ всегда оставаться на связи для нашего класса из тридцати человек! Кроме того, благодаря дистанционному обучению, я начала использовать приложения для подготовки к экзамену по физике с другими учениками. Было так важно чувствовать связь с нашими учителями и друг с другом, когда мы находились в самоизоляции и должны были изучать такой сложный предмет. Использование Discord нас очень сблизило — мы часто шутим и отправляем друг другу мемы, и это помогает нам не чувствовать себя одинокими, находясь на дистанционном обучении. А различные тематические каналы и @упоминания значительно упрощают хранение и поиск нужной информации. Возможно делиться экраном делает этот процесс еще проще, так как мы можем показывать друг другу документы или проблемы, над которыми работаем, чтобы получить отзыв или совет по устранению проблем» .
Дэвид, преподаватель физики и математики из Нью-Джерси о том, как он обучает студентов и общается с другими учителями через Discord:
«Я использую Discord для подготовки одного из моих учеников, а также для того, чтобы быть в курсе новостей в общей группе учителей физики, заинтересованных в исследованиях, направленных на процесс обучения физики. Приятно видеть на экране, как мы работаем бок о бок с моим студентом. Мне также нравится чистый звук через кодек OPUS » .
Дискорд является удобным бесплатным онлайн мессенджером, который, благодаря своей простоте, функционалу и качественному управлению, стал очень быстро невероятно популярным.
Используют его довольно много пользователей по всему миру и их количество постоянно растет. Это и учащиеся различных вузов, и множество геймеров, и корпоративные работники. Софт невероятно популярен во всех сферах.
Прошлый материал был посвящен лучшим сервисам, которые позволяют изменить тональность онлайн. Сейчас мы рассмотрим, что представляет собой мессенджер Дискорд, зачем он нужен, кто им пользуется и основные особенности данного ПО.
Как правильно работать с api? Discord бот [закрыт]
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.
Закрыт 8 месяцев назад .
Начал учить программирование, а именно C++, создавая бота для Discord (C++ / libcurl). Суть проблемы в том, что посылать запрос я научился, но вот что делать с полученным json и как его парсить? Если не сложно, можете написать порядок действий для работы с api (отправка запроса и т.д)?
Полученный json нужно парсить. Да, это можно попробовать сделать прям ручками, используя функции find и подобные, но не для того, в json присылается.
Discord API – что это и где найти?
И начнем с того, что Discord API – это программный интерфейс приложения, обращение к которому напрямую значительно упрощает процесс разработки ботов. Как результат – программистам вовсе не нужно обладать полным доступом к исходному коду, а потребуется только использовать уже готовые инструменты. Благодаря этому удастся внедрить авторизацию через Дискорд на сайт, подключить любого помощника к серверу и даже создать приватный канал.
Discord?
Discord — это многим известный мессенджер, бесплатный до определённых пределов. Он позволяет без особых технических навыков построить коммьюнити по какой-то теме. В основном, конечно, это геймерские сообщества, именно так себя Discord и позиционирует — встроенная функциональность для трансляции игр и прочие навороты. Ими, впрочем, дело не ограничивается — на Хабре пробегали статьи про жизнь небольших контор в этом мессенджере, также там заседают алготрейдеры с «Реддита» и много кто ещё. В определённой степени эта популярность вызвана открытым API для написания ботов. Как правило, в любом сообществе администраторы создают 1–2 канала для совместного прослушивания музыки, игр в простые текстовые развлечения — атмосфера IRC начала нулевых.
В настоящий момент существует два API для ботов на этой платформе. Одно, ставшее классическим, основано на вебсокетах. Второе Discord открыл в конце 2020 года — и им можно пользоваться на чистом REST.
Изначально я наткнулся на статью про Python и AWS, но просто скопировать её было бы слишком скучно для понимания и погружения, поэтому пришлось читать документацию самостоятельно.
Что такое тег ID в Дискорд
Простыми словами, Дискорд тег — специальный набор символов, выполняющий роль идентификатора и позволяющий другим пользователям быстро находить интересующую информацию или участников. Знание этих ключей не обязательно, но их наличие может упростить работу в программе.
Discord tag присваивается почти всем элементам программы:
Способ получения информации во всех случаях индивидуален. Но для начала необходимо скачать программу на ПК или ноутбук, установить ее и войти под своими личными данными.
Возможности Discord
Заключение. Мессенджер для всех
Discord – это бесплатный VoIP-мессенджер с поддержкой публичных и приватных текстовых и голосовых чатов. Ранее он стал широко известен в геймерском сообществе, однако в последние годы всё чаще используется для рабочих и учебных целей. Он предоставляет широкие возможности для общения, в том числе для проведения видеоконференций.
Discord поддерживает как текстовые, так и голосовые каналы, каналы с объявлениями и каналы-магазины. Мессенджер доступен в виде приложения для ПК, приложения для мобильных устройств и браузерной версии.
Apix-Drive — универсальный инструмент, который быстро упорядочит любой рабочий процесс, освободив вас от рутины и возможных денежных потерь. Опробуйте ApiX-Drive в действии и убедитесь, насколько он полезен лично для вас. А пока настраиваете связи между системами, подумайте, куда инвестируете свободное время, ведь теперь его у вас будет гораздо больше.
Преимущества Discord
Почему Discord стал таким популярным и быстро набирает аудиторию пользователей? Из-за ряда преимуществ, а именно:
HypeSquad — что это такое
Для начала рассмотрим, что такое Hype Squad Discord. Это специальная группа представителей игрового сообщества, занимающихся вопросами поддержки Дискорд. Для участия необходимо подать заявку на официальном сайте и получить одобрение со стороны администрации. В случае одобрения пользователи получают специальные значки и дополнительные преимущества.
История Discord
Discord – это бесплатная программа-мессенджер с поддержкой текстовых чатов, приватных и групповых аудио-видеозвонков. Доступна в виде настольного приложения для ПК (Windows, MacOS, Linux), веб-клиента и мобильного приложения (Android, iOS).
Мессенджер Discord был выпущен в 2015 году американской IT-компанией Hammer&Chisel. Изначально разработчик собирался создать компьютерную игру, однако в процессе планы изменились и финальным продуктом стало приложение-чат для геймеров, которое получило название Discord.
В ходе разработки компания стремилась выпустить такое VoIP-приложение, которое бы идеально подходило для киберспорта и игровых стримов. Главным ориентиром для нее являлись стабильности и скорость онлайн-общения в голосовых и видеочатах с быстрым соединением и минимальными задержками.
Изначально в приложении были доступны только текстовые чаты и аудиозвонки, а в 2017 году к ним добавились видеочаты и видеоконференции, численностью до 50 участников. В том же году появилась платная версия программы под названием Discord Nitro, предоставляющая пользователям ряд дополнительных возможностей.
К началу 2021 года количество активных пользователей Discord превысило отметку 140 миллионов. С учетом растущей популярности, руководство проекта решило переориентироваться на массового потребителя. Глава компании Джейсон Цитрон заявил, что хотел бы избавить Discord от репутации узкоспециализированного мессенджера для геймеров, сделав его более универсальным – подходящим не только для игр, но также для работы, учебы и других целей.
Перспективный мессенджер привлек внимание крупнейшей IT-корпорации Microsoft. На конец марта 2021 года в сети появилась информация о том, что представители Microsoft начали переговоры с руководством Discord о его покупке за 10 миллиардов долларов. При этом вероятность этой сделки пока остается неопределенной, так как вместо продажи основатели проекта, вероятно, захотят вывести компанию на биржу и сделать ее публичной.
Итоги
Главный вопрос, который может возникнуть при прочтении: «Зачем?».
Иногда нужен контроль, иногда страшно, что функция слишком бодро масштабируется, иногда есть виртуалка, на которой вполне хватит места на ещё-один-докер-с-js-процессом-внутри. Но рано или поздно за этим придётся следить — переносить процесс, данные, добавлять мониторинг, обновлять систему, наконец. Serverless-подход несложен в использовании, не требует ухода после деплоя и очень дёшев при небольших/нечастых нагрузках для домашних проектов.
Кстати, про «дёшево» — это, как правило, второй возникающий вопрос. Посчитаем по прайсу.
При тарификации вычислительных ресурсов (ГБ × час) учитывается объём памяти, выделенный для функции, и время выполнения функции.
На июль 2021 г. 1 миллион вызовов стоит 10 ₽, ГБ*час стоит 3,42 ₽, а исходящий трафик — 0,96 ₽ за гигабайт.
Среднее оплачиваемое время выполнения этих функций (из отчёта Yandex Cloud):
Медленная функция: 1200 мс
Быстрая: 200 мс
Итого: 1,4 с на обработку одного запроса.
Прикинем стоимость миллиона котиков:
3,42 × (128 / 1024) × (1200 / 3600 / 1000) × 1 000 000 + 10 × (1 000 000 / 1 000 000) = 152,5 ₽
Но — приятный подарок — первый миллион запросов, первые 10 ГБ × час в месяц и первые 10 ГБ исходящего трафика не тарифицируются.
Из моей личной практики (на канале в 400 человек, где у бота есть клуб преданных фанатов): он ни разу не вышел в платный режим. Даже с учётом вакханалии на 1 апреля, когда он показывал, а затем оперативно удалял чуть-чуть NSFW-шные картинки, которые «случайно» попали в его базу.
Для меня это уже не первый раз, когда Serverless-решение оказалось дешевле, но главное — гораздо проще в поддержке , чем стандартный подход.
Неважно, что вы делаете — планировщик задач, торгового бота или такой проект на коленке, — прежде чем писать ещё_один_демон_за_которым_надо_следить, подумайте, возможно Serverless подойдёт вам больше.
Discord — это бесплатное приложение для голосового, видео и текстового общения, которым пользуются десятки миллионов людей от 13 лет, чтобы общаться с друзьями и участниками сообществ.
Несмотря на то, что изначально мы создавали Discord для игрового сообщества, его аудитория на сегодняшний день намного разнообразнее. Ежедневно люди используют Discord для самых разных целей: от обсуждения художественных проектов и семейных поездок до проверки домашних заданий и организации психологических консультаций. Discord открыт для сообществ самых разных размеров, но наиболее широко используется небольшими активными группами людей для ежедневного общения.
Большинство серверов являются частными, куда можно попасть только по приглашению и где друзья и участники сообществ могут общаться и проводить время вместе. Существуют и более крупные и открытые сообщества, обычно сосредоточенные вокруг определенных тем, например, популярных игр, таких как Minecraft и Fortnite. Здесь люди могут общаться о чем угодно и свободно делиться своим опытом использования Discord.
Люди любят Discord, потому что он является общим домом для их друзей и сообществ, в которых они состоят. Это место, где можно быть самим собой и проводить время с людьми, разделяющими их интересы и увлечения. Здесь нет алгоритма, определяющего, что именно они должны видеть, нет бесконечной прокрутки и новостной ленты. Общение в Discord основано именно на общих интересах.
Как геймерский чат стал одним из самых популярных мессенджеров?
Еще несколько лет назад Discord был известен исключительно в узких кругах: как специализированная программа-чат для геймеров. Первую волну популярности он получил среди киберспортсменов и стримеров на Twitch. Однако вскоре его известность вышла за пределы геймерского сообщества и стала более массовой.
На сегодняшний день сервис всё чаще используется не только как средство общения в играх, но и для других целей — прежде всего, деловых и учебных. Итак, что же представляет собой Discord, что сделало его популярным, какие у него есть преимущества и недостатки, а также кому и чем он будет полезен.
Как узнать ID сервера
Иногда бывают ситуации, когда нужно узнать ID сервера Дискорд. Этот процесс также не вызывает трудностей и проходит в несколько этапов:
- Войдите в софт Discord.
- Найдите с левой стороны доступные серверы (размещены вертикально в виде круглых иконок).
- Жмите правой кнопкой мышки по названию.
- Войдите в раздел Настройки сервера , а там выберите Виджет .
- Найдите строку ID сервера.
- Жмите на кнопку Копировать .
Как видно из приведенной инструкции, узнать айди Дискорд-сервера — вопрос двух-трех минут.
Discord API – что это и где найти?
И начнем с того, что Discord API – это программный интерфейс приложения, обращение к которому напрямую значительно упрощает процесс разработки ботов. Как результат – программистам вовсе не нужно обладать полным доступом к исходному коду, а потребуется только использовать уже готовые инструменты. Благодаря этому удастся внедрить авторизацию через Дискорд на сайт, подключить любого помощника к серверу и даже создать приватный канал.
Как сделать авторизацию через Дискорд?
Периодически на русских и зарубежных форумах, связанных с разработкой, встречается такой вопрос: Discord API authorization frontend – как сделать? Этим интересуются создатели сайтов, которым необходимо сделать авторизацию через популярный мессенджер. На самом деле ничего самим придумывать не придется – достаточно использовать уже готовые инструменты. В это случае – функционал входа OAuth2:
Вы можете перейти по указанным ссылкам, чтобы самостоятельно ознакомиться и изучить материал. Также не забывайте про YouTube – там можно найти несколько русских видео на эту тему.
Таким образом, мы рассмотрели, для чего нужен Дискорд API и как использовать столь полезную возможность в разработке. Оказалось, что создавать ботов можно и на компьютере с Windows, и с macOS, и даже с Linux. Остались дополнительные вопросы? Будем рады ответить на них в комментариях!
Какие преимущества дает участие в группе
Выше мы рассмотрели, как вступить в HypeSquad Discord, и какие шаги необходимо пройти. Если вы успешно решили поставленную задачу, можно рассчитывать на ряд привилегий:
- Появление эксклюзивного значка HypeSquad от Discord, который заставляет ваших друзей завидовать.
- Предоставление доступа к секретному серверу событий. Такое преимущество получают все участники, успешно ответившие на вопросы и получившие доступ к определенному дому.
- Обновление электронной почты ХайпСквад.
- Участие в соревнованиях и рекламных событиях.
- Быстрое решение возникших проблем.
Кроме того, участники мероприятий Discord получают дополнительные бонусы:
- Специальная футболка. Пользователи, которые помогают в мероприятиях, получают футболку HypeSquad. Этот факт добавляет +500 к имиджу.
- Доступ к эксклюзивному серверу Events.
- Встречи и общение с работниками Дискорд.
- Специальные булавки и наклейки.
Для пользователей, имеющих уровень координатора событий, предусмотрены дополнительные бонусы и значки. На фоне таких подарков все больше пользователей задумывается, как попасть в HypeSquad в Discord и получить дополнительные бонусы.
Базовый сценарий:
Начнём с простого — заставим эту связку минимально работать. Нужно отвечать на команду
/дай с параметром фотку: соответствующей картинкой. Варианта будет три — котик, собакен или случайная из двух.
У Discord (в отличие от Telegram) довольно разухабистая система авторизаций, проверок и перекрёстных страниц, по которым надо пройти, чтобы все участники взаимодействия получили свои права в нужном объёме. Общением с @Botfather дело не ограничивается.
Сначала идём на портал разработчика и создаём новое приложение. На этой странице нам пригодятся поля APPLICATION ID и PUBLIC KEY. На вкладке Oauth2 нужно скопировать CLIENT SECRET, он тоже пригодится.
С помощью этих данных можно получить временный Bearer token, который позволяет авторизовываться на некоторых служебных эндпоинтах. Получим его:
CLIENT SECRET вводим весто пароля в интерактивном режиме.
Ответом будет примерно такой JSON:
Из ответа надо запомнить уже поле access_token. Обратите внимание, что scope — тоже значащее поле. Оно определяет, какие права будут у выданного нам токена. Перечисленных в примере хватит для дальнейшей работы.
Работать она, конечно же, ещё не будет.
Знания, необходимые для этой, казалось бы, простой подготовительной части, щедро рассыпаны по документации, так что написание первой простейшей версии бота заняло у меня несколько вечеров. Кроме того — таких извращенцев просто мало, в основном эту функциональность используют вместе с основным ботом, висящим на WebSocket с помощью библиотеки discord.js (что, конечно, получается гораздо быстрее), и готовых сниппетов в интернете практически нет.
Пришла пора писать Serverless-функцию, которая будет отвечать на запросы.
Ошибка «Вы слишком часто меняете свой тег» в Дискорд
- Выждите некоторое время и попробуйте внести изменения снова.
- Обратитесь в службу поддержки и попробуйте узнать у нее, чем может быть вызвана проблема.
Как установить и настроить Дискорд?
1. Скачайте программу по ссылке выше и установите ее на свой компьютер или ноутбук. В главном окне кликните по кнопке «Зарегистрироваться» и создайте новый аккаунт.
Сразу после регистрации предложат пройти краткий курс по созданию своего сервера и основам работы в программе. Лучше не пропускайте его, и внимательно все посмотрите.
2. В главном окне кликните по значку шестеренки в нижней части, чтобы перейти в настройки. Здесь можно поменять аватар, установить настройки конфиденциальности, проверить микрофон на работу и многое другое. Также здесь меняется внешний вид самого приложения.
Далее можете привязать свои учетные записи от других сервисов, к примеру, от Steam. Особого смысла лезть в настройки нет, вначале лучше зайдите в какой-нибудь сервер и начните общение.
В заключение
Это действительно удобное программное обеспечение, которое перевело формат онлайн общения на новый уровень. Тысячи серверов по интересам и удобный функционал делают Дискорд все популярнее и востребованнее среди пользователей.
Словарь Discord
У Discordа есть своя особая терминология. Вы могли слышать, как ваш подросток или ваши ученики используют ее, говоря о Discord.
Сервер . Серверы — это общественные пространства в Discord, созданные для определенных сообществ и групп друзей. Подавляющее большинство серверов — небольшие и попасть в них можно только по приглашению. Но есть и крупные серверы, попасть на которые может каждый желающий. Любой пользователь может бесплатно создать сервер и пригласить на него своих друзей.
Канал . Серверы Discord организованы в виде текстовых и голосовых каналов, они посвящены разным темам и могут иметь определенные правила.
Nitro. Nitro — это премиум-услуга Discord, предлагающая специальные привилегии для подписчиков, такие как возможность настроить тэг Discord, использовать пользовательские эмодзи на каждом сервере, загружать больший объем файлов и получать скидки на Бусты Сервера.
Бусты Сервера. Если Ваш подросток является большим поклонником сообщества, он может захотеть улучшить сервер сообщества (или свой собственный). Как и Nitro, Буст Сервера открывают серверам доступ к специальным возможностям, таким как дополнительные пользовательские эмодзи, лучшее качество голосовой и видеосвязи, а также дают возможность сгенерировать ссылку для приглашения других пользователей. Бусты сервера могут быть куплены вместе с Nitro или по отдельности.
Как вступить в HypeSquad
Чтобы стать частью HypeSquad в Дискорд, необходимо пройти несколько этапов. Сделайте следующие шаги:
Система предлагает пять случайных вопросов из имеющегося списка. Задача пользователя — честно давать ответы HypeSquad в Дискорд. Хитрить бесполезно, ведь алгоритм оценки будущих участников невозможно просчитать.
- Что это за звук?
- Вампус хочет заказать пиццу с ананасами. Что вы будете делать?
- Как быть с зубной пастой и ложкой в чашке?
- Чем вы обычно руководствуетесь в жизни?
- Какая супергеройская сила вам больше всего импонирует и т. д.
Для каждого вопроса Hype Squad Discord дается по четыре варианта ответа. Потенциальным участникам необходимо выбрать тот, который они считают наиболее правильным. Придумывать что-то самому не нужно.
Типы каналов Discord
Интерфейс мессенджера позволяет создавать Discord-каналы таких типов, как:
Можно ли изменить тег в Дискорде
Алгоритм действий такой:
- Выберите сервер, куда вы ходите добавить Дискорд-бота.
- Жмите на кнопку Продолжить .
В крайнем случае можно подключить подписку Nitro. В этом случае tag можно будет поменять в любой момент с помощью встроенных инструментов.
Что такое Дискорд
Интересно! Первая версия приложения вышла 13 мая 2 015 года. Популярность росла быстро, и на данный момент программное обеспечение ежемесячно устанавливает в среднем около 2-ух миллионов пользователей по всему миру.
Особенности Дискорд:
- На русском языке
- Бесплатный софт
- Кроссплатформенность
- Простое управление
- Работает быстро даже на старых ПК
- Множество персональных настроек
- Просмотр и создание стримов игр и не только
- Есть функция шумоподавления для микрофона
- Выбор сервера для связи, если будет тормозить голосовое или видео общение, то сервер можно поменять вручную и подобрать наиболее подходящий
- Система игрового оверлея, когда во время игры видно всех участников чата
- Отдельная регулировка громкости каждого участника чата
Функционал:
Интересно! Изначально программа создавалась исключительно для геймеров, но сейчас ее используют и в разных компаниях, учащиеся и просто различные группы по интересам.
Yandex Cloud Functions
Я не буду подробно останавливаться на описании интерфейса консоли Yandex Cloud. Типичный жизненный цикл Serverless-функций — это обрабатывать входящие обращения, иногда уже отсортированные Gateway API, и отдавать результат. Биллинг потом спишет копеечку за время работы функции.
Итак, в консоли Yandex Cloud создаём новую функцию, среда выполнения — Node.js 14, время выполнения — 3 секунды (про него объясню позднее), доступная память — минимальная — 128 МБ.
Начинаем писать мало-мальски работающий код:
Мы объявили функцию, которая будет вызываться при получении REST-запроса по своему случайно сгенерированному постоянному адресу. В параметр event прилетает всё описание запроса — заголовки и тело. Переменная, которую мы возвращаем, описывает, как должен выглядеть ответ, его статус, заголовки и тело.
Бот обязан проверять подпись входящих запросов. Discord при первом сохранении endpoint проверяет, как она реагирует на запрос с некорректной подписью. И если бот не сможет распознать его и ответить 401-й ошибкой — откажется с ней работать. Проверку было решено отдать на откуп готовой библиотеке, помня о первой заповеди самостоятельной реализации аутентификации — «не делай этого».
Рядом с этим файлом нужно создать package.json, положив в него описание проекта, а главное — зависимостей:
После сохранения этого файла на вкладке «Операции» появится запись о том, что все зависимости установлены. Конечно, никто не мешает писать код в любимой IDE, а затем положить его в ZIP и закинуть на сервер со всеми зависимостями — но мне было интересно, как работает этот функционал.
У проверки подписи есть побочный эффект — вы не сможете потыкать свою функцию тестовыми данными, чтобы проверить её работу. Так что при более-менее серьёзной разработке поднимайте отдельную версию функции, которая не столь радикально относится к подписи. А заниматься такой отладкой придётся, потому что Discord не расскажет вам, что пошло не так при общении с ботом. Именно ручная отладка помогла мне понять, что по умолчанию функция отдаёт заголовок text/plain вместо нужного application/json.
Итак, после сохранения можно взять URL функции, зайти в личный кабинет приложения на сайте Discord, вбить его в поле INTERACTIONS ENDPOINT URL и сохранить. Ура. Теперь начнём, наконец, что-то отвечать на саму команду:
Первая итерация закончена, бот работает, выдает одну, вторую или случайную картинку. Конечно, это абсолютно синхронная и лёгкая операция, и отдавать таким образом статику суперпросто. Теперь пойдём дальше — и сделаем нашу функцию асинхронной.
Все, перед кем вставала задача радовать неугомонных пользователей фотографиями животных, наверное, знают про сервисы The Cat API и The Dog API. Это API, отдающее ссылки на фотографии, доступные для использования в проектах, похожих на наш. Большинство подобных сервисов реализуют функцию random и сами следят за актуальностью фотографий в своей базе, что снимает с разработчика множество проблем. Такие сервисы есть почти по любой тематике, и многие из них бесплатны до какого-то количества обращений. Мне вполне хватало этого лимита, так что я приступил к их использованию, всего лишь один fetch-запрос до сервиса. и сразу наступил на грабли того самого ограничения в 3 секунды, про которое говорил ранее. И проблема тут совсем не во времени исполнения функции — хотя, учитывая, что тарифицируют нас за время работы, необдуманно забивать это поле девятками — безусловно, не лучшая идея.
Я не планировал скачивать изображения и считал что «трёх секунд хватит всем», но нет. Во-первых, запросы в нашем несовершенном мире иногда падают по сетевым причинам. Во-вторых, сервисы эти монетизируются крайне условно и геокешинг с CDN в разных странах, как правило, не используют. Запросы отрабатывали, но за 3 секунды можно вылететь.
Кроме того, однажды я попал в ситуацию, когда изображения перестали открываться в чате. Виноват оказался Роскомнадзор: CDN сервиса с котиками попал под блокировку. Сам сервис отдавал ссылку на картинку, я передавал её в чат, а Discord не мог открыть её, так как из России адрес был недоступен. Дополнительная проверка ссылки на доступность (напомню, мы всего лишь пытаемся показывать милые фото котиков) делала перспективы уложиться в 3 секунды более призрачными, особенно в случае повторного запроса.
Решение? Очевидно — создадим ещё одну функцию.
Новый план!
Изменения в быстрой функции:
Работа с точки зрения пользователя:
Discord Slash API?
Discord Slash API + Yandex Cloud Functions = ♡
"The API for interacting with Gateways is complex and fairly unforgiving, therefore it’s highly recommended you read all of the following documentation before writing a custom implementation." — Discord API Docs
Добрый день. Многие знают, что программисту приходится следить за развитием технологий, даже тех, которые не касаются его текущего стека. Ну, или ему это доставляет удовольствие, которое он оправдывает необходимостью держать руку на пульсе. Так обычно зарождаются разнообразные домашние проекты. Я решил свести в один пост свои наработки по написанию Node.js-бота для Discord Slash API с Serverless подходом в Yandex Cloud. Использование готовых библиотек сведено к минимуму.
Как узнать свой тег в Дискорде
Многие люди активно пользуются программой, но не представляют, как узнать Discord ID. Ниже приведем пошаговую инструкцию для разных ситуаций.
Как подключиться к Discord API при создании бота?
Как показывает практика, использовать все возможности Дискорд API приходится во время создания виртуальных помощников, а точнее их внедрения в программу. На самом деле самостоятельно ничего делать не придется, ведь процесс практически полностью автоматизирован. Единственное, перед началом работы следует выполнить действия из пошагового руководства:
- Переходим на страницу Дискорд Developers и выполняем авторизацию в своем аккаунте. А после этого заходим во вкладку Bot и нажимаем на кнопку New Application .
- Вводим название самого приложения и кликаем Create , дополнительно подтвердив действие.
Как результат – вы успешно подключились к Дискорд API и воспользовались функционалом для разработчиков. Теперь дело за малым – осталось разработать бота и проверить, насколько корректно он работает. Если нужно, то подробные инструкции получится отыскать на YouTube (в основном по английским запросам). Также не забудьте установить само приложение мессенджера, указав в Google «Discordapp API download platform WIN» и посетив официальный сайт.
Значки в HypeSquad
Один из подарков, на который могут рассчитывать участники группы — специальные значки. Они бывают трех типов:
Значок присваивается сразу после проверки пройденного теста и зачисления пользователя в категорию официальных участников.
Как узнать ID ника в Discord
Для начала рассмотрим, как узнать свой тег в Дискорде применительно к имени пользователя. Алгоритм действий такой:
- Войдите в приложение Discord.
- Создайте канал или войдите в существующий.
- Найдите внизу надпись возле вашего ника.
- Копируйте четыре цифры, которые стоят с правой стороны от решетки.
Существует еще один способ:
- Войдите в программу.
- Жмите шестеренку слева внизу.
- Перейдите в раздел Моя учетная запись.
- Найдите надпись имя пользователя.
- Справа копируйте ID.
Читайте также: