Skip to content

Bot that provides access to accounts in telegram-cli

Notifications You must be signed in to change notification settings

vivabelarus/TgAccountHolder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

TgAccountHolder

TgAccountHolder - бот, предоставляющий доступ к аккаунтам, залогиненным в telegram-cli. Это позволяет хранить на сервере аккаунты и получать к ним доступ даже если на всех дургих устройствах был произведён выход из них. Бот имеет смысл использовать в том случае, если аккаунт зарегистрирован на номер телефона, к которому нет доступа (в том числе на иностранные или виртуальные номера).

Инструкция

Инстркукция проверялась на Ubuntu Server 20.04 LTS (x64). Для других систем, возможно, необходимо корректировать шаги.

Настройка Telegram-cli

  1. Устанавливаем telegram-cli через snap sudo snap install telegram-cli.
  2. Запускаем его: telegram-cli. После запуска сразу же закрываем.
  3. Редактируем конфиг: vim ~/snap/telegram-cli/current/.telegram-cli/config. В нём указываем профили, которые будут использоваться. Конфиг должен быть примерно таким, как показано ниже. По мере необходимости можно добавлять новые профили.
default_profile = "profile_1" ;

profile_1 = {
config_directory = ".telegram-cli/profile_1";
msg_num = true;
};

profile_2 = {
config_directory = ".telegram-cli/profile_2";
msg_num = true;
};
  1. Проходим авторизацию в каждом профиле. Для этого открываем telegram-cli с соответствующим профилем: telegram-cli -p profile_1 и вводим номер телефона, пароль. После авторизации выходим при помощи quit.

Настройка бота

  1. Устанавливаем pip: sudo apt update; sudo apt install python3-pip
  2. Устанавливаем пакет python для работы с ботом: pip3 install python-telegram-bot --upgrade.
  3. Создаём бота при помощи @BotFather.
  4. Помещаем config.ini и account_holder.py в одну папку.
  5. Редактируем конфиг config.ini. В token поместить токен бота, полученный от @BotFather. В message_prefix поместить префикс сообщения (обязательно изменить). В message_deleting_delay поместить задержку в секундах перед удалением сообщения. Для подробностей смотрите раздел про использование бота.
  6. Запускаем бота python3 account_holder.py, тестируем.
  7. При необходимости создаём демон/сервис для бота.

Использование бота

Account holder маскируется под тестовый echo-бот. Любые сообщения, написанные без указанного префикса, будут пересылаться обратно. Для того, чтобы получить информацию по аккаунту необходимо отправить сообщение вида <префикс> <профиль>. Например, Belarus profile_1. В ответ с некоторой задержкой придёт сообщение, которое будет содержать в себе текст последнего сообщения от Telegram. Кроме того, в сообщении будет содержаться номер телефона (поэтому его можно не хранить в друго месте). Стоит отметить, что не получится при помощи одного приложения Telegram, в котором залогинен какой-то аккаунт, осуществить вход в аккаунт таким образом. Во время авторизации необходимо будет вернуться к боту за кодом, но из-за этого необходимо будет начать авторизацию заново. Поэтому для входа можно залогиниться в другом клиенте Telegram или на другом устройстве.

Команда /start, сообщения запроса информации по профилю и ответы на них удаляются через message_deleting_delay секунд. Поэтому после использования бота нет необходимости в очистке истории сообщений. Эхо-сообщения не удаляются.

About

Bot that provides access to accounts in telegram-cli

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages