Подтвердить что ты не робот

Как добавить бота в канал?

Я использую свой бот для передачи важных новостей, но когда я использую sendMessage для канала, я получаю следующую ошибку:

{"ok":false,"error_code":403,"description":"Error: Forbidden: bot is not a participant of the channel"}

В Журнал изменений они упоминают, что невозможно, чтобы клиент послал сообщение на канал, но тогда, что является другим способом сделать это?

Итак, вопрос в том, как добавить мой бот в канал?

4b9b3361

Ответ 1

Теперь все клиенты позволяют это делать, но это не очень просто.
В любом клиенте Telegram:

  • Информация о канале Open (в заголовке приложения)
  • Выберите Administrators
  • Добавить администратора
  • В списке контактов не будет ботов, поэтому вам нужно его искать. Введите свое имя пользователя бота
  • Нажав на него, вы сделаете это как администратор.

введите описание изображения здесь

Ответ 2

Вот как я добавил бота на свой канал и настроил уведомления:

  • Убедитесь, что канал общедоступный (вы можете установить его позже)
  • Добавить администраторов > Введите имя пользователя бота и сделайте его администратором
  • Ваш бот присоединится к вашему каналу
  • установить идентификатор канала, установив URL-адрес канала, например

telegram.me/ whateverIWantAndAvailable

идентификатор канала будет @whateverIWantAndAvailable

Теперь настройте своего бота для отправки уведомлений, прошивая сообщения здесь:

https://api.telegram.org/botTOKENOFTHEBOT/sendMessage?chat_id= @whateverIWantAndAvailable & text = Тест

сообщение, которое бот будет уведомлять: Тест

Я настоятельно рекомендую urlencode сообщения, например

https://api.telegram.org/botTOKENOFTHEBOT/sendMessage?chat_id= @whateverIWantAndAvailable & text = Тестирование %20if %20this %20works

в php вы можете использовать urlencode ( "Test if this works" ); в js вы можете кодироватьURIComponent ( "Проверить, работает ли это" );

Я надеюсь, что это поможет

Ответ 3

На данный момент:

  • Только создатель канала может добавить бота.
  • Другие администраторы не могут добавлять боты к каналам.
  • Канал может быть открытым или закрытым (не имеет значения)
  • боты могут быть добавлены только как админы, а не члены. *

Чтобы добавить бота на ваш канал:

  • нажмите на название канала: введите описание изображения здесь

  • нажмите на администраторов: введите описание изображения здесь

  • нажмите "Добавить администратора": введите описание изображения здесь

  • найдите своего бота как @your_bot_name и нажмите add: ** введите описание изображения здесь

* На некоторых платформах, таких как mac native telegram client, может показаться, что вы можете добавить бота в качестве участника, но в конце он не будет работать.
** бот не обязательно должен находиться в вашем списке контактов.

Ответ 4

Используете ли вы правильный chat_id и включаете бот-маркер после "бота" в адресе? (Api.telegram.org/bot token/sendMessage)

Эта страница объясняет несколько вещей о посылке (в разделе "sendMessage" ) - основной материал, но я часто забываю об основах.

Цитата:

Чтобы использовать метод sendMessage, нам нужно использовать chat_id.

Прежде всего, сначала отправьте команду /start нашему боту через Клиент Telegram.

После отправки этой команды выполните команды getUpdates.

curl -s \
-X POST \ https://api.telegram.org/bot<token>/getUpdates \ | jq .

Ответ будет выглядеть следующим образом

{   "result": [
     {
       "message": {
        "text": "/start",
         "date": 1435176541,
         "chat": {
           "username": "yourusername",
           "first_name": "yourfirstname",
           "id": 65535
         },
         "from": {
           "username": "yourusername",
           "first_name": "yourfirstname",
           "id": 65535
         },
         "message_id": 1
       },
       "update_id": 714636917
     }    ],   "ok": true }

Нас интересует результат свойства .message [0].chat.id, save эту информацию в другом месте.

Обратите внимание, что это только пример, вы можете настроить некоторые автоматизация для обработки этой информации Теперь, как мы можем отправить сообщение? Это простой способ проверить этот фрагмент.

curl -s \
-X POST \ https://api.telegram.org/bot<token>/sendMessage \
-d text="A message from your bot" \
-d chat_id=65535 \ | jq .

Где chat_id - это часть ранее сохраненной информации.

Я надеюсь, что это поможет.