Предвидя комментарии о спаме, небольшая предыстория. Пишу сервис для колл-центра, все общение сотрудников происходит через веб морду (общение логируется), оператор не начинает разговор первым, то есть отвечает на присланные ему сообщения (это ограничено бизнес логикой приложения). Подозрительной активности нет, сообщения отправляются клиентам через очередь celery с delay в секунду. Спам/вступление в чужие группы/парсинг сообщений не настраивал, то есть активность приложения - минимальна.
После регистрации происходит перманентный бан, собственно вопрос - из-за чего? Правила сервиса, вроде как, не нарушаются, пробовал менять апи ключ, прокси сервер (т.к. в России телеграм заблокирован приходится использовать его), смс номера (пробовал как с купленными симкартами, так и с базой номеров), также играл с задержкой в секундах на разных этапах регистрации. При этом бан происходит на этапе создания 1 юзера (частота создания на продакшене также будет минимальна т.к. кол-во операторов около 10 и сам факт обновления номера явление редкое, только в случае расширения персонала)
Пример кода (это простой пример, написанный на коленке, в самом проекте логики чуть больше, но даже на приведенном ниже примере я получаю бан)
from telethon import TelegramClient, sync
from tg_person.person import tg_config
import time
import socks
from tg_person.sms import PhoneService
client = TelegramClient(
f'sessions/TestUserNms',
**tg_config,
proxy=(socks.SOCKS5, '166.62.80.198', 18726)
)
activation = PhoneService.get_tg_phone()
client.connect()
if not client.is_user_authorized():
client.send_code_request(
activation.phone_number)
code = input('Enter code: ')
time.sleep(20)
client.sign_up(code, 'SomeUserNameField')
client.disconnect()
P.s. возможно, нарушены какие-либо правила сервиса, если да, хотелось бы получить на них ссылку и прочитать (т.к. задача только в планах, возможно стоит сменить брокер сообщений на что-нибудь аналогичное, типа вайбера/ватсапа)