корова не моя, может кому пригодиться.
Скрытый контент для зарегистрированных пользователей.
[CLIKE]
Начнём с импорта зависимостей:
Код:
Скопировать в буфер обмена
import win32gui
import pywinauto
from pywinauto.application import Application
from pywinauto.keyboard import send_keys
from time import sleep
import os
import shutil
from ctypes import *
Из нестандартных тут pywinauto и win32gui. Можно установить лишь pywinauto, она сама установит win32gui и вам не придётся мучиться.
Код:
Скопировать в буфер обмена
pip install pywinauto
Модуль ctypes нам нужен для более красивого вывода в консоль Windows (что совершенно не обязательно). Начнём с функции main:
Код:
Скопировать в буфер обмена
if __name__ == '__main__':
os.system("COLOR 01")
os.system("CLS")
blue()
print('How many chats to create?')
green()
data = input(">>> ")
os.system("CLS")
VA = os.listdir(path="VA")
Сначала мы задаём цвет консоли, делаем его чёрным, затем очищаем её. После этого вызываем функцию blue(), которая окрашивает цвет вывода в синий и после вывода текста окрашиваем будущий текст, который введет пользователь, в зеленый. Сама функция изменения цвета в синий будет ниже, так же как и функции изменения цвета в зеленый и красный:
Код:
Скопировать в буфер обмена
def blue():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 3)
def err():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 4)
def green():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 10)
Затем мы добавляем в переменную "VA" папку 'VA' которая была создана заранее, в которую человек помещает аккаунты TData.
Далее, всё в той же функции main мы добавляем пару циклов для работы с аккаунтами телеграм.
Код:
Скопировать в буфер обмена
for i in VA:
shutil.copytree("VA\\" + i, "Telegram")
shutil.copy('Telegram.exe', 'Telegram')
app = Application(backend="uia").start('Telegram\\Telegram.exe')
sleep(3)
hwnd = win32gui.FindWindow(None, "Telegram")
win32gui.MoveWindow(hwnd, 0, 0, 800, 800, True)
for j in range(int(data)):
create_chat()
else:
app.kill()
green()
print('Account ' + str(i) + ' completed work!')
blue()
sleep(1)
shutil.rmtree("Telegram")
sleep(1)
else:
green()
print('Work completed!')
blue()
В переменной VA хранятся папки с файлами TData. Далее, используя модуль shutil, мы копируем первую папку из VA и помещаем в каталог Telegram, который будет при этом создан, после копируем сам exe'шник portable версии Telegram. Затем запускаем его из этой папки, ждем 3 секунды на всякий случай, ибо были и слабые машины, которые не запускают приложение достаточно быстро, хотя это можно было решить и по-другому (например добавлением функции 'visible', которая ждёт, пока приложение появится на экране). Затем с помощью win32gui мы получаем hwnd приложения телеграм, чтобы в дальнейшем переместить его на координаты 0, 0 и задать размеры 800, 800.
Теперь запускаем цикл for, в который передаём значение переменной, введённой пользователем, она отвечает за количество создаваемых чатов и после передаёт управление функции create_chat(). Давайте рассмотрим функцию create_chat()
Код:
Скопировать в буфер обмена
def create_chat():
pywinauto.mouse.click(button='left', coords=(25, 46))
pywinauto.mouse.click(button='left', coords=(111, 195))
send_keys('My Random chat', with_spaces=True)
pywinauto.mouse.click(button='left', coords=(540, 468))
pywinauto.mouse.click(button='left', coords=(274, 189))
send_keys(random_user, with_spaces=True)
sleep(2)
pywinauto.mouse.click(button='left', coords=(345, 251))
pywinauto.mouse.click(button='left', coords=(541, 686))
Тут мы просто используем функции библиотеки pywinauto, которые делают клики мышью и управляют ею. Как можно было догадаться, в coords мы записываем координаты кликов. В send_keys(random_user, with_spaces=True) мы вписываем пользователя которого будем приглашать в чат при создании, ибо этот шаг пропустить нельзя. Идём дальше:
Код:
Скопировать в буфер обмена
for j in range(int(data)):
create_chat()
else:
app.kill()
green()
print('Account ' + str(i) + ' completed work!')
blue()
sleep(1)
shutil.rmtree("Telegram")
sleep(1)
else:
green()
print('Work completed!')
blue()
После того как цикл с созданием аккаунта прошёл, мы убиваем это приложение и отписываем, что аккаунт закончил работу, затем ждём одну секунду и удаляем папку Telegram, чтобы создать её вновь с другим аккаунтом.
После того как все аккаунты закончили работу, мы отписываем в консоль, что работа завершена. Работу программы можно увидеть на гифке ниже:
Ниже преведен конечный вариант кода:
Код:
Скопировать в буфер обмена
import win32gui
import pywinauto
from pywinauto.application import Application
from pywinauto.keyboard import send_keys
from time import sleep
import os
import shutil
from ctypes import *
random_user = 'testbot'
def blue():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 3)
def err():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 4)
def green():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 10)
def create_chat():
pywinauto.mouse.click(button='left', coords=(25, 46))
pywinauto.mouse.click(button='left', coords=(111, 195))
send_keys('My Random chat', with_spaces=True)
pywinauto.mouse.click(button='left', coords=(540, 468))
pywinauto.mouse.click(button='left', coords=(274, 189))
send_keys(random_user, with_spaces=True)
sleep(2)
pywinauto.mouse.click(button='left', coords=(345, 251))
pywinauto.mouse.click(button='left', coords=(541, 686))
if __name__ == '__main__':
os.system("COLOR 01")
os.system("CLS")
blue()
print('How many chats to create?')
green()
data = input(">>> ")
os.system("CLS")
VA = os.listdir(path="VA") # Dir Valid Accaunt
for i in VA:
shutil.copytree("VA\\" + i, "Telegram")
shutil.copy('Telegram.exe', 'Telegram')
app = Application(backend="uia").start('Telegram\\Telegram.exe')
sleep(3)
hwnd = win32gui.FindWindow(None, "Telegram")
win32gui.MoveWindow(hwnd, 0, 0, 800, 800, True)
for j in range(int(data)):
create_chat()
else:
app.kill()
green()
print('Account ' + str(i) + ' completed work!')
blue()
sleep(1)
shutil.rmtree("Telegram")
sleep(1)
else:
green()
print('Work completed!')
blue()
[/CLIKE]
Скрытый контент для зарегистрированных пользователей.
[CLIKE]
Начнём с импорта зависимостей:
Код:
Скопировать в буфер обмена
import win32gui
import pywinauto
from pywinauto.application import Application
from pywinauto.keyboard import send_keys
from time import sleep
import os
import shutil
from ctypes import *
Из нестандартных тут pywinauto и win32gui. Можно установить лишь pywinauto, она сама установит win32gui и вам не придётся мучиться.
Код:
Скопировать в буфер обмена
pip install pywinauto
Модуль ctypes нам нужен для более красивого вывода в консоль Windows (что совершенно не обязательно). Начнём с функции main:
Код:
Скопировать в буфер обмена
if __name__ == '__main__':
os.system("COLOR 01")
os.system("CLS")
blue()
print('How many chats to create?')
green()
data = input(">>> ")
os.system("CLS")
VA = os.listdir(path="VA")
Сначала мы задаём цвет консоли, делаем его чёрным, затем очищаем её. После этого вызываем функцию blue(), которая окрашивает цвет вывода в синий и после вывода текста окрашиваем будущий текст, который введет пользователь, в зеленый. Сама функция изменения цвета в синий будет ниже, так же как и функции изменения цвета в зеленый и красный:
Код:
Скопировать в буфер обмена
def blue():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 3)
def err():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 4)
def green():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 10)
Затем мы добавляем в переменную "VA" папку 'VA' которая была создана заранее, в которую человек помещает аккаунты TData.
Далее, всё в той же функции main мы добавляем пару циклов для работы с аккаунтами телеграм.
Код:
Скопировать в буфер обмена
for i in VA:
shutil.copytree("VA\\" + i, "Telegram")
shutil.copy('Telegram.exe', 'Telegram')
app = Application(backend="uia").start('Telegram\\Telegram.exe')
sleep(3)
hwnd = win32gui.FindWindow(None, "Telegram")
win32gui.MoveWindow(hwnd, 0, 0, 800, 800, True)
for j in range(int(data)):
create_chat()
else:
app.kill()
green()
print('Account ' + str(i) + ' completed work!')
blue()
sleep(1)
shutil.rmtree("Telegram")
sleep(1)
else:
green()
print('Work completed!')
blue()
В переменной VA хранятся папки с файлами TData. Далее, используя модуль shutil, мы копируем первую папку из VA и помещаем в каталог Telegram, который будет при этом создан, после копируем сам exe'шник portable версии Telegram. Затем запускаем его из этой папки, ждем 3 секунды на всякий случай, ибо были и слабые машины, которые не запускают приложение достаточно быстро, хотя это можно было решить и по-другому (например добавлением функции 'visible', которая ждёт, пока приложение появится на экране). Затем с помощью win32gui мы получаем hwnd приложения телеграм, чтобы в дальнейшем переместить его на координаты 0, 0 и задать размеры 800, 800.
Теперь запускаем цикл for, в который передаём значение переменной, введённой пользователем, она отвечает за количество создаваемых чатов и после передаёт управление функции create_chat(). Давайте рассмотрим функцию create_chat()
Код:
Скопировать в буфер обмена
def create_chat():
pywinauto.mouse.click(button='left', coords=(25, 46))
pywinauto.mouse.click(button='left', coords=(111, 195))
send_keys('My Random chat', with_spaces=True)
pywinauto.mouse.click(button='left', coords=(540, 468))
pywinauto.mouse.click(button='left', coords=(274, 189))
send_keys(random_user, with_spaces=True)
sleep(2)
pywinauto.mouse.click(button='left', coords=(345, 251))
pywinauto.mouse.click(button='left', coords=(541, 686))
Тут мы просто используем функции библиотеки pywinauto, которые делают клики мышью и управляют ею. Как можно было догадаться, в coords мы записываем координаты кликов. В send_keys(random_user, with_spaces=True) мы вписываем пользователя которого будем приглашать в чат при создании, ибо этот шаг пропустить нельзя. Идём дальше:
Код:
Скопировать в буфер обмена
for j in range(int(data)):
create_chat()
else:
app.kill()
green()
print('Account ' + str(i) + ' completed work!')
blue()
sleep(1)
shutil.rmtree("Telegram")
sleep(1)
else:
green()
print('Work completed!')
blue()
После того как цикл с созданием аккаунта прошёл, мы убиваем это приложение и отписываем, что аккаунт закончил работу, затем ждём одну секунду и удаляем папку Telegram, чтобы создать её вновь с другим аккаунтом.
После того как все аккаунты закончили работу, мы отписываем в консоль, что работа завершена. Работу программы можно увидеть на гифке ниже:
Ниже преведен конечный вариант кода:
Код:
Скопировать в буфер обмена
import win32gui
import pywinauto
from pywinauto.application import Application
from pywinauto.keyboard import send_keys
from time import sleep
import os
import shutil
from ctypes import *
random_user = 'testbot'
def blue():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 3)
def err():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 4)
def green():
h = windll.Kernel32.GetStdHandle(c_ulong(0xfffffff5))
windll.Kernel32.SetConsoleTextAttribute(h, 10)
def create_chat():
pywinauto.mouse.click(button='left', coords=(25, 46))
pywinauto.mouse.click(button='left', coords=(111, 195))
send_keys('My Random chat', with_spaces=True)
pywinauto.mouse.click(button='left', coords=(540, 468))
pywinauto.mouse.click(button='left', coords=(274, 189))
send_keys(random_user, with_spaces=True)
sleep(2)
pywinauto.mouse.click(button='left', coords=(345, 251))
pywinauto.mouse.click(button='left', coords=(541, 686))
if __name__ == '__main__':
os.system("COLOR 01")
os.system("CLS")
blue()
print('How many chats to create?')
green()
data = input(">>> ")
os.system("CLS")
VA = os.listdir(path="VA") # Dir Valid Accaunt
for i in VA:
shutil.copytree("VA\\" + i, "Telegram")
shutil.copy('Telegram.exe', 'Telegram')
app = Application(backend="uia").start('Telegram\\Telegram.exe')
sleep(3)
hwnd = win32gui.FindWindow(None, "Telegram")
win32gui.MoveWindow(hwnd, 0, 0, 800, 800, True)
for j in range(int(data)):
create_chat()
else:
app.kill()
green()
print('Account ' + str(i) + ' completed work!')
blue()
sleep(1)
shutil.rmtree("Telegram")
sleep(1)
else:
green()
print('Work completed!')
blue()
[/CLIKE]