Open s1rne opened 1 month ago
same
I fix it In order for all your accounts to work, you need to divide 1 bot for each session, I tested on 3 sessions in one bot, it did not work.
Что бы у вас все аккаунты заработали, вам нужно разделить на каждую сессию по 1 боту, я тестировал на 3 сессиях в одном боте, не работало.
After change domen to
.club
stopped work multi-account. I tried run accounts one by one, but it is did't help. I changed user-agent after work first account. It is did help, but not for long. I think what required create random user-agent.Most likely this is a problem for everyone
same
не работает!
не работает!
Всё работает, внимательно сделай все обновления Install и в конце будет желтым команда вот и её тоже сделай, и после чего залей по инструкции. Посмотри у меня в консоли есть время работы, и время как видишь актуальное!
не работает!
Всё работает, внимательно сделай все обновления Install и в конце будет желтым команда вот и её тоже сделай, и после чего залей по инструкции. Посмотри у меня в консоли есть время работы, и время как видишь актуальное!
Да, разделение на 1 сессия - 1 бот работает, но вопрос что бы в одном окне иметь несколько сессий, если у тебя 3 сессии то у кого-то может быть 80 сессий и разделять их на каждого бота времязатратно
не работает!
Всё работает, внимательно сделай все обновления Install и в конце будет желтым команда вот и её тоже сделай, и после чего залей по инструкции. Посмотри у меня в консоли есть время работы, и время как видишь актуальное!
Помогло, но это не самый удобный способ запуска фермы. Я не понимаю почему не работает через потоки asyncio. Да даже почему не работает если в одной программе последовательно запускать сессии? ведь это должно быть так же, как и отдельные окна. Если переписать на multiprocessing, будет же работать?
не работает!
Всё работает, внимательно сделай все обновления Install и в конце будет желтым команда вот и её тоже сделай, и после чего залей по инструкции. Посмотри у меня в консоли есть время работы, и время как видишь актуальное!
Да, разделение на 1 сессия - 1 бот работает, но вопрос что бы в одном окне иметь несколько сессий, если у тебя 3 сессии то у кого-то может быть 80 сессий и разделять их на каждого бота времязатратно
Я переписал на multiprocessing и это помогло. Я могу скинуть код для перехода на multiprocessing.
tapper.py: Надо добавить функцию, в которую передаём tg_client типа list. в нём надо передать все нужные данные для создания клиента (я запускаю клиента через session_string, вам же надо поменять на свой способ). также параметр settings это тоже моя доработка, вам это не надо
def run_tapper_(tg_client: list, proxy: str | None, lock: asyncio.Lock, settings):
_tg_client = Client(
name=tg_client[0],
api_id=tg_client[1],
api_hash=tg_client[2],
session_string=tg_client[3])
return asyncio.run(run_tapper(tg_client=_tg_client, proxy=proxy, lock=lock, settings=settings))
После чего надо запускать не await run_tapper(...)
, а run_tapper_(...)
как создавать таски:
import multiprocessing as mp
...
tasks = [
mp.Process(target=func, args=[[tg_client[0], tg_client[1], tg_client[2], tg_client[3]], None, lock, setting]) for tg_client, setting in zip(tg_clients, settings)
]
...
[x.start() for x in tasks]
[x.join() for x in tasks]
Куда надо поместить код с этого момента?
После чего надо запускать не
await run_tapper(...)
, аrun_tapper_(...)
как создавать таски:
import multiprocessing as mp ... tasks = [ mp.Process(target=func, args=[[tg_client[0], tg_client[1], tg_client[2], tg_client[3]], None, lock, setting]) for tg_client, setting in zip(tg_clients, settings) ] ... [x.start() for x in tasks] [x.join() for x in tasks]
Куда надо поместить код с этого момента?
После чего надо запускать не
await run_tapper(...)
, аrun_tapper_(...)
как создавать таски:import multiprocessing as mp ... tasks = [ mp.Process(target=func, args=[[tg_client[0], tg_client[1], tg_client[2], tg_client[3]], None, lock, setting]) for tg_client, setting in zip(tg_clients, settings) ] ... [x.start() for x in tasks] [x.join() for x in tasks]
В utils/launcher.py с 101 по 112 строку замени моим куском кода
tasks = [
mp.Process(target=run_tapper_, args=[[tg_client[0], tg_client[1], tg_client[2], tg_client[3]], None, lock]) for tg_client in tg_clients
]
[x.start() for x in tasks]
[x.join() for x in tasks]
Не забудь добавить функцию runtapper в tapper.py и передавать не массив сессий, а массив данных для создания сессий. Ну и надо в начало файла добавить импорт multiprocessing.
Важно, я использую для создания сессий session_string, так как я работаю с бд, поэтому тебе надо в runtapper передавать session_name, api_id, api_hash, workdir
Важно, я использую для создания сессий session_string, так как я работаю с бд, поэтому тебе надо в runtapper передавать session_name, api_id, api_hash, workdir
А как быть с проксями? Если проксифайером закрываться дак там надо имя процесса иметь разное или ID угадывать....
Важно, я использую для создания сессий session_string, так как я работаю с бд, поэтому тебе надо в runtapper передавать session_name, api_id, api_hash, workdir
А как быть с проксями? Если проксифайером закрываться дак там надо имя процесса иметь разное или ID угадывать....
Да забыл написать, ну передавать прокси тоже, просто на один параметр больше. В способе с multiprocessing ты передаёшь всё то же самое, просто переменную клиента ты создаёшь не перед созданием потока, а в самом потоке
After change domen to
.club
stopped work multi-account. I tried run accounts one by one, but it is did't help. I changed user-agent after work first account. It is did help, but not for long. I think what required create random user-agent.Most likely this is a problem for everyone