Что такое слэш команды в дискорде
Команды в Discord для бота, чата, игр
Одним из главных помощников для пользователей Discord являются команды для чатов и ботов, а также горячие клавиши для общения или игры. Ниже рассмотрим разные виды команд, приведем их расшифровку и особенности применения.
Команды для бота
Боты — специальные коды, созданные на базе API и используемые на серверах Дискорд. Они устанавливаются в программе и используются для расширения ее функционала. Сегодня существует много полезных Discord-ботов. Наиболее популярные — Mee6, Red, Dyno и другие. Все они отличаются по особенностям работы и функциональной начинке. При этом команды для ботов в Дискорде также отличаются. Эти данные необходимо изучать перед добавлением на официальной странице софта.
К примеру, Mee6 — универсальный бот, позволяющий создавать свои собственные команды и настраивать поздравление для участников.
Выделим несколько основных Дискорд-команд:
Подробный список приказов для этого бота Дискорд можно посмотреть на сервисе discord.fandom.com/ru/wiki/MEE6.
Команды чата
Многие пользователи не знают, что существуют так называемые команды Дискорда для чата. Выделим основные варианты:
Как видно, Дискорд-команды чата больше направлены на оформление текста и исправление ошибок. Но их применение во многих случаях может оказаться полезным.
Горячие клавиши
Не менее полезная опция — горячие клавиши Discord, которые можно использовать в обычном режиме или во время игры. При желании их легко задать вручную Для этого сделайте следующие шаги:
При желании можно забить комбинацию на рацию (обычный и приоритетный) режим, обратную рацию, включение и отключение микрофона, режима стримера, звука в динамиках, оверлея и т. д.
При этом есть ряд клавиш, которые работают по умолчанию. К примеру, комбинация shift+` используется прямо в игре. В этом случае появляется список голосовых Дискорд-каналов и настройка оверлея. Комбинацию можно поменять в разделе настроек. После появления списка каналов жмите на левую кнопку мышки по участнику и поменяйте громкость.
Дополнительно можно использовать и другие комбинации:
Подробный перечень можно почитать на сайте поддержки — https://support.discord.com/hc/ru/articles/225977308.
Если вдруг не работают горячие клавиши Дискорд, попробуйте из заново запрограммировать через настройки или убедитесь в работоспособности клавиатуры.
Итоги
Теперь вы знаете, какие команды бывают в Discord, для чего их можно использовать, и чем они помогают пользователям. Главное — не упускать такую возможность и пользоваться ей во время общения или игры.
Команды для Discord
Мессенджер Дискорд обладает неимоверным функционалом. Среди многочисленных возможностей Дискорда можно выделить специальные команды для текстового чата. Их цель разнообразить и сделать более ярким общение с друзьями в текстовом чате мессенджера. Воспользуйтесь советами статьи и удивите своих друзей интересными фишками в сообщениях.
Общие сведения
Разработчики Discord изобрели целый набор команд для своего мессенджера, который пользователи могут использовать по своему усмотрению.
Условно разделим команды в Дискорде на три группы:
Далее поочередно рассмотрим каждую группы команд по отдельности.
Форматирование текста
Участники текстовых чатов могут с помощью специальных символов изменить шрифт в своих сообщениях. Доступны следующие основные шрифты:
Для изменения шрифта в своих сообщениях, необходимо правильно использовать комбинации специальных символов. Для простоты и наглядности приведем следующую таблицу.
Шрифт | Пример | Результат | |||||||||||||||||||||||||||
Курсив | *111* или _111_ | 111 | |||||||||||||||||||||||||||
Жирный | **222** | 222 | |||||||||||||||||||||||||||
Подчеркнутый | __333__ (здесь используется по два нижних подчеркивания с каждой стороны) | 333 | |||||||||||||||||||||||||||
Перечеркнутый |
Шрифт | Пример комбинации | Результат |
Жирный курсив | ***111*** | 111 |
Подчеркнутый курсив | __*222*__ (здесь используется по два нижних подчеркивания с каждой стороны) | 222 |
Перечеркнутый курсив | 333 | |
Подчеркнутый жирный | __**444**__ (здесь используется по два нижних подчеркивания с каждой стороны) | 444 |
Перечеркнутый жирный | 555 | |
Подчеркнутый перечеркнутый | __ __ (здесь используется по два нижних подчеркивания с каждой стороны) | 666 |
Подчеркнутый жирный курсив | __***777***__ (здесь используется по два нижних подчеркивания с каждой стороны) | 777 |
Перечеркнутый жирный курсив | 999 | |
Подчеркнутый перечеркнутый курсив | 000 | |
Подчеркнутый перечеркнутый жирный курсив | __ __ (здесь используется по два нижних подчеркивания с каждой стороны) | 1111 |
При комбинации специальных символов нет разницы в том, какой знак стоит ближе к форматируемому тексту. К примеру: комбинации
* приведут к одному результату – слово “Дискорд” будет оформлено перечеркнутым курсивом.
Выделить текст с обеих сторон символами, которые используются для форматирования, и при этом сделать так, чтобы они отображались в тексте, возможно. При этом форматирование будет отменено. Для этого перед отрывком, в котором будут использоваться специальные знаки, нужно поставить знак бэкслеш. Выглядит он так “\” (без кавычек).
Команды для прикольных фишек
В Discord существует специальный набор команд, который может разнообразить общение в текстовом чате, а также выполнить определенные действия. Расскажем о двух наборах команд, которые предваряются двумя специальными знаками.
Для использования первой группы команд необходимо в начале сообщения ввести знак “/” (без кавычек) и соответствующее слово. Рассмотрим 9 таких команд.
Если вы пользуетесь Дискордом на компьютере, тогда после ввода в текстовое поле знака “/” автоматически появится список с описанными выше командами.
Вторая группа команд начинается с ввода знака “@” (без кавычек). При вводе символа “собачки” на компьютерной версии мессенджера на выбор будут представлены 2 команды:
Если знак “собачки” ввести первым символом в текстовом поле, тогда будет выведен список участников сервера, из которого можно выбрать человека для отправки сообщения.
Команды для ботов
Функции ботов очень разнообразны. К примеру, они могут выполнять следующие действия:
Весь спектр команд для бота, которые он может выполнить, можно узнать на сайте, откуда скачивается робот-помощник. Если бот уже скачан на Дискорд, тогда при помощи определенного запроса, бот сам выведет весь список выполняемых команд. Часто в таком запросе присутствует английское слово “help”.
САМОЕ ВАЖНОЕ! Дискорд имеет большой спектр возможностей. Для того чтобы воспользоваться обилием функций этого мессенджера, пригодится знание специальных команд для их реализации. С помощью команд, описанных в статье, вы сможете форматировать текст в сообщениях, разнообразите вашу переписку на сервере, а также узнаете, где можно получить информацию о наборе команд для любого бота-помощника.
Все полезные команды для Discord для чата
Дискорд – мессенджер, который помогает искать собеседников по группам, которые разбросаны по интересам. Приложение разработано, и вошло в эксплуатацию пользователей в 2015 году, но регулярно развивается, и в настоящее время сервис использует более 11 миллионов клиентов. Как правило, мессенджер привлекает геймеров, которые создают каналы в зависимости от интересов, и могут связываться при помощи аудиозвонков или видеоконференций. Функционал программы содержит большое число опций и инструментов, которые помогают оптимизировать работу.
Основные группы команд в Дискорде
Пользователи могут использовать специально разработанные команды, которые помогают упростить работу, и сэкономить время. При этом, следует понять, что команды отвечают за выполнение конкретного действия. В приложении Дискорд выделяют основополагающие группы, в которые входят команды. Группы делятся в зависимости от назначения, и сферы применения. В мессенджере Дискорд можно выделить группы:
Команды для форматирования текста
Пользователи могут работать с текстов при помощи команд, чтобы сэкономить время. При этом, можно выделить основополагающие команды на платформе:
Для того, чтобы осуществить команду, следует набрать команду в специально разработанном текстовом поле. При этом, к тексту следует приложить знаки, которые расставляются в начале и в конце.
Команды для ботов
Боты – это специально разработанные коды, которые были произведены на базе API, и нашли применение на серверах в мессенджере Дискорд. При этом, боты устанавливают на платформе, и применяются с целью увеличения доступного функционала в программе, которые состоит из опций и инструментов для общения, или создания групп. Пользователи могут использовать большое число ботов, которые помогают осуществлять задачи, и способствуют оптимизации работы в сервере. Как правило, пользователи прибегают к помощи ботов Mee6, Red, Dyno. Следует отметить, чтобы применяются для выполнения различных опций, и назначение различается.
Команды, которые рассчитаны для ботов в мессенджере Дискорд, различаются. Перед тем, как добавлять необходимый бот, и использовать функционал, следует изучить особенности бота, и понять, на выполнение каких опций рассчитан.
Например, бот Mee6 относится к группе универсальных ботов, которые разрешают производить команды в зависимости от условий и предназначений, и производить настройки для поздравление участников команды.
Список основополагающих команд, которые пользователи могут применять в мессенджере платформы:
Прикольные команды для фишек
Пользователи могут вводить команды, чтобы добавить забавные изображения к текстовому сообщению. При этом, перед началом ввода команды следует дополнить знак /, и затем вводить команду.
Горячие клавиши
Команды – опция, которая облегчает работу пользователям на платформе Дискорд. Следует отметить, что инструменты с использованием горячих клавиш упрощает жизнь, и разрешает сэкономить время во время работы в мессенджере. Следует отметить, что преимущество использования горячих клавиш в мессенджере Дискорд допускается в стандартном режиме применения мессенджера, или в период использование игры.
Пользование могут управлять настройками ручным образом, если выполнят инструкции по налаживанию работы:
Например, пользователи могут поставить на рацию один из предложенных режимов, такой как стандартный или приоритетный. При этом, пользователи могут включить или отключить микрофон, или управлять звуком, который исходит из динамиков.
Как правило, часть клавиш работает в режиме по умолчанию, то есть пользователям нет необходимости налаживать, и устанавливать. Например, shift+ применяется при проведении игры в. Если пользователь хочет изменить комбинации, то сделать можно в меню с настройками.
Список используемых комбинаций в мессенджере:
Если комбинации не работают, то пользователь может вручную произвести настройки а меню, и затем проверить работу.
Discord Slash API + Yandex Cloud Functions = ♡
Добрый день. Многие знают, что программисту приходится следить за развитием технологий, даже тех, которые не касаются его текущего стека. Ну, или ему это доставляет удовольствие, которое он оправдывает необходимостью держать руку на пульсе. Так обычно зарождаются разнообразные домашние проекты. Я решил свести в один пост свои наработки по написанию Node.js-бота для Discord Slash API с Serverless подходом в Yandex Cloud. Использование готовых библиотек сведено к минимуму.
Discord?
Discord — это многим известный мессенджер, бесплатный до определённых пределов. Он позволяет без особых технических навыков построить коммьюнити по какой-то теме. В основном, конечно, это геймерские сообщества, именно так себя Discord и позиционирует — встроенная функциональность для трансляции игр и прочие навороты. Ими, впрочем, дело не ограничивается — на Хабре пробегали статьи про жизнь небольших контор в этом мессенджере, также там заседают алготрейдеры с «Реддита» и много кто ещё. В определённой степени эта популярность вызвана открытым API для написания ботов. Как правило, в любом сообществе администраторы создают 1–2 канала для совместного прослушивания музыки, игр в простые текстовые развлечения — атмосфера IRC начала нулевых.
В настоящий момент существует два API для ботов на этой платформе. Одно, ставшее классическим, основано на вебсокетах. Второе Discord открыл в конце 2020 года — и им можно пользоваться на чистом REST.
Изначально я наткнулся на статью про Python и AWS, но просто скопировать её было бы слишком скучно для понимания и погружения, поэтому пришлось читать документацию самостоятельно.
Discord Slash API?
Коротко о разнице в подходах между основным WebSocket-протоколом и Discord Slash API для тех, кто уже писал своих ботов, — на вебсокетах можно (и нужно) слушать все сообщения в чате, независимо от того, упоминали там вашего бота или нет. Это открывает широкие возможности для взаимодействия по сбору статистики, для модерирования контента, для описания взаимодействия с пользователями в свободной форме, даже без явного упоминания, и т. д. Боты же, реализующие Discord Slash commands, получают в запрос только команду, написанную пользователем в специальном формате, но не слышат остальной трёп в канале. Эта разница отражена в названии взаимодействия — команда должна начинаться со слеша, и синтаксис выглядит привычным для многих мессенджеров — например, `/дай фотку:котика`. Параметры команды могут быть перечисляемыми. Клиентское приложение подскажет пользователю доступные варианты и явно обозначит, что это команда, а не простое сообщение в чат.
Базовый сценарий:
Начнём с простого — заставим эту связку минимально работать. Нужно отвечать на команду
/дай с параметром фотку: соответствующей картинкой. Варианта будет три — котик, собакен или случайная из двух.
У Discord (в отличие от Telegram) довольно разухабистая система авторизаций, проверок и перекрёстных страниц, по которым надо пройти, чтобы все участники взаимодействия получили свои права в нужном объёме. Общением с @Botfather дело не ограничивается.
Сначала идём на портал разработчика и создаём новое приложение. На этой странице нам пригодятся поля APPLICATION ID и PUBLIC KEY. На вкладке Oauth2 нужно скопировать CLIENT SECRET, он тоже пригодится.
С помощью этих данных можно получить временный Bearer token, который позволяет авторизовываться на некоторых служебных эндпоинтах. Получим его:
CLIENT SECRET вводим весто пароля в интерактивном режиме.
Ответом будет примерно такой JSON:
Из ответа надо запомнить уже поле access_token. Обратите внимание, что scope — тоже значащее поле. Оно определяет, какие права будут у выданного нам токена. Перечисленных в примере хватит для дальнейшей работы.
Следующий нюанс — Slash-команды можно регистрировать глобально или в рамках одного сервера. Если ваш бот большой, серьёзный и готовится захватывать мир, глобальный режим — то что нужно. Везде, куда позвали бота, — его команды сразу появятся. На стадии отладки же он не очень удобен, так как изменения команд будут выкатываться до часа. Регистрация команды на одном сервере проходит мгновенно. Дублировать описание синтаксиса описания команды не буду — эта часть хорошо читается в оригинале.
Работать она, конечно же, ещё не будет.
Знания, необходимые для этой, казалось бы, простой подготовительной части, щедро рассыпаны по документации, так что написание первой простейшей версии бота заняло у меня несколько вечеров. Кроме того — таких извращенцев просто мало, в основном эту функциональность используют вместе с основным ботом, висящим на WebSocket с помощью библиотеки discord.js (что, конечно, получается гораздо быстрее), и готовых сниппетов в интернете практически нет.
Пришла пора писать Serverless-функцию, которая будет отвечать на запросы.
Yandex Cloud Functions
Я не буду подробно останавливаться на описании интерфейса консоли Yandex Cloud. Типичный жизненный цикл Serverless-функций — это обрабатывать входящие обращения, иногда уже отсортированные Gateway API, и отдавать результат. Биллинг потом спишет копеечку за время работы функции.
Отдельно оговорюсь, что в интернете я наткнулся на интереснейшее обсуждение реализации бота на стандартном для Discord WebSocket-протоколе, который завязывался на Amazon API Gateway, умеющем преобразовывать каждое WebSocket-сообщение в отдельный вызов Serverless-функции. Yandex API Gateway так пока не может (но планирует смочь, особенно если их потыкает побольше народа). Честно говоря, и слава Эру, иначе я никогда не довёл бы эту статью до конца.
Итак, в консоли 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 секунды, про которое говорил ранее. И проблема тут совсем не во времени исполнения функции — хотя, учитывая, что тарифицируют нас за время работы, необдуманно забивать это поле девятками — безусловно, не лучшая идея.
Проблема описана в совершенно другом месте документации Discord и звучит как «Interaction tokens are valid for 15 minutes and can be used to send followup messages but you must send an initial response within 3 seconds of receiving the event. If the 3 second deadline is exceeded, the token will be invalidated». В переводе на русский это означает, что вместе с сообщением о событии мы получаем особый токен, который позволяет реагировать на входящий запрос ещё 15 минут. Но первый ответ должен быть дан за 3 секунды, иначе пользователь увидит сообщение об ошибке, а токен протухнет.
Я не планировал скачивать изображения и считал что «трёх секунд хватит всем», но нет. Во-первых, запросы в нашем несовершенном мире иногда падают по сетевым причинам. Во-вторых, сервисы эти монетизируются крайне условно и геокешинг с CDN в разных странах, как правило, не используют. Запросы отрабатывали, но за 3 секунды можно вылететь.
Кроме того, однажды я попал в ситуацию, когда изображения перестали открываться в чате. Виноват оказался Роскомнадзор: CDN сервиса с котиками попал под блокировку. Сам сервис отдавал ссылку на картинку, я передавал её в чат, а Discord не мог открыть её, так как из России адрес был недоступен. Дополнительная проверка ссылки на доступность (напомню, мы всего лишь пытаемся показывать милые фото котиков) делала перспективы уложиться в 3 секунды более призрачными, особенно в случае повторного запроса.
Решение? Очевидно — создадим ещё одну функцию.
Новый план!
Если делать всё по-взрослому — такой запрос от функции к функции следует передавать, используя брокер сообщений или другие механизмы, которые могут служить триггером для функций в облаке. Мне показалось, что для такого простого и нетребовательного проекта это уже слишком, можно обойтись запросом POST в один конец, не дожидаясь его результата. Я не был уверен, успеет ли этот запрос отработать, не оптимизирует ли его какой-то из внутренних механизмов облака, — но нет, вполне себе рабочий вариант. Конечно, мы не узнаем, дошёл ли запрос и как был обработан — но, повторюсь, на практике в этом месте проблем у меня не возникло или они были пренебрежимо малы.
Медленная функция должна будет отправить результат своей работы методом POST на https://discord.com/api/v8/webhooks/APPLICATION ID/INTERACTION TOKEN — это послужит ответом на первый, служебный ответ быстрой функции.
Изменения в быстрой функции:
В ответ я добавил поле flags, чтобы чуть меньше засорять весь канал лишними сообщениями. Медленная же функция будет радовать результатом своей работы всех.
Работа с точки зрения пользователя:
Итоги
Главный вопрос, который может возникнуть при прочтении: «Зачем?».
Я отвечаю на него: «Чтобы не следить за сервером». Как только Yandex Cloud добавит в Gateway API возможность удержания WebSocket-сообщений — я попробую переписать и WebSocket-бота (который начинает спамить котиками при слишком бурном и не очень цензурном общении в чате) на Serverless.
Иногда нужен контроль, иногда страшно, что функция слишком бодро масштабируется, иногда есть виртуалка, на которой вполне хватит места на ещё-один-докер-с-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 подойдёт вам больше.
- Что такое псч в пожарной охране
- Что такое данные в ватсапе