Создать бота Discord
Создайте и подключите бота Discord, позвольте ForwardMsg настроить его и выберите, куда он будет отправлять или откуда читать сообщения.
Для копирования сообщений из Discord можно использовать собственный аккаунт. Вам не нужно добавлять бота на исходный сервер, быть владельцем сервера или его администратором. Аккаунту нужен доступ только к каналам, из которых вы хотите копировать сообщения. Если вам подходит этот вариант, начните с инструкции Подключить аккаунт Discord.
Бот Discord может доставлять на ваш сервер Discord скопированные текст и поддерживаемые медиафайлы, например изображения, видео и файлы. Также можно пересылать эмбеды Discord из источников Discord. Выберите типы сообщений в разделе Параметры пересылки; при этом действует ограничение на загрузку сервера назначения. Вместо аккаунта можно использовать бота и для чтения исходных сообщений.
- Для чтения используете свой аккаунт, а для доставки — бота? Добавьте бота только на сервер, куда приходят копии.
- Хотите, чтобы бот также читал сообщения? Добавьте его и на исходный сервер и предоставьте доступ к нужным каналам.
Писать код и размещать бота на своём сервере не нужно. ForwardMsg запускает его за вас.
Создайте бота в Discord
- Откройте Developer Portal Discord.
- Нажмите New Application.
- Введите понятное вам название, например
Community Forwarder. - Нажмите Create.
- В меню приложения слева откройте Bot.
В Discord настройки бота называются приложением. На странице Bot можно задать его имя и изображение, а также управлять токеном входа.
Скопируйте токен бота
Токен бота — это пароль для бота. Он отличается от токена вашего личного аккаунта Discord.
- На странице Bot найдите раздел Token.
- Нажмите Reset Token, чтобы создать токен для копирования.
- Выполните подтверждение Discord.
- Скопируйте токен и храните его в тайне.
Быстрый способ: позвольте ForwardMsg настроить бота
Можно пропустить ручную настройку ниже: вставьте токен в Добавить бота Discord, нажмите Добавить и выполните шаги Продолжить → приглашение → Готово. ForwardMsg автоматически настроит поддерживаемые intents и параметры установки на сервер по умолчанию. Пригласить бота можно прямо из этого диалогового окна. Следуйте инструкциям Подключите бота для отправки сообщений или, если хотите, чтобы бот также читал сообщения, — Подключите бота для чтения сообщений. После этого обновите страницу Developer Portal, чтобы увидеть настройки. Боту по-прежнему нужен доступ к принимающим каналам.
Сброс или отзыв токена отключает старое подключение
Если сбросить токен, уже сохранённый в ForwardMsg, старое подключение больше не сможет войти. Ещё раз воспользуйтесь функцией Добавить бота Discord, указав новый токен. Если бот читает сообщения, выберите новое подключение в разделе Источник. Если он отправляет копии, замените старого бота во всех затронутых назначениях маршрутизации. Сохраните изменения и перезапустите затронутые автоматизации. Изменение имени старого подключения не обновляет токен.
В следующих двух разделах показано, где можно проверить или изменить настройки вручную до приглашения бота.
Разрешите чтение текста сообщений
В Discord эти переключатели называются intents. Для ForwardMsg включите оба указанных ниже intents. Это рекомендуемая конфигурация независимо от того, отправляет ли бот копии, читает сообщения или делает и то и другое. Intents — отдельные настройки, отличные от разрешений, которые позволяют видеть канал или публиковать в нём сообщения.
- Откройте Bot в Developer Portal.
- Найдите раздел Privileged Gateway Intents.
- Включите Server Members Intent и Message Content Intent.
- Если в Discord появится кнопка сохранения, сохраните изменения.
| Intent | Что делает | Что выбрать |
|---|---|---|
| Message Content Intent | Позволяет боту получать текст и содержимое сообщений. | Включите его для настройки ForwardMsg, независимо от того, читает ли бот сообщения, отправляет копии или делает и то и другое. |
| Server Members Intent | Позволяет боту получать сведения об участниках сервера. | Включите его для настройки ForwardMsg, независимо от того, читает ли бот сообщения, отправляет копии или делает и то и другое. |
Выберите необходимые разрешения
Это разрешения по умолчанию, запрашиваемые при приглашении бота. Настройте или проверьте их перед использованием ссылки-приглашения:
- Откройте Installation в Developer Portal.
- В разделе Installation Contexts включите Guild Install. В Discord словом Guild обозначается сервер.
- В разделе Default Install Settings найдите настройки Guild Install.
- Добавьте область bot, которая позволяет устанавливать бота на сервер. Пересылка ForwardMsg не использует slash-команды, поэтому настраивать команды не нужно.
- Проверьте перечисленные ниже разрешения. Стандартное приглашение ForwardMsg запрашивает весь этот набор.
- Если портал предлагает сохранить изменения, сделайте это.
Разрешения из стандартного приглашения
Не меняйте выбранные по умолчанию разрешения: они подготовят бота к использованию нужных вам функций пересылки. Некоторые разрешения ниже нужны только для дополнительных функций; их можно оставить включёнными, не активируя сами функции.
| Разрешение | Что оно позволяет боту делать |
|---|---|
| View Channels / View Channel | Просматривать каналы, из которых бот будет читать или в которые будет отправлять сообщения. |
| Send Messages | Публиковать скопированный текст в принимающем канале. |
| Read Message History | Получать предыдущие сообщения, в том числе используемые как контекст ответа. |
| Attach Files | Загружать изображения, видео и другие файлы. |
| Embed Links | Отправлять карточки эмбедов и предварительный просмотр ссылок. |
| Manage Messages | Удалять сообщения других пользователей; входит в стандартный набор разрешений для управления сообщениями. |
| Pin Messages | Закреплять и откреплять сообщения, если включена синхронизация соответствующих действий. |
Разрешения для дополнительных функций
Они тоже включены в стандартное приглашение и нужны только для соответствующих функций:
| Разрешение | Что оно позволяет боту делать |
|---|---|
| Manage Webhooks | Создавать вебхуки каналов и управлять ими, когда Включить вебхуки использует имена и аватары исходных авторов. |
| Send Messages in Threads | Доставлять копии в доступные боту ветки. |
| Add Reactions | Добавлять реакции, если включено зеркалирование реакций. |
| Mention Everyone | Отправлять упоминания вроде @everyone и @here, если они используются в формате сообщения. |
| Use External Emojis | Использовать пользовательские эмодзи с других серверов. |
| Use External Stickers | Использовать стикеры с других серверов. |
| Send Voice Messages | Отправлять голосовые сообщения Discord. |
| Bypass Slowmode | Публиковать сообщения, не дожидаясь окончания задержки канала. |
Не нужно выдавать боту разрешение Administrator. После установки проверьте его фактические разрешения сервера и каналов. В справочнике разрешений Discord описаны эти настройки.
Если бот уже добавлен на сервер, изменение параметров по умолчанию в портале не обновит его существующий доступ. В Discord откройте Server Settings → Roles, выберите роль бота и проверьте Permissions. Чтобы проверить разрешения одного канала, откройте Edit Channel → Permissions и найдите роль бота или отдельную запись для него. Ограничения категории и канала могут запрещать доступ, даже если роль на сервере его разрешает.
Установите бота на сервер
Для доставки добавьте бота на сервер, куда должны приходить копии. Если исходные сообщения читает ваш аккаунт, боту не нужно вступать на исходный сервер. Добавляйте его туда, только если сам бот должен читать сообщения из этих каналов.
Во время добавления бота Discord в ForwardMsg выберите Добавить на сервер назначения, чтобы открыть приглашение. Выберите принимающий сервер либо исходный сервер, если настраиваете бота для чтения сообщений. Авторизуйте его в Discord, вернитесь в ForwardMsg и нажмите Готово. Если бот уже состоит на нужном сервере, можно нажать Готово, не отправляя приглашение повторно.
Можно также пригласить его из Developer Portal:
- Откройте Installation в Developer Portal.
- В разделе Install Link выберите Discord Provided Link.
- Скопируйте ссылку и откройте её в браузере, войдя в Discord.
- Выберите Add to server и укажите нужный сервер.
- Нажмите Authorize и выполните подтверждение Discord.
- Убедитесь, что бот появился в списке участников сервера.
Пригласить бота может владелец сервера, администратор или пользователь с разрешением Manage Server. Иначе попросите администратора сервера пригласить бота. Разрешение на исходном сервере не требуется, если сообщения копирует ваш аккаунт.
Если расположение элементов поменялось, шаги для портала показаны в руководстве по установке Discord.
Подключите бота для чтения сообщений
- Откройте автоматизацию, где сообщения читает бот Discord, и в разделе Источник нажмите Добавить бота Discord.
- Вставьте токен бота и нажмите Добавить.
- Оставьте прежнее или измените имя бота в ForwardMsg, затем нажмите Продолжить.
- Если бот ещё не присоединился к серверу, где он будет читать сообщения, выберите Добавить на сервер назначения и пригласите его. Авторизуйте его в Discord.
- Вернитесь в ForwardMsg и нажмите Готово.
- Убедитесь, что бот выбран в разделе Источник.
- Нажмите Обновить настройки.
- Нажмите Запустить и дождитесь состояния Работает.
- Добавьте серверы и каналы, которые должен читать бот.
Источник — это место, откуда поступают исходные сообщения. Выберите только каналы, за которыми хотите следить.
Подключите бота для отправки сообщений
Если бот уже сохранён, выберите его, не вставляя токен повторно, и перейдите к выбору принимающего канала.
- В редакторе нажмите исходный чат/канал в списке слева, чтобы открыть его настройки.
- Откройте Маршрутизацию.
- Нажмите Добавить назначение.
- Если бот ещё не сохранён, выберите Добавить бота Discord.
- Вставьте токен и нажмите Добавить.
- Оставьте прежнее или измените имя бота в ForwardMsg, затем нажмите Продолжить.
- Если нужно, выберите Добавить на сервер назначения, чтобы пригласить бота на принимающий сервер. Авторизуйте его в Discord.
- Вернитесь в ForwardMsg и нажмите Готово.
- Выберите этого бота и канал для получения копий.
- Завершите настройку назначения.
- Нажмите Сохранить изменения.
Назначение — это место, куда приходят копии. Один бот может доставлять сообщения в несколько каналов, если у него есть к ним доступ.
Используйте одного и того же бота во всех маршрутах пересылки. Выбирайте сохранённого бота для других назначений маршрутизации или автоматизаций: создавать отдельного бота для каждого чата или маршрута не нужно. Пригласите его на каждый принимающий сервер и предоставьте доступ к нужным каналам.
Отправьте через автоматизацию новое текстовое сообщение для проверки. Если в каком-то канале оно не появилось, проверьте разрешения бота именно в этом канале.
Проверьте автоматическую настройку ForwardMsg
После сохранения токена через Добавить бота Discord ForwardMsg настраивает поддерживаемые intents, Guild Install и стандартные параметры установки, чтобы бота можно было использовать для чтения и доставки сообщений.
- Вернитесь в Developer Portal и перезагрузите страницу.
- Откройте Bot → Privileged Gateway Intents и проверьте параметры Message Content и Server Members.
- Откройте Installation и проверьте Guild Install и разрешения по умолчанию.
- Если ещё не сделали этого, пригласите бота, а затем выберите принимающий канал в ForwardMsg.
Можно использовать этот быстрый способ и не менять каждое поле портала вручную. Если настройка не обновилась, выполните ручные действия выше.
Настройки портала и доступ к серверу — разные вещи
Автоматическая настройка подготавливает параметры приложения бота. Она не приглашает бота на сервер, не назначает ему роль проверки и не отменяет ограничения канала. Боту по-прежнему нужен доступ на самом сервере, где он будет читать или отправлять сообщения.
Бот подключён, но не может отправлять сообщения
Подключение означает, что ForwardMsg может войти как бот. Это не значит, что во всех принимающих каналах боту разрешено публиковать сообщения.
- Проверьте сервер и канал. Бот должен состоять на принимающем сервере и иметь разрешения View Channel и Send Messages именно в этом канале. Для веток также требуется Send Messages in Threads.
- Проверьте ботов проверки и допуска. Некоторые серверы скрывают каналы, пока участник не получит роль, например
VerifiedилиMember. Новый бот может автоматически не получить такую роль. Попросите администратора назначить ему подходящую роль или напрямую разрешить доступ в принимающем канале. Например, если писать в#newsмогут только участники с рольюVerified, боту тоже нужен этот доступ. - Проверьте тип содержимого. Для загрузки файлов разрешите Attach Files, а для эмбедов — Embed Links. Если включена настройка Включить вебхуки, также разрешите Manage Webhooks.
- Проверьте токен. Если вы сбросили или отозвали его, добавьте бота снова с новым токеном и замените старое сохранённое подключение во всех местах, где оно используется.
После восстановления доступа нажмите Сохранить изменения в разделе «Маршрутизация», при необходимости перезапустите автоматизацию и отправьте новое сообщение из исходного чата, чтобы убедиться, что оно пришло. Можно использовать приватные тестовые чаты.
Другие проверки приведены в разделе Доставка и разрешения.
Имена авторов, ответы и закрепления
Обычное сообщение бота использует имя и фотографию профиля самого бота. Например, скопированное сообщение от Maya будет опубликовано от имени Community Forwarder — вашего бота. Имя Maya при этом можно указать в тексте сообщения с помощью форматирования.
Если нужно, чтобы само сообщение Discord отображалось с именем и аватаром Maya, используйте доставку через вебхук. Для каждой копии можно использовать имя и аватар исходного автора, а не профиль одного и того же бота.
Можно поручить эту настройку подключённому боту автоматически:
- Разрешите ему Manage Webhooks в принимающем канале.
- В ForwardMsg нажмите исходный чат в списке слева, чтобы открыть его настройки, или нажмите Глобальные настройки, чтобы применить параметр во всех чатах, которые его наследуют.
- Откройте Расширенные → Отправлять с именем и аватаром автора.
- Включите Включить вебхуки.
- Нажмите Сохранить изменения, затем отправьте через автоматизацию новое сообщение, чтобы увидеть его имя и изображение в Discord.
Теперь бот будет автоматически создавать вебхуки доставки и управлять ими. При использовании этой настройки вручную создавать вебхук для каждого принимающего канала не нужно.
| Способ доставки | Имя и изображение в сообщении Discord | Нативные ответы и зеркалирование закрепления/открепления |
|---|---|---|
| Бот Discord, вебхуки выключены | Профиль самого бота | Доступны при наличии соответствующих разрешений и настроек зеркалирования. |
| Вебхук, вебхуки включены | Имя и аватар исходного автора | Недоступны: вебхуки Discord не могут создавать нативные ответы или закреплять/откреплять сообщения. |
Оставьте Включить вебхуки выключенным, если нужны ответы или закрепления. См. Синхронизация действий и Расширенные настройки.
Храните токен в тайне
Считайте токен бота паролем
Не отправляйте его в чатах и электронной почте, в заявках поддержки, на скриншотах или в общедоступном коде. Если токен раскрыт, сбросьте его в Discord и добавьте бота в ForwardMsg заново с новым токеном. Замените старое подключение везде, где оно используется, сохраните изменения и перезапустите затронутые автоматизации.
Получить токен аккаунта Discord
Сначала попробуйте вход по QR-коду или получите токен аккаунта с помощью расширения браузера, панели Network или необязательного скрипта Console.
Создать вебхук Discord
Доставляйте копии с именем и аватаром исходного автора, создайте вебхук или попробуйте доставку через существующего бота Discord.