Forward LogoForwardMsg

Создать бота Discord

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

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

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

  • Для чтения используете свой аккаунт, а для доставки — бота? Добавьте бота только на сервер, куда приходят копии.
  • Хотите, чтобы бот также читал сообщения? Добавьте его и на исходный сервер и предоставьте доступ к нужным каналам.

Писать код и размещать бота на своём сервере не нужно. ForwardMsg запускает его за вас.

Создайте бота в Discord

  1. Откройте Developer Portal Discord.
  2. Нажмите New Application.
  3. Введите понятное вам название, например Community Forwarder.
  4. Нажмите Create.
  5. В меню приложения слева откройте Bot.

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

Скопируйте токен бота

Токен бота — это пароль для бота. Он отличается от токена вашего личного аккаунта Discord.

  1. На странице Bot найдите раздел Token.
  2. Нажмите Reset Token, чтобы создать токен для копирования.
  3. Выполните подтверждение Discord.
  4. Скопируйте токен и храните его в тайне.

Быстрый способ: позвольте ForwardMsg настроить бота

Можно пропустить ручную настройку ниже: вставьте токен в Добавить бота Discord, нажмите Добавить и выполните шаги Продолжить → приглашение → Готово. ForwardMsg автоматически настроит поддерживаемые intents и параметры установки на сервер по умолчанию. Пригласить бота можно прямо из этого диалогового окна. Следуйте инструкциям Подключите бота для отправки сообщений или, если хотите, чтобы бот также читал сообщения, — Подключите бота для чтения сообщений. После этого обновите страницу Developer Portal, чтобы увидеть настройки. Боту по-прежнему нужен доступ к принимающим каналам.

Сброс или отзыв токена отключает старое подключение

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

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

Разрешите чтение текста сообщений

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

  1. Откройте Bot в Developer Portal.
  2. Найдите раздел Privileged Gateway Intents.
  3. Включите Server Members Intent и Message Content Intent.
  4. Если в Discord появится кнопка сохранения, сохраните изменения.
IntentЧто делаетЧто выбрать
Message Content IntentПозволяет боту получать текст и содержимое сообщений.Включите его для настройки ForwardMsg, независимо от того, читает ли бот сообщения, отправляет копии или делает и то и другое.
Server Members IntentПозволяет боту получать сведения об участниках сервера.Включите его для настройки ForwardMsg, независимо от того, читает ли бот сообщения, отправляет копии или делает и то и другое.

Выберите необходимые разрешения

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

  1. Откройте Installation в Developer Portal.
  2. В разделе Installation Contexts включите Guild Install. В Discord словом Guild обозначается сервер.
  3. В разделе Default Install Settings найдите настройки Guild Install.
  4. Добавьте область bot, которая позволяет устанавливать бота на сервер. Пересылка ForwardMsg не использует slash-команды, поэтому настраивать команды не нужно.
  5. Проверьте перечисленные ниже разрешения. Стандартное приглашение ForwardMsg запрашивает весь этот набор.
  6. Если портал предлагает сохранить изменения, сделайте это.

Разрешения из стандартного приглашения

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

РазрешениеЧто оно позволяет боту делать
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:

  1. Откройте Installation в Developer Portal.
  2. В разделе Install Link выберите Discord Provided Link.
  3. Скопируйте ссылку и откройте её в браузере, войдя в Discord.
  4. Выберите Add to server и укажите нужный сервер.
  5. Нажмите Authorize и выполните подтверждение Discord.
  6. Убедитесь, что бот появился в списке участников сервера.

Пригласить бота может владелец сервера, администратор или пользователь с разрешением Manage Server. Иначе попросите администратора сервера пригласить бота. Разрешение на исходном сервере не требуется, если сообщения копирует ваш аккаунт.

Если расположение элементов поменялось, шаги для портала показаны в руководстве по установке Discord.

Подключите бота для чтения сообщений

