Вот такой софт сделал.
1)Собирает пользователей
2)Спамит пользователей с определенным сообщением.
3)Главный файл для запуска
Если вам нужен парсер, или спамер, или еще какой-то софт который можно реализовать на пайтоне, пишите в тг, обсудим - ТГ
1)Собирает пользователей
Python:
from typing import Union
from pyrogram import Client
class Pars:
def __init__(self, api_id: str, api_hash: str, chat_id: Union[int, str]):
self.api_id = api_id
self.api_hash = api_hash
self.chat_id = chat_id
async def pars_user(self):
user_list = []
app = Client("account", self.api_id, self.api_hash)
try:
async with app:
async for member in app.get_chat_members(self.chat_id):
if member.user.username is None:
pass
else:
user_list.append(member.user.username)
except Exception as e:
print(f"Parse error: {e}")
return user_list
2)Спамит пользователей с определенным сообщением.
Python:
from pyrogram import Client
class Spam:
def __init__(self, api_id: str, api_hash: str, user_name: str):
self.api_id = api_id
self.api_hash = api_hash
self.user_name = user_name
async def pars_user(self, message: str):
app = Client("my_account", self.api_id, self.api_hash)
try:
async with app:
await app.send_message(self.user_name, f"{message}")
except Exception as e:
print(f"Parse error: {e}")
3)Главный файл для запуска
Код:
import asyncio
import time
from parsing import Pars
from spam import Spam
API_ID = 'api id'
API_HASH = 'api hash'
GROUP = 'group'
MESSAGE = 'Hi!'
async def main():
user = await Pars(API_ID, API_HASH, GROUP).pars_user()
for spam_user in user:
await Spam(API_ID, API_HASH, spam_user).pars_user(MESSAGE)
time.sleep(180)
loop = asyncio.get_event_loop()
w = loop.run_until_complete(main())
Если вам нужен парсер, или спамер, или еще какой-то софт который можно реализовать на пайтоне, пишите в тг, обсудим - ТГ
