Письма Gmail в Discord: бот пишет в канал о каждом новом письме

Пересылка писем Gmail в Discord в nana800 собирается из двух блоков: «gmail incoming email» раз в минуту проверяет «Входящие», а «Discord Request» отправляет от имени вашего бота сообщение в канал сервера. Нужны доступ к Gmail, токен бота из Discord Developer Portal и ID канала, свой сервер для бота не нужен. Баланс каждый месяц бесплатно пополняется до 350 ₽, карта не нужна.

Собрать в конструкторе

Что можно автоматизировать

  • Присылать модераторам в служебный канал письма, которые приходят на почту проекта: вопросы участников, жалобы, предложения о сотрудничестве
  • Сообщать команде разработки о письмах магазина приложений про проверку и выпуск версии: в поиске триггера from: с адресом магазина
  • Объявлять в канале сервера о письмах платформы, через которую участники поддерживают проект: новый донат или подписка
  • Отбирать письма с заказами для канала #orders поиском subject:(заказ), а остальную почту оставлять в Gmail
  • Отправлять одно письмо сразу в два канала: к триггеру подключены два блока «Discord Request» с разными Channel ID

Как настроить

  1. 1

    Создайте бота и пригласите его на сервер

    В Discord Developer Portal создайте приложение и в разделе Bot скопируйте токен. В разделе OAuth2 соберите ссылку-приглашение с правом отправлять сообщения, откройте её и выберите свой сервер. Проверьте, что бот видит нужный канал и может в нём писать.

  2. 2

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

    В настройках Discord включите режим разработчика (Developer Mode), нажмите на канал правой кнопкой мыши и выберите Copy Channel ID. Получится длинное число. Название канала в поле Channel ID не подойдёт, нужно именно оно.

  3. 3

    Подключите Gmail

    Создайте схему с триггером «gmail incoming email»: адрес Gmail и способ входа, APP_PASSWORD_IMAP с паролем приложения Google или OAUTH_CLIENT с client ID, client secret и refresh token. В search query задайте, какие письма пойдут в Discord, например from:support@example.com, пустое поле значит все письма «Входящих».

  4. 4

    Настройте «Discord Request»

    Добавьте блок, выберите операцию send_message, вставьте токен в «Bot Token», а число из Copy Channel ID в «Channel ID». В «Message Content» соберите текст из полей триггера: from - отправитель, subject - тема, snippet - начало письма. Поле обязательное: с пустым текстом блок вернёт ошибку.

  5. 5

    Включите схему и проверьте канал

    Первая проверка запоминает письма, которые уже лежат во «Входящих», в Discord они не придут. Отправьте себе тестовое письмо и дождитесь ближайшей проверки. Если сообщения нет, откройте результат блока: success будет false, а ответ Discord с кодом ошибки - в error_message. Включённая схема стоит 0,42 ₽ в час.

Сколько стоит

Запуск блоков Gmail стоит 0,20 ₽, блоков Discord - 0,20 ₽. Каждый месяц баланс бесплатно пополняется до 350 ₽, включённая схема стоит 0,42 ₽ в час.

Сервисы в связке

  • Gmail

    Запускайте схему на каждое новое письмо в Gmail: уведомление в Telegram, запись в таблицу, разбор текста нейросетью. Без кода, бесплатный баланс каждый месяц.

  • Discord

    Отправляйте уведомления, заявки и новости в канал Discord без кода: нужны токен бота, ID канала и текст. Бесплатный баланс каждый месяц, карта не нужна.

Похожие связки

  • Gmail + amoCRM

    Письмо с заявкой в Gmail само становится сделкой в amoCRM: ChatGPT достаёт из текста имя, телефон и email клиента. Без кода, бесплатный баланс каждый месяц.

  • Gmail + Google Таблицы

    Каждое новое письмо Gmail само добавляется строкой в Google Таблицу: отправитель, тема, дата и начало текста по колонкам. Бесплатный баланс каждый месяц, карта не нужна.

  • Gmail + Notion

    Каждое новое письмо Gmail становится строкой в базе Notion: тема в заголовке, отправитель и дата в колонках, текст на странице строки. Без кода, бесплатный баланс.

  • Gmail + ChatGPT (OpenAI)

    ChatGPT читает каждое новое письмо Gmail: пишет пересказ, ставит категорию или готовит черновик ответа и присылает результат в Telegram или таблицу. Без кода.

  • Gmail + Slack

    Каждое новое письмо Gmail приходит сообщением в канал Slack: отправитель, тема и начало текста. Отбор писем поиском Gmail, без кода, бесплатный баланс каждый месяц.

  • Gmail + Telegram

    Получайте уведомления о новых письмах Gmail в Telegram: отправитель, тема и текст письма в личке или рабочей группе. Бесплатный баланс каждый месяц, карта не нужна.

Частые вопросы

Одно письмо стоит четыре запуска базового блока: два за триггер Gmail и два за «Discord Request», 1 000 запусков стоят 100 ₽. Если Discord не принял сообщение, запуск блока не списывается, а письма, которые не подошли под поиск, схему не запускают. К этому добавляется 0,42 ₽ за каждый час, пока схема включена: при работе без перерыва это главная статья расхода из бесплатных 350 ₽ в месяц.

Смотрите error_message: там ответ Discord и его код. Чаще всего бот не добавлен на сервер, не видит канал или не может в нём писать, либо в Channel ID стоит название вместо числа. Проверить ID поможет операция get_channel того же блока: она вернёт данные канала, например название, или ту же ошибку. Если запуска нет совсем, письмо не подошло под поиск Gmail или лежит не во «Входящих».

Весь текст лежит в поле body_text, но у длинного письма с подписью и цитатами прошлой переписки он может не пройти: если Discord отклонит сообщение, причина будет в error_message, а запуск не спишется. Надёжнее snippet - короткое начало письма в одну строку. У писем только с HTML-версией, например рассылок, body_text бывает пустым, а snippet заполнен.

Да. Каждый блок «Discord Request» пишет в один канал, поэтому подключите к триггеру столько блоков, сколько нужно каналов, у каждого свой Channel ID. Одно письмо запустит их все, и каждый блок - это ещё два запуска базового блока. Чтобы письма разных тем шли в разные каналы, поставьте перед ними бесплатный блок «condition».

Триггер запускает схему не больше чем на 300 писем за минуту, остальные уходят в Discord при следующих проверках. Когда Discord отвечает, что сообщения идут слишком часто, блок ждёт до 20 секунд и отправляет снова, не больше двух раз. Отправку, прерванную сбоем связи, блок не повторяет: так в канале не появится двойное сообщение. Письма, пришедшие больше трёх суток назад, например пока схема была выключена, в канал не попадут.

Соберите первую схему бесплатно

Регистрация бесплатная, карта не нужна. Каждый месяц баланс бесплатно пополняется до 350 ₽, этого хватает примерно на 3 500 запусков простых блоков.

Собрать в конструкторе