Где найти
Откройте автоматизацию → Настройки автоматизации → Источник → Бот Discord → Добавить бота Discord
  1. Откройте автоматизацию, где сообщения читает бот Discord, и в разделе Источник нажмите Добавить бота Discord.
  2. Вставьте токен бота и нажмите Добавить.
  3. Оставьте прежнее или измените имя бота в ForwardMsg, затем нажмите Продолжить.
  4. Если бот ещё не присоединился к серверу, где он будет читать сообщения, выберите Добавить на сервер назначения и пригласите его. Авторизуйте его в Discord.
  5. Вернитесь в ForwardMsg и нажмите Готово.
  6. Убедитесь, что бот выбран в разделе Источник.
  7. Нажмите Обновить настройки.
  8. Нажмите Запустить и дождитесь состояния Работает.
  9. Добавьте серверы и каналы, которые должен читать бот.

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

Подключите бота для отправки сообщений

Где найти
Редактор автоматизации → нажмите отслеживаемый исходный чат в списке слева, чтобы открыть его настройки → Маршрутизация → Добавить назначение → Бот Discord

Если бот уже сохранён, выберите его, не вставляя токен повторно, и перейдите к выбору принимающего канала.

  1. В редакторе нажмите исходный чат/канал в списке слева, чтобы открыть его настройки.
  2. Откройте Маршрутизацию.
  3. Нажмите Добавить назначение.
  4. Если бот ещё не сохранён, выберите Добавить бота Discord.
  5. Вставьте токен и нажмите Добавить.
  6. Оставьте прежнее или измените имя бота в ForwardMsg, затем нажмите Продолжить.
  7. Если нужно, выберите Добавить на сервер назначения, чтобы пригласить бота на принимающий сервер. Авторизуйте его в Discord.
  8. Вернитесь в ForwardMsg и нажмите Готово.
  9. Выберите этого бота и канал для получения копий.
  10. Завершите настройку назначения.
  11. Нажмите Сохранить изменения.

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

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

Отправьте через автоматизацию новое текстовое сообщение для проверки. Если в каком-то канале оно не появилось, проверьте разрешения бота именно в этом канале.

Проверьте автоматическую настройку ForwardMsg

После сохранения токена через Добавить бота Discord ForwardMsg настраивает поддерживаемые intents, Guild Install и стандартные параметры установки, чтобы бота можно было использовать для чтения и доставки сообщений.

  1. Вернитесь в Developer Portal и перезагрузите страницу.
  2. Откройте Bot → Privileged Gateway Intents и проверьте параметры Message Content и Server Members.
  3. Откройте Installation и проверьте Guild Install и разрешения по умолчанию.
  4. Если ещё не сделали этого, пригласите бота, а затем выберите принимающий канал в 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, используйте доставку через вебхук. Для каждой копии можно использовать имя и аватар исходного автора, а не профиль одного и того же бота.

Можно поручить эту настройку подключённому боту автоматически:

  1. Разрешите ему Manage Webhooks в принимающем канале.
  2. В ForwardMsg нажмите исходный чат в списке слева, чтобы открыть его настройки, или нажмите Глобальные настройки, чтобы применить параметр во всех чатах, которые его наследуют.
  3. Откройте Расширенные → Отправлять с именем и аватаром автора.
  4. Включите Включить вебхуки.
  5. Нажмите Сохранить изменения, затем отправьте через автоматизацию новое сообщение, чтобы увидеть его имя и изображение в Discord.

Теперь бот будет автоматически создавать вебхуки доставки и управлять ими. При использовании этой настройки вручную создавать вебхук для каждого принимающего канала не нужно.

Способ доставкиИмя и изображение в сообщении DiscordНативные ответы и зеркалирование закрепления/открепления
Бот Discord, вебхуки выключеныПрофиль самого ботаДоступны при наличии соответствующих разрешений и настроек зеркалирования.
Вебхук, вебхуки включеныИмя и аватар исходного автораНедоступны: вебхуки Discord не могут создавать нативные ответы или закреплять/откреплять сообщения.

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

Храните токен в тайне

Считайте токен бота паролем

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