Перейти к содержанию

Telegram

Новый способ (начиная с v0.24.0)

Для постинга вам понадобится бот. Зайдите в https://t.me/BotFather и создайте нового бота. Скопируйте его токен. При первом выкладывании пакета вас попросят ввести токен, затем он будет сохранён.

Перед выкладыванием пакета ОБЯЗАТЕЛЬНО добавьте бота в качестве администратора как в канал, куда вы будете постить вопросы, так и в чат. Если бот не будет администратором, ничего не будет работать.

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

Старый способ (до v0.24.0)

Начиная с версии v0.24.0 этот способ не работает!

Сначала зайдите на https://my.telegram.org/apps и создайте новое приложение. Сохраните куда-нибудь ваши api_id и api_hash, вам потребуется ввести их позднее.

Info

Это нужно делать с отключенным VPN, иначе может выдаваться ошибка. Если даже с отключенным VPN приложение не создаётся, попробуйте сделать это с телефона. Если и с телефона не получится, напишите мне.

Затем создайте телеграм-канал и привяжите к нему чат. Например, канал может называться Обсуждение вопросов кубка Дружбы, а чат — Обсуждение вопросов кубка Дружбы Chat.

Введите названия канала и чата в соответствующие поля формы. Обратите внимание: если ссылка на канал — t.me/GoodCupQuestions, а канал называется Обсуждение Хорошего кубка, то в форму надо вводить именно Обсуждение Хорошего кубка, а не GoodCupQuestions.

Поле «Аккаунт для постинга» не надо переименовывать, оно нужно, только если вы собираетесь использовать для выкладывания пакетов несколько разных аккаунтов телеграма.

Первый раз, когда вы будете выкладывать пакет, вам потребуется:

  1. Ввести api_id и api_hash, которые вы сохранили вначале.
  2. Залогиниться в ваш телеграм-аккаунт обычным способом: ввести привязанный номер телефона, одноразовый код и, если у вас включена 2FA, то пароль.

Info

Когда вводите пароль 2FA, звёздочки не показываются, и может создаться впечатление, что ничего не работает — но на самом деле это не так, всё работает. Просто введите пароль и нажмите Enter, всё должно получиться.

При последующих выкладываниях пакетов ничего заново вводить не потребуется. Если вы параноите, то можете удалять эту сессию сразу после выкладывания пакета — тогда потребуется снова логиниться каждый раз при выкладывании пакета (но api_id и api_hash вводить уже не потребуется).

Warning

UPD 17 марта 2025: Поступило две жалобы от людей, которые недавно выкладывали пакет в телеграм — телеграм разлогинил их на всех устройствах (доступ к аккаунту не потерян, но пришлось заново логиниться). В первом случае человек выкладывал пакет с версии 0.23.0 (pyrogram), и это было его первое выкладывание пакета. Во втором — с версии 0.24.0b1 (telethon), и это было не первое выкладывание пакета, но из-за перехода на другую библиотеку пришлось вновь залогиниться.

Мой предварительный вывод таков, что это не проблема скрипта, а нюансы работы телеграмного антиспама — он триггерится на то, что пользователь только что вошёл на новом устройстве и тут же начал херачить с него кучу постов. К примеру, я залогинился уже очень давно, с тех пор выложил много пакетов, и меня никуда не разлогинивает.

Предварительная рекомендация для тех, кто планирует выкладывать пакеты в телеграм в ближайшее время и ранее этого не делал, либо обновился на бету:

Для первого выкладывания используйте небольшой тестовый файлик (необязательно выкладывать в публичный канал, можно в приватный). После этого подождите пару дней, и тогда уже выкладывайте пакет. По идее такие действия должны «успокоить» антиспам, и вы сможете избежать неприятных сюрпризов.