Сегодня я расскажу про свой опыт создания телеграм-бота под видом обычного пользователя.
Обычные боты в Тг создаются через Bot API, однако они видны как боты, а также имеют ряд ограничений (не могут инициировать диалоги).
Поэтому для создания бота, замаскированного под аккаунт в тг, необходимо использовть Telegram API. Для этого нужно получить ваши API ID и API HASH на my.telegram.org. (Лично у меня почему-то при регистрации своего приложения с компьютера выдает ошибку, однако проблем со входом с мобильного устройства почему-то нет).
Эти переменные из соображений безопасности стоит хранить в окружении (env).
1. В корне проекта создаем файл .env, где прописываем данные своего аккаунт в следующем формате:
API_ID=1234567
API_HASH=abcdef12345abcdef12345
PHONE=+79991234567
2. Для бота будем использовать библиотеку Telethon, а также python-dotenv для загрузки переменных окружения
Само окружение .env добавляется в код через load_dotenv(), чтобы затем присвоить новым переменным в этом коде данные из .env (API_ID и тд):
session_name тут это имя файла session_name.session, куда Telethon сохраняет данные авторизации, чтобы не нужно было вводить их вручную каждый раз. Насколько я помню, если у вас стоит двухфакторная аутентификация, вам придет уведомление о входе. Но при дальнейших запусках этого не будет.
Дальше уже весь функционал зависит только от вашей фантазии. Можно через API добавить туда ChatGPT, но об этом не в этой статье.
P.S.: Если вы создаете такого бота с целью спама в разных группах, то не стоит делать это с новорегами, так как они быстро отлетают за спам. Лучше дать такому аккаунту посуществовать какое-то время, попользуйтесь им, а еще лучше купите для него премиум, чтобы реже отлетать за спам.
Обычные боты в Тг создаются через Bot API, однако они видны как боты, а также имеют ряд ограничений (не могут инициировать диалоги).
Поэтому для создания бота, замаскированного под аккаунт в тг, необходимо использовть Telegram API. Для этого нужно получить ваши API ID и API HASH на my.telegram.org. (Лично у меня почему-то при регистрации своего приложения с компьютера выдает ошибку, однако проблем со входом с мобильного устройства почему-то нет).
Эти переменные из соображений безопасности стоит хранить в окружении (env).
1. В корне проекта создаем файл .env, где прописываем данные своего аккаунт в следующем формате:
API_ID=1234567
API_HASH=abcdef12345abcdef12345
PHONE=+79991234567
2. Для бота будем использовать библиотеку Telethon, а также python-dotenv для загрузки переменных окружения
Само окружение .env добавляется в код через load_dotenv(), чтобы затем присвоить новым переменным в этом коде данные из .env (API_ID и тд):
Python:
from telethon.sync import TelegramClient
from dotenv import load_dotenv
import os
load_dotenv()
api_id = int(os.getenv("API_ID"))
api_hash = os.getenv("API_HASH")
phone = os.getenv("PHONE")
client = TelegramClient('session_name', api_id, api_hash)
client.start(phone)
async def send_message():
await client.send_message('username', 'Сообщение от обычного пользователя!')
with client:
client.loop.run_until_complete(send_message())
session_name тут это имя файла session_name.session, куда Telethon сохраняет данные авторизации, чтобы не нужно было вводить их вручную каждый раз. Насколько я помню, если у вас стоит двухфакторная аутентификация, вам придет уведомление о входе. Но при дальнейших запусках этого не будет.
Дальше уже весь функционал зависит только от вашей фантазии. Можно через API добавить туда ChatGPT, но об этом не в этой статье.
P.S.: Если вы создаете такого бота с целью спама в разных группах, то не стоит делать это с новорегами, так как они быстро отлетают за спам. Лучше дать такому аккаунту посуществовать какое-то время, попользуйтесь им, а еще лучше купите для него премиум, чтобы реже отлетать за спам.
Последнее редактирование: