IskTelega - Отправка сообщений в телеграм каналы

Author: Ivan

E-mail: ivan@mypochta.net

For MODx Revolution 3.x.

Версия PHP >= 8.0

IskTelega - простой компонент облегчающий публикацию постов в телеграм каналы.

IskTelega умеет:

Как использовать:

После установки перейдите в IskTelega, далее во вкладку API конфигурации, создайте хотя бы одну конфигурацию.

Затем во вкладку "Посты" - и добавьте новый пост.

Отправка каждого поста, искусственная задержка на 2 сек.

У себя в задание cron добавьте:

/usr/bin/php8.1 вашпуть/core/components/isktelega/elements/cron/isktelega_send_post_telega.php

Выполнять каждую минуту или если постов много планируется ставьте больше интервал.

Пошаговая инструкция по созданию бота в Telegram, получению ID вашего канала и предоставлению боту прав на отправку сообщений в канал:

Шаг 1: Создание бота в Telegram

  1. Откройте приложение Telegram.
  2. Найдите чат с @BotFather - это официальный бот для создания и управления ботами в Telegram.
  3. Начните диалог с @BotFather и отправьте команду /start, если вы еще не начали.
  4. Создайте нового бота командой /newbot.
  5. Следуйте инструкциям, которые вам предоставит @BotFather:
    • Придумайте и введите имя для вашего бота.
    • Придумайте и введите уникальное имя пользователя (username) для вашего бота, которое должно заканчиваться на "bot" (например, example_bot).
  6. После создания бота, @BotFather предоставит вам токен API для вашего бота. Скопируйте этот токен и сохраните его в безопасном месте, так как он понадобится вам для взаимодействия с API Telegram.

Шаг 2: Создание канала в Telegram

  1. Откройте приложение Telegram.
  2. Создайте новый канал:
    • Нажмите на иконку с карандашом (или другим значком создания нового чата) и выберите "Создать канал".
    • Введите название и описание канала.
  3. Выберите тип канала – может быть публичным или приватным. Если вы хотите, чтобы ваш канал был виден и доступен многим людям, выберите публичный канал. В любом случае вам будет необходим @username для канала.

Шаг 3: Получение ID канала

  1. Пригласите бота в ваш канал:
    • Войдите в настройки канала, выберите "Администраторы" и добавьте вашего бота.
  2. Сделайте бота администратором канала с правами на отправку сообщений.
  3. Отправьте сообщение в канал, чтобы убедиться, что бот работает.
  4. Используйте токен вашего бота из Шага 1 и выполните GET запрос на getUpdates для получения ID канала:
    https://api.telegram.org/bot<ВАШ_ТОКЕН_БОТА>/getUpdates
    

    Выполните этот запрос в вашем браузере, используйте инструмент типа Postman или curl.

  5. В ответе вы увидите JSON-данные, которые будут содержать сообщения с ID чата. ID канала будет содержать значительно большие числа и может иметь лидирующий -100:
    {
    "ok": true,
    "result": [
    {
    "update_id": 123456789,
    "message": {
    ...
    "chat": {
    "id": -1001234567890, // Вот это chatId
    ...
    },
    ...
    }
    }
    ]
    }
    

Шаг 4: Добавление бота в канал с правами отправки сообщений

  1. Откройте настройки вашего канала.
  2. Найдите раздел "Администраторы".
  3. Добавьте своего бота в качестве администратора вашего канала, установив нужные права (как минимум, право на отправку сообщений).

IskTelega - Sending messages to Telegram channels

Author: Ivan

E-mail: ivan@mypochta.net

For MODx Revolution 3.x.

PHP Version >= 8.0

IskTelega - a simple component that facilitates posting to Telegram channels.

IskTelega can:

How to use:

After installation, go to IskTelega, then to the API Configurations tab, and create at least one configuration.

Then go to the "Posts" tab and add a new post.

Each post is sent with an artificial delay of 2 seconds.

Add the following to your cron job:

/usr/bin/php8.1 yourpath/core/components/isktelega/elements/cron/isktelega_send_post_telega.php

Run every minute, or set a larger interval if you plan to have many posts.

Step-by-step instructions for creating a bot in Telegram, getting your channel ID, and granting the bot permissions to send messages to the channel:

Step 1: Creating a bot in Telegram

  1. Open the Telegram app.
  2. Find the chat with @BotFather - this is the official bot for creating and managing bots in Telegram.
  3. Start a conversation with @BotFather and send the command /start, if you haven't already.
  4. Create a new bot by sending the command /newbot.
  5. Follow the instructions provided by @BotFather:
    • Come up with and enter a name for your bot.
    • Come up with and enter a unique username for your bot, which must end with "bot" (e.g., example_bot).
  6. After creating the bot, @BotFather will provide you with an API token for your bot. Copy this token and save it in a secure place, as you will need it to interact with the Telegram API.

Step 2: Creating a channel in Telegram

  1. Open the Telegram app.
  2. Create a new channel:
    • Click on the pencil icon (or other new chat creation icon) and select "Create Channel".
    • Enter the channel name and description.
  3. Choose the type of channel – it can be public or private. If you want your channel to be visible and accessible to many people, choose a public channel. In any case, you will need @username for the channel.

Step 3: Getting the Channel ID

  1. Invite the bot to your channel:
    • Go to the channel settings, select "Administrators" and add your bot.
  2. Make the bot an administrator of the channel with permission to send messages.
  3. Send a message to the channel to make sure the bot works.
  4. Use your bot's token from Step 1 and make a GET request to getUpdates to get the channel's ID:
    https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
    

    Execute this request in your browser, use a tool like Postman or curl.

  5. In the response, you will see JSON data containing messages with chat IDs. The channel Chat ID is distinguished by significantly larger numbers and may have a leading -100:
    {
    "ok": true,
    "result": [
    {
    "update_id": 123456789,
    "message": {
    ...
    "chat": {
    "id": -1001234567890, // This is the chatId
    ...
    },
    ...
    }
    }
    ]
    }
    

Step 4: Adding the bot to the channel with permission to send messages

  1. Open your channel's settings.
  2. Find the "Administrators" section.
  3. Add your bot as an administrator of your channel, giving it the necessary permissions (at least the permission to send messages).