Пример #1
0
async def play(evt: CommandEvent) -> EventID:
    if len(evt.args) < 1:
        return await evt.reply("**Usage:** `$cmdprefix+sp play <play ID>`")
    elif not await evt.sender.is_logged_in():
        return await evt.reply(
            "You must be logged in with a real account to play games.")
    elif evt.sender.is_bot:
        return await evt.reply("Bots can't play games :(")

    try:
        peer, msg = await _parse_encoded_msgid(evt.sender,
                                               evt.args[0],
                                               type_name="play")
    except MessageIDError as e:
        return await evt.reply(e.message)

    if not isinstance(msg.media, MessageMediaGame):
        return await evt.reply(
            "Invalid play ID (message doesn't look like a game)")

    game = await evt.sender.client(
        GetBotCallbackAnswerRequest(peer=peer, msg_id=msg.id, game=True))
    if not isinstance(game, BotCallbackAnswer):
        return await evt.reply("Game request response invalid")

    return await evt.reply(
        f"Click [here]({game.url}) to play {msg.media.game.title}:\n\n"
        f"{msg.media.game.description}")
Пример #2
0
        async def visit_ads(event):

            original_update = event.original_update
            if type(original_update) is not UpdateShortMessage:
                if hasattr(original_update.message, 'reply_markup') and type(
                        original_update.message.reply_markup
                ) is ReplyInlineMarkup:
                    url = event.original_update.message.reply_markup.rows[
                        0].buttons[0].url
                    #url = event.message.reply_markup.rows[0].buttons[0].url

                    if url is not None:
                        print_msg_time('Mengunjungi situs web...')

                        # Parse the html of url
                        (status_code, text_response) = get_response(url)
                        parse_data = BeautifulSoup(text_response,
                                                   'html.parser')
                        captcha = parse_data.find('div',
                                                  {'class': 'g-recaptcha'})

                        # Captcha detected
                        if captcha is not None:
                            print_msg_time(Fore.CYAN + 'Captcha detected!' +
                                           Fore.CYAN + ' Skipping ads...\n')

                            # Clicks the skip
                            await client(
                                GetBotCallbackAnswerRequest(
                                    peer=url_channel,
                                    msg_id=event.message.id,
                                    data=event.message.reply_markup.rows[1].
                                    buttons[1].data))
Пример #3
0
def skip_task(client, message):
    client(
        GetBotCallbackAnswerRequest(
            config.BOT_ADDRESS,
            message.id,
            data=message.reply_markup.rows[1].buttons[1].data))
    time.sleep(5)
Пример #4
0
async def skip_task(phone, err_msg, arg):
	'''
	Skips task(not always really skips)

	arg -- dictionary, {'tl_bot_chat': bot_chat_variable, 'msg': last_message(not string, but message object),
						'really_skip':True or False(read explanation), 'client': telethon_telgram_client}

	really_skip - some exceptions that occurs while getting on page do not mean that reward won't be given.
	I discovered that only captcha do not allow bot to get reward(see in captcha exception in main()). 
	So if variable is True(only captcha case) we really skip on new task if opposite, wait for default amount
	of seconds and go forward(if we had to wait more, main() will help by waiting new message)
	'''
	print(phone + ': ' + err_msg)
	if arg['really_skip']:
		await arg['client'](GetBotCallbackAnswerRequest(arg['tl_bot_chat'], arg['msg'].id, data=arg['msg'].reply_markup.rows[1].buttons[1].data))
		await asyncio.sleep(3)
	else:
		#define how long to wait
		msg = await arg['client'].get_messages(arg['tl_bot_chat'], limit=1)
		msg = msg[0]
		wait = str(msg.message).replace('You must stay on the site for', '').replace('seconds to get your reward.', '')
		wait = str(wait).replace('Please stay on the site for at least', '').replace('seconds...', '')
		try:
			wait = int(wait)
		except ValueError:
			print('Can not define how long to wait. Standart value is 15 seconds')
			wait = 10

		print('Wait for 15 seconds')
		await asyncio.sleep(wait + 5) # +5 for insurance
		
	print(phone + ': ' + 'Skipped!')
Пример #5
0
    async def visit_ads(event):

        original_update = event.original_update
        if type(original_update) is not UpdateShortMessage:
            if hasattr(original_update.message, 'reply_markup') and type(
                    original_update.message.reply_markup) is ReplyInlineMarkup:
                url = event.original_update.message.reply_markup.rows[
                    0].buttons[0].url
                #url = event.message.reply_markup.rows[0].buttons[0].url

                if url is not None:
                    print_msg_time('SEDANG MASUK KE WEBSITE...')

                    # Parse the html of url
                    (status_code, text_response) = get_response(url)
                    parse_data = BeautifulSoup(text_response, 'html.parser')
                    captcha = parse_data.find('div', {'class': 'g-recaptcha'})

                    # Captcha detected
                    if captcha is not None:
                        print_msg_time(Fore.RED + 'CAPTCHA TERDETEKSI !!!' +
                                       Fore.RED + ' SKIP CAPTCHA !!!')

                        # Clicks the skip
                        await client(
                            GetBotCallbackAnswerRequest(
                                peer=bchclick_channel,
                                msg_id=event.message.id,
                                data=event.message.reply_markup.rows[0].
                                buttons[1].data))
Пример #6
0
    def getReward(self, chat):
        try:
            msg = self.teleClient.get_messages(chat, limit=1)
            time.sleep(5)
            channel_msg = msg[0].reply_markup.rows[0].buttons[0].url
            message_id = msg[0].id
            button_data = msg[0].reply_markup.rows[1].buttons[1].data

            print("[ " + self.name + " ] " + f'URL @{channel_msg}')
            channel_name = self.returnName(channel_msg)

            print("[ " + self.name + " ] " + f'Messaging @{channel_name}...')
            time.sleep(1)
            try:
                msg_channel = self.teleClient.send_message(channel_name, '/start')
                time.sleep(5)
                msg_get = self.teleClient.get_messages(channel_name, limit=1)
                msg_text = msg_get[0].raw_text
                if "/start" in msg_text and len(msg_text) == 6:
                    self.teleClient(GetBotCallbackAnswerRequest(
                        chat,
                        message_id,
                        data=button_data
                    ))
                    print("[ " + self.name + " ] " + "Skiping task.....")
                else:
                    message_channel_id = msg_get[0].id
                    self.teleClient.forward_messages("@" + self.currentChat.username, message_channel_id, channel_name)
                    print("[ " + self.name + " ] " + "Forward message send good good!")








            except:
                self.teleClient(GetBotCallbackAnswerRequest(
                    chat,
                    message_id,
                    data=button_data
                ))
        except:
            print(
                "[ " + self.name + " ] " + "no new ads available form for MsgBot " + self.currentChat.first_name + " (" + str(
                    self.noAds) + ")")
Пример #7
0
async def skip_task(bot, message):
    await bot(
        GetBotCallbackAnswerRequest(
            Config.BOT_ADDRESS.value,
            message.id,
            data=message.reply_markup.rows[1].buttons[1].data,
        )
    )
Пример #8
0
async def get_response_alt(client, event, url, bot_choice):
    """
    Requests `url` with requests.

    If it turns out to be telegram.me invoke a skip.
    If it is a dodge.click url with a countdown timer, attempt to grab the code/token
    and manually simulate the XHR to claim the reward rather than wait...

    :param client:
    :param event:
    :param url:
    :param bot_choice:
    :return:
    """
    try:
        response = requests.get(url,
                                headers={"User-Agent": settings.USER_AGENT},
                                timeout=15)
        response.raise_for_status()
    except requests.exceptions.RequestException as rexc:
        logger.error(rexc)
        return None, None

    if 'telegram.me' in response.url:
        # Skip it
        logger.debug('Skipping telegram.me')
        await client(
            GetBotCallbackAnswerRequest(
                peer=bot_choice,
                msg_id=event.message.id,
                data=event.message.reply_markup.rows[1].buttons[1].data))
    elif 'doge.click' in response.url:
        logger.debug('Parse dodge-click...')
        soup = BeautifulSoup(response.text, 'html.parser')
        headbar = soup.find("div", {"id": "headbar"})
        code = headbar.get('data-code')
        token = headbar.get('data-token')
        wait_error = True
        retry_count = 0
        while wait_error is True and retry_count <= MAX_REWARD_RETRIES:
            retry_count += 1
            logger.debug(
                f'\t [Attempt {retry_count}/{MAX_REWARD_RETRIES}]'
                f' Trying to claim the reward with code {code} and token {token}...'
            )
            status_code, text = claim_reward(code, token)
            j_resp = json.loads(text)
            wait_error = 'You must wait' in j_resp['error']
            if wait_error:
                logger.debug(j_resp['error'])
                how_long = re.findall(r'\d+', j_resp['error'])[0]
                logger.debug(
                    f'\t Waiting {how_long} seconds before retrying...')
                time.sleep(int(how_long))
            elif j_resp['reward']:
                logger.debug(f"Claimed reward of {j_resp['reward']}")
            else:
                logger.error(j_resp['error'])
Пример #9
0
def bot_send(username, bot_l):
    time.sleep(3)
    client.send_message('BCH_clickbot', '/bots')
    time.sleep(1)
    msgs = client.get_messages('BCH_clickbot')
    url = msgs[0].reply_markup.rows[0].buttons[0].url
    url = url.replace("https://t.me/", "")
    name = ""
    for x in url:
        if x == '?':
            break
        name += x

    bot_l.append(name)
    print(bot_l)
    if (len(bot_l) > 1) and (bot_l[-1] == bot_l[-2]):
        result = client(
            functions.messages.DeleteHistoryRequest(peer=name,
                                                    max_id=0,
                                                    just_clear=True,
                                                    revoke=True))
        print("повторяется ссылка")

    if (len(bot_l) > 1) and (bot_l[-1] == bot_l[-3]):
        button_data = msgs[0].reply_markup.rows[1].buttons[1].data
        message_id = msgs[0].id

        resp = client(
            GetBotCallbackAnswerRequest('BCH Click Bot',
                                        message_id,
                                        data=button_data))

    try:
        result = client(
            functions.messages.StartBotRequest(bot=name,
                                               peer=username,
                                               start_param="asasas"))
    except:
        result = client(
            functions.messages.DeleteHistoryRequest(peer=name,
                                                    max_id=0,
                                                    just_clear=True,
                                                    revoke=True))

    time.sleep(2)
    msgs = client.get_messages(name)

    result = client(
        functions.messages.ForwardMessagesRequest(from_peer=name,
                                                  id=[msgs[0].id],
                                                  to_peer="BCH_clickbot",
                                                  with_my_score=True))
    if len(bot_l) >= 3:
        del bot_l[0]
Пример #10
0
        def skip_task(self, bot_name, cb):
            self.client.send_message(bot_name, "/visit")
            time.sleep(3)
            msgs_2 = self.client.get_messages(cb)
            self.skip_message_id = msgs_2[0].id
            self.skip_button_data = msgs_2[0].reply_markup.rows[1].buttons[
                1].data

            from telethon.tl.functions.messages import GetBotCallbackAnswerRequest
            self.client(
                GetBotCallbackAnswerRequest(bot_name,
                                            self.skip_message_id,
                                            data=self.skip_button_data))
            time.sleep(2)
Пример #11
0
 def mesg():
     mengetik('\x1b[1;36m================================ \x1b[1;32m(MESSAGING BOT)\n')
     for i in range(5000000):
         sys.stdout.write('\r')
         sys.stdout.write('                                                              ')
         sys.stdout.write('\r')
         sys.stdout.write('\x1b[1;30m[\x1b[1;33m!\x1b[1;30m] \x1b[1;33mTrying to messaging channel')
         sys.stdout.flush()
         client.send_message(entity=channel_entity, message='🤖 Message bots')
         sleep(2)
         posts = client(GetHistoryRequest(peer=channel_entity, limit=1, offset_date=None, offset_id=0, max_id=0, min_id=0, add_offset=0, hash=0))
         if posts.messages[0].message.find('Sorry, there are no new ads available') != -1:
             sys.stdout.write('\r\x1b[1;30m[\x1b[1;31mx\x1b[1;30m] \x1b[1;31mSorry, there are no new ads available. \x1a\n\n')
             join()
         else:
             try:
                 url = posts.messages[0].reply_markup.rows[0].buttons[0].url
                 r = c.get(url, headers=ua, timeout=15, allow_redirects=True)
                 soup = BeautifulSoup(r.content, 'html.parser')
                 dat = soup.find('div', class_='tgme_page_extra')
                 bot = dat.text.strip()
                 channel_name = client.get_entity(bot)
                 sys.stdout.write('\r')
                 sys.stdout.write('                                                                ')
                 sys.stdout.write('\r')
                 sys.stdout.write(f"\x1b[1;30m[\x1b[1;33m-\x1b[1;30m] \x1b[1;33mMessaging bot {bot}")
                 sys.stdout.flush()
                 sleep(2)
                 client.send_message(entity=channel_name, message='/start')
                 sleep(2)
                 posts_ = client(GetHistoryRequest(peer=channel_name, limit=1, offset_date=None, offset_id=0, max_id=0, min_id=0, add_offset=0, hash=0))
                 msg_id = posts_.messages[0].id
                 client.forward_messages(channel_entity, msg_id, channel_name)
                 sleep(2)
                 posts__ = client(GetHistoryRequest(peer=channel_entity, limit=3, offset_date=None, offset_id=0, max_id=0, min_id=0, add_offset=0, hash=0))
                 msg = posts__.messages[1].message
                 msgc = posts__.messages[0].message
                 id = posts__.messages[2].id
                 if posts__.messages[0].message.find('not a valid') != -1:
                     client(GetBotCallbackAnswerRequest(channel_entity,
                       id,
                       data=(posts__.messages[2].reply_markup.rows[1].buttons[1].data)))
                     sys.stdout.write('\r\x1b[1;30m[\x1b[1;31mx\x1b[1;30m] \x1b[1;31mSkip task...!                                                            \n')
                     sleep(2)
                 else:
                     sys.stdout.write(f"\r\x1b[1;30m[\x1b[1;32m+\x1b[1;30m] \x1b[1;32m{msg}\n")
                     sleep(2)
             except Exception:
                 sys.stdout.write('\r\x1b[1;30m[\x1b[1;31mx\x1b[1;30m] \x1b[1;31mSorry, there are no new ads available. \x1a\n\n')
                 join()
Пример #12
0
        def skip_task(self):
            self.client.send_message('LTC Click Bot', "/visit")
            time.sleep(3)
            msgs_2 = self.client.get_messages('Litecoin_click_bot')
            self.skip_message_id = msgs_2[0].id
            self.skip_button_data = msgs_2[0].reply_markup.rows[1].buttons[
                1].data

            from telethon.tl.functions.messages import GetBotCallbackAnswerRequest
            self.client(
                GetBotCallbackAnswerRequest('LTC Click Bot',
                                            self.skip_message_id,
                                            data=self.skip_button_data))
            time.sleep(2)
Пример #13
0
		async def join_start(event):
			message = event.raw_text
			if 'You must join' in message:	
				channel_name = re.search(r'You must join @(.*?) to earn', message).group(1)
				print_msg_time(Fore.WHITE + f'Joining @{channel_name}...')
				
				# Join the channel
				await client(JoinChannelRequest(channel_name))
				print_msg_time(Fore.WHITE + f'Verifying...')
				
				# Clicks the joined
				await client(GetBotCallbackAnswerRequest(
					peer=url_channel,
					msg_id=event.message.id,
					data=event.message.reply_markup.rows[0].buttons[1].data
				))
Пример #14
0
    async def skip_task(self, msg):
        print('Skip captcha')

        if msg.reply_markup is None:
            print("SKIP FAILED:", msg)
            return

        rows = msg.reply_markup.rows
        if len(rows) < 2 or len(rows[1].buttons) < 2:
            print("SKIP FAILED:", msg)
            return

        await self.client(
            GetBotCallbackAnswerRequest(self.dialog,
                                        msg.id,
                                        data=rows[1].buttons[1].data))
Пример #15
0
async def handler_edit(event):
    global Target
    if (utils.get_display_name(
            await event.get_sender()) == 'Bastion Siege v2') and (re.search(
                r'Цель:', event.message.message)):
        try:
            EnemyAlliance = re.search(r'\[(.*)\]',
                                      event.message.message).group(1)
        except:
            EnemyAlliance = ''
        if (Target != '') and (Target != EnemyAlliance):
            await client(
                GetBotCallbackAnswerRequest(
                    764095451,
                    event.id,
                    data=event.reply_markup.rows[0].buttons[0].data))
Пример #16
0
async def handle(message, bot_entity, url_set: set,
                 web_driver_manager: WebDriverManager) -> int:
    if re.search(r".*Press.*button to earn.*", message.message):
        url = message.reply_markup.rows[0].buttons[0].url
        button_data = message.reply_markup.rows[1].buttons[1].data
        message_id = message.id

        logging.info(f"New reward has been found: {url}")

        if url in url_set:
            await client.send_message(entity=bot_entity, message=VISIT_COMMAND)
            logging.info("Url: {} is already present in set".format(url))
            time.sleep(2)

        wd = web_driver_manager.get_web_driver()
        wd.get(url)
        time.sleep(3)

        close_alert(wd)

        if is_element_exists(wd, xpath=CAPTCHA_XPATH):
            logging.info(f"There was a captcha for url {url}")
            await client(
                GetBotCallbackAnswerRequest(bot_entity,
                                            message_id,
                                            data=button_data))

        return 1

    elif re.search(r".*stay on the site.*", message.message):
        time_to_wait = int(re.sub(r'\D', '', message.message))
        logging.info(f"Staying on a site for {time_to_wait} seconds")
        time.sleep(time_to_wait + 2)

        return 1

    elif re.search(r".*there are no new ads available.*", message.message):
        logging.info("Sorry case, new /visit messages will be sent")
        await client.send_message(entity=bot_entity, message=VISIT_COMMAND)
        return 0

    elif re.search(r"You earned.*for visiting a site", message.message):
        logging.info("Your earned message was handled")
        return 1
    else:
        logging.info(f"Unknown message: {message}")
        return -1
Пример #17
0
 def CheckJoin(self, chat):
     msg = self.teleClient.get_messages(chat, limit=1)
     time.sleep(5)
     if "We cannot find you in the group" in msg[0].message:
         self.teleClient.send_message(self.currentChat.name, "/join")
         msg = self.teleClient.get_messages(chat, limit=1)
         time.sleep(5)
         message_id = msg[0].id
         button_data_skip = msg[0].reply_markup.rows[1].buttons[1].data
         self.teleClient(GetBotCallbackAnswerRequest(
             chat,
             message_id,
             data=button_data_skip
         ))
         print("[ " + self.name + " ] " + "skiping task...")
     else:
         print("[ " + self.name + " ] " + "Clicks the joined")
Пример #18
0
    async def join_start(event):
        message = event.raw_text
        if 'You must join' in message:
            channel_name = re.search(r'You must join @(.*?) to earn',
                                     message).group(1)
            print_msg_time(Fore.BLUE + f'BERGABUNG KE @{channel_name}...' +
                           Fore.RESET)

            # Join the channel
            await client(JoinChannelRequest(channel_name))
            print_msg_time(f'VERIFIKASI DATA...')

            # Clicks the joined
            await client(
                GetBotCallbackAnswerRequest(
                    peer=zcclick_channel,
                    msg_id=event.message.id,
                    data=event.message.reply_markup.rows[0].buttons[1].data))
Пример #19
0
async def play(evt: CommandEvent) -> Optional[Dict]:
    if len(evt.args) < 1:
        return await evt.reply("**Usage:** `$cmdprefix+sp play <play ID>`")
    elif not await evt.sender.is_logged_in():
        return await evt.reply("You must be logged in with a real account to play games.")
    elif evt.sender.is_bot:
        return await evt.reply("Bots can't play games :(")

    try:
        play_id = evt.args[0]
        play_id += (4 - len(play_id) % 4) * "="
        play_id = base64.b64decode(play_id)
        peer_type, play_id = bytes([play_id[0]]), play_id[1:]
        tgid = TelegramID(int(codecs.encode(play_id[0:5], "hex_codec"), 16))
        msg_id = TelegramID(int(codecs.encode(play_id[5:10], "hex_codec"), 16))
        space = None
        if peer_type == PEER_TYPE_CHAT:
            space = TelegramID(int(codecs.encode(play_id[10:15], "hex_codec"), 16))
    except ValueError:
        return await evt.reply("Invalid play ID (format)")

    if peer_type == PEER_TYPE_CHAT:
        orig_msg = DBMessage.get_by_tgid(msg_id, space)
        if not orig_msg:
            return await evt.reply("Invalid play ID (original message not found in db)")
        new_msg = DBMessage.get_by_mxid(orig_msg.mxid, orig_msg.mx_room, evt.sender.tgid)
        if not new_msg:
            return await evt.reply("Invalid play ID (your copy of message not found in db)")
        msg_id = new_msg.tgid
    try:
        peer = await evt.sender.client.get_input_entity(tgid)
    except ValueError:
        return await evt.reply("Invalid play ID (chat not found)")

    msg = await evt.sender.client.get_messages(entity=peer, ids=msg_id)
    if not msg or not isinstance(msg.media, MessageMediaGame):
        return await evt.reply("Invalid play ID (message doesn't look like a game)")

    game = await evt.sender.client(GetBotCallbackAnswerRequest(peer=peer, msg_id=msg_id, game=True))
    if not isinstance(game, BotCallbackAnswer):
        return await evt.reply("Game request response invalid")

    await evt.reply(f"Click [here]({game.url}) to play {msg.media.game.title}:\n\n"
                    f"{msg.media.game.description}")
Пример #20
0
    def checkUrl(self, url, message_id, button_data, chat):
        try:
            openUrl = urllib.request.urlopen(url)
            myBytes = openUrl.read()
            pageStr = myBytes.decode("utf8")
        except:
            return False

        if re.search(r'\breCAPTCHA\b', pageStr):
            time.sleep(5)
            print("[ "+self.name +" ] " +"Skiping task...")
            self.teleClient(GetBotCallbackAnswerRequest(
                        chat,
                        message_id,
                        data=button_data
                    ))
            return False
        else:
            return True
Пример #21
0
    async def join_start(event):
        message = event.raw_text
        if 'You must join' in message:
            channel_name = re.search(r'You must join @(.*?) to earn',
                                     message).group(1)
            print_msg_time(f'Joining @{channel_name}...')

            # Verifying Join
            await client(JoinChannelRequest(channel_name))
            print_msg_time(
                f'Verifying... Please wait up to 30s due to Timeout\Spam Join Prevention...'
            )

            # Clicks joined button
            time.sleep(7)
            await client(
                GetBotCallbackAnswerRequest(
                    peer=dogeclick_channel,
                    msg_id=event.message.id,
                    data=event.message.reply_markup.rows[0].buttons[1].data))
            time.sleep(7)
Пример #22
0
                print("Перехожу по ссылке")
                time.sleep(2)
                url_rec = messages[0].reply_markup.rows[0].buttons[0].url
                ch = RunChromeTests()
                ch.testMethod()
                time.sleep(6)
                fp = urllib.request.urlopen(url_rec)
                mybytes = fp.read()
                mystr = mybytes.decode("utf8")
                fp.close()
                if re.search(r'\bSwitch to reCAPTCHA\b', mystr):
                    from telethon.tl.functions.messages import GetBotCallbackAnswerRequest

                    resp = client(
                        GetBotCallbackAnswerRequest('ZEC Click Bot',
                                                    message_id,
                                                    data=button_data))
                    time.sleep(2)
                    print("КАПЧА!")
                    # os.system("pkill chromium")
                else:
                    time.sleep(waitin)
                    # os.system("pkill chromium")
                    time.sleep(2)

        elif re.search(r'\bSorry\b', mes.message):
            client.send_message('ZEC Click Bot', "/visit")
            time.sleep(6)
            print("Найдено Sorry")

        else:
Пример #23
0
                 js['reward'] + " " + argument.channel +
                 " for visiting a site!\n")
     else:
         sys.stdout.write("\r")
         sys.stdout.write(
             "                                                                "
         )
         sys.stdout.write("\r")
         sys.stdout.write(
             f"\r{abu2}[{yellow2}!{abu2}]{yellow} Captcha Detected")
         sys.stdout.flush()
         sleep(2)
         client(
             GetBotCallbackAnswerRequest(
                 channel_username,
                 id,
                 data=posts.messages[0].reply_markup.rows[1].
                 buttons[1].data))
         sys.stdout.write(
             f"\r{abu2}[{red2}x{abu2}] {red}Skip Captcha...!       \n"
         )
         sleep(2)
 except KeyboardInterrupt:
     print(f"\n{abu2}[{red2}x{abu2}] {red}Exit...!")
     sleep(1)
     sys.exit()
 except:
     sleep(3)
     posts = client(
         GetHistoryRequest(peer=channel_entity,
                           limit=1,
def rep():
   global api_id
   global api_hash
   global phone_number
   global channel_entity
   global client
   global channel_username
   global ua
   global c
   
   param=True
   paramt=1
   visitsite="/visit"
   firstclick=True
   global secondchance
   if secondchance==True:
   	client.disconnect()
   	client.connect()

   while True:
      
      for i in range(5000000):
         #send visit
         if firstclick!=True:
         	lastmsg=client(GetHistoryRequest(peer=channel_entity,limit=1,offset_date=None,offset_id=0,max_id=0,min_id=0,add_offset=0,hash=0)).messages[0].message
         	if "Sorry, there are no new ads available" in lastmsg or visitsite in lastmsg or 'Sorry, that task is no longer valid' in lastmsg:
         		client.send_message(entity=channel_entity,message=visitsite)
         		print('\nAds finished\nvisiting')
         		sleep(3)
         	else:
         		print('\nUsing New Ad')
         else:
         	client.send_message(entity=channel_entity,message=visitsite)
         	sleep(3)
         	
         while True:
         	if param==True:
         		print("\033[1;30m# \033[1;33mRetrieving URL")
         	
         	posts = client(GetHistoryRequest(peer=channel_entity,limit=1,offset_date=None,offset_id=0,max_id=0,min_id=0,add_offset=0,hash=0))
         	out= posts.messages[0].message
         	
         	if paramt>=11:
         		paramt=2
         		param=True
         		break
         	if out==visitsite :
         		param=False
         		print('***')
         	
         		paramt+=1
         		sleep(3)
         	else:
         		param=True
         		paramt=1
         		break
         if paramt==2:
         	param=True
         	paramt=1
         	continue
         firstclick=False	
         
         #NoAds
         if posts.messages[0].message.find("Sorry, there are no new ads available") != -1:
            print('\nNo new ad....')
            stats(':')
            print('\nretrying in 5 seconds')
            countdown(5)
            print('\n')
            
         
         #Ads
         else:
            try:
               #go to site and scrape
               url = posts.messages[0].reply_markup.rows[0].buttons[0].url
               sys.stdout.write("\r")
               sys.stdout.write("\033[1;30m# \033[1;33mVisit "+url)
               sys.stdout.flush()
               id = posts.messages[0].id
               r = c.get(url, headers=ua, allow_redirects=True,timeout=15 )
               soup = BeautifulSoup(r.content,"html.parser")
               
               #GoodSearch 
               if soup.find("div",class_="g-recaptcha") is None and soup.find('div', id="headbar") is None:
                  sleep(2)
                  stale1=1
                  #######
                  print('\nGoodSearch1')
                  while stale1<=10:
                  	
                  	posts = client(GetHistoryRequest(peer=channel_entity,limit=1,offset_date=None,offset_id=0,max_id=0,min_id=0,add_offset=0,hash=0))
                  	message = posts.messages[0].message
                  
                  	if "You must stay" in message or "Please stay on" in message:
                  		stale1=100
                  	else:
                  		sleep(1)
                  		
                  		stale1+=1
                  	
                  		
                  if posts.messages[0].message.find("You must stay") != -1 or posts.messages[0].message.find("Please stay on") != -1:
                     sec = re.findall( r'([\d.]*\d+)', message)
                     countdown(int(sec[0]))
                     sleep(1)
                     posts = client(GetHistoryRequest(peer=channel_entity,limit=2,offset_date=None,offset_id=0,max_id=0,min_id=0,add_offset=0,hash=0))
                     messageres = posts.messages[1].message
                     sleep(2)
                     sys.stdout.write("\r\033[1;30m# \033[1;32m"+messageres+"\n")
                     stats(1)
                  else:
                     print('Bot1....I can handle this!')
                     stats(1)

               #GoodSearch
               elif soup.find('div', id="headbar") is not None:
                  nos=1
                  lenn=len(soup.find_all('div',class_="container-fluid"))
                  print('\nGoodSearch2')
                  print('post_event',lenn)
                  for dat in soup.find_all('div',class_="container-fluid"):
                     code = dat.get('data-code')
                     timer = dat.get('data-timer')
                     tokena = dat.get('data-token')
                     print(nos,' out of ',lenn)
                     countdown(int(timer))
                     r = c.post("https://dogeclick.com/reward",data={"code":code,"token":tokena}, headers=ua, timeout=15, allow_redirects=True)
                     js = json.loads(r.text)
                     sys.stdout.write("\r\033[1;30m# \033[1;32mYou earned "+js['reward']+" ZEC for visiting a site!\n")
                     stats(1)   
               
               #Captcha
               else:
                  sys.stdout.write("\r")
                  sys.stdout.write("                                                                ")
                  sys.stdout.write("\r")
                  sys.stdout.write("\033[1;30m# \033[1;31mCaptcha Detected")
                  sys.stdout.flush()
                  sleep(2)
                  client(GetBotCallbackAnswerRequest(channel_username,id,data=posts.messages[0].reply_markup.rows[1].buttons[1].data))
                  sys.stdout.write("\r\033[1;30m# \033[1;31mSkip Captcha...!       \n")
                  sleep(2)
                  stats(0)
            
            except:
               print('\nGoodSearch 3')
               sleep(3)
               stale2=1
               while stale2<=10:
               	posts = client(GetHistoryRequest(peer=channel_entity,limit=1,offset_date=None,offset_id=0,max_id=0,min_id=0,add_offset=0,hash=0))
               	message = posts.messages[0].message
               	if "You must stay" in message or "Please stay on" in message:
               		stale2=100
               	else:
               		print(stale2)
               		sleep(1)
               		stale2+=1
               	
               if posts.messages[0].message.find("You must stay") != -1 or posts.messages[0].message.find("Please stay on") != -1:
                  sec = re.findall( r'([\d.]*\d+)', message)
                  countdown(int(sec[0]))
                  sleep(1)
                  posts = client(GetHistoryRequest(peer=channel_entity,limit=2,offset_date=None,offset_id=0,max_id=0,min_id=0,add_offset=0,hash=0))
                  messageres = posts.messages[1].message
                  sleep(2)
                  sys.stdout.write("\r\033[1;30m# \033[1;32m"+messageres+"\n")
                  stats(1)
               else:
               	print(' Bot2......requires manual clicking!')
               	stats(0)
Пример #25
0
async def main():
    n = 0

    app_id = 1154776
    app_hash = '0f9a89943dec9626ba314fb564b92672'

    client = TelegramClient('anon', app_id, app_hash)

    await client.start()

    dialogs = await client.get_dialogs()

    tegmo = None

    for dialog in dialogs:
        if dialog.title == 'LTC Click Bot':
            tegmo = dialog

    if not tegmo:
        raise ValueError('Couldn\'t find proper dialog')

    def test_method(required_url, wait):
        capabilities = {'browserName': 'chrome'}
        driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub', desired_capabilities=capabilities)
        driver.maximize_window()
        driver.get(required_url)
        time.sleep(wait * 10)
        driver.close()
        driver.quit()

    while True:
        messages = await client.get_messages(tegmo, limit=1)

        for message in messages:
            if re.search(r'\bseconds\b', message.message):
                print('Got \'Reward\'')
                message_string = str(message)
                message_string_formatted = message_string.replace('Please stay on the site for at least ', '')
                timeout = message_string_formatted.replace(' seconds...', '')
                waiting = int(timeout)
                print('Timeout set to ', waiting)
                await client.send_message('LTC Click Bot', '/visit')
                time.sleep(3)
                messages2 = await client.get_messages(tegmo, limit=1)

                for message2 in messages2:
                    button_data = message2.reply_markup.rows[0].buttons[0].url
                    message_id = message2.id

                    print('Following the link')
                    time.sleep(2)
                    print(messages[0].reply_markup.rows[0].buttons[0])
                    url_rec = messages[0].reply_markup.rows[0].buttons[0].url
                    test_method(required_url=url_rec, wait=waiting)
                    time.sleep(6)
                    url_opened = urllib.request.urlopen(url_rec)
                    my_bytes = url_opened.read()
                    my_str = my_bytes.decode('utf-8')
                    url_opened.close()

                    if re.search(r'\bSwitch to reCAPTCHA\b', my_str):
                        from telethon.tl.functions.messages import GetBotCallbackAnswerRequest
                        response = client(GetBotCallbackAnswerRequest(
                            peer='LTC Click Bot',
                            msg_id=message_id,
                            data=button_data))
                        time.sleep(2)
                        print('CAPTCHA')
                    else:
                        time.sleep(waiting)
                        time.sleep(2)
            elif re.search(r'\bSorry\b', message.message):
                await client.send_message('LTC Click Bot', '/visit')
                time.sleep(6)
                print('Got \'Sorry\'')
            else:
                messages = await client.get_messages('Litecoin_click_bot')
                url_rec = messages[0].reply_markup.rows[0].buttons[0].url
                file = open('per10.txt')
                file_content = file.read()
                if file_content == url_rec:
                    print("Variable repetition found")
                    messages2 = await client.get_messages(tegmo, limit=1)
                    for message2 in messages2:
                        button_data = message2.reply_markup.rows[1].buttons[1].data
                        message_id = message2.id
                        from telethon.tl.functions.messages import GetBotCallbackAnswerRequest

                        resp = await client(GetBotCallbackAnswerRequest(
                            tegmo,
                            message_id,
                            data=button_data
                        ))
                        time.sleep(2)
                else:
                    url = 'http://www.virustotal.com/vtapi/v2/url/scan'
                    params = {
                        'apiKey': '52aeccedfd225ce06866aba82a68f7465704a44fe173f4da974c5f3d206c057a',
                        'url': url
                    }
                    response = requests.post(url, data=params)
                    my_file = open('per10.txt', 'w')
                    my_file.write(str(url_rec))
                    print('File overwritten')
                    time.sleep(16)
                    n -= - 1
                    print('Cycles completed', n)
Пример #26
0
            url_exist = False

        if msgs[0].reply_markup != None and url_exist == True:
            url = msgs[0].reply_markup.rows[0].buttons[0].url
            break

    print(url)
    l.append(url)

    button_data = msgs[0].reply_markup.rows[1].buttons[1].data
    message_id = msgs[0].id

    if (len(l) > 1) and (l[-1] == l[-2]):
        resp = client(
            GetBotCallbackAnswerRequest('BCH Click Bot',
                                        message_id,
                                        data=button_data))
        print("повторяется ссылка")
        continue

    to_check = True
    try:
        check = urllib.request.urlopen(url).read()
    except:
        to_check = False
    print("проверяю капча или нет")
    if to_check:
        check = urllib.request.urlopen(url).read()
        if "recaptcha" in str(check):
            resp = client(
                GetBotCallbackAnswerRequest('BCH Click Bot',
Пример #27
0
                try:
                    url_rec = messages[0].reply_markup.rows[0].buttons[0].url
                    ch = RunChromeTests()
                    ch.testMethod()
                except:
                    time.sleep(6)
                    fp = urllib.request.urlopen(url_rec)
                    mybytes = fp.read()
                    mystr = mybytes.decode("utf8")
                    fp.close()
                    if re.search(r'\bSwitch to reCAPTCHA\b', mystr):
                        from telethon.tl.functions.messages import GetBotCallbackAnswerRequest

                        resp = client(
                            GetBotCallbackAnswerRequest('Litecoin_click_bot',
                                                        message_id,
                                                        data=button_data))
                        time.sleep(2)
                        print("КАПЧА!")
                        # os.system("pkill chromium")
                else:
                    time.sleep(waitin)
                    # os.system("pkill chromium")
                    time.sleep(2)

        elif re.search(r'\bSorry\b', mes.message):
            client.send_message('Litecoin_click_bot', "/visit")
            time.sleep(6)
            print("Ads not found")

        else:
Пример #28
0
async def workThread(x):
    await asyncio.sleep(random.uniform(0.1, 0.5))

    print(f"MultiThreadForBotID: {x}")
    exit_pool = False
    while True:

        if exit_pool is True:
            break
        connect = psycopg2.connect(dbname='parsedaccounts',
                                   user='******',
                                   password=password,
                                   host='localhost')

        cur = connect.cursor()
        cur.execute(f"SELECT API_ID FROM RegistredBots WHERE ID = {x}")
        Api_id = cur.fetchone()[0]
        await asyncio.sleep(random.uniform(0.1, 0.5))
        cur.execute(f"SELECT API_HASH FROM RegistredBots WHERE ID = {x}")
        Api_hash = cur.fetchone()[0]
        await asyncio.sleep(random.uniform(0.1, 0.5))
        cur.execute(f"SELECT Session FROM RegistredBots WHERE ID = {x}")
        Session = cur.fetchone()[0]
        await asyncio.sleep(random.uniform(0.1, 0.5))
        cur.execute(f"SELECT Phone FROM RegistredBots WHERE ID = {x}")
        Phone = cur.fetchone()[0]
        await asyncio.sleep(random.uniform(0.1, 0.5))
        print(f"Попытка входа в аккаунт - {Phone} bot id - {x}")
        await asyncio.sleep(random.uniform(1, 2))
        connect.close()
        client = TelegramClient(Session, Api_id, Api_hash)
        await client.start()
        print(f"Успешный вход в аккаунт - {Phone} bot id - {x}")
        print(f"Пора облопошить этих пидоров")
        capcha_counts = 0
        wait_in_quests = 0
        count_tryes = 0
        max_count_types = 3
        errors_count = 0
        errors_bool = False
        thisdialog = None
        while True:
            capcha = False
            if capcha_counts == 10:
                print("Пидоры оказались сильнее")
                print(f"Отступаемcapcha БОТОМ ID-{x}")
                connect.close()
                exit_pool = True
                break
            if wait_in_quests == 3:
                print("Ну и бомжи ебаные нету даже заданий")
                print(f"Отступаемwaitin БОТОМ ID-{x}")
                connect.close()
                exit_pool = True
                x += 1
                break
            if count_tryes == max_count_types:
                print("Ну пару раз выполнил и хватит")
                print(f"Отступаемtryes БОТОМ ID-{x}")
                connect.close()
                exit_pool = True
                break
            if errors_count == 10:
                print("Что то пошло по пизде")
                print(f"Отступаемerror БОТОМ ID-{x}")
                connect.close()
                exit_pool = True
                break
            try:
                dialogs = await client.get_dialogs()
                for dialog in dialogs:
                    if dialog.title == 'LTC Click Bot':
                        thisdialog = dialog
                        print(thisdialog.title)

                await client.send_message('LTC Click Bot', '🖥 Visit sites')
                time.sleep(5)
                msgs = await client.get_messages(thisdialog, limit=1)
                for mes in msgs:
                    if re.search(r'Press the "Visit website"', mes.message):
                        button_data = mes.reply_markup.rows[1].buttons[1].data
                        message_id = mes.id
                        time.sleep(3)

                    elif re.search(r'\bSorry\b', mes.message):
                        print("Пидоры извиняются")
                        wait_in_quests += 1
                        print("Ниче еще раз проверим")
                        errors_bool = True

                    elif re.search(
                            r'\bThe address you entered looks invalid.\b',
                            mes.message):
                        print("Ошибка после проверки баланса. Исправляем...")
                        await client.send_message('LTC Click Bot', '❌ Cancel')
                        errors_bool = True

                time.sleep(2)
                if errors_bool is False:
                    print(
                        f"Идет переход по ссылке {msgs[0].reply_markup.rows[0].buttons[0].url}"
                    )
                    url_rec = msgs[0].reply_markup.rows[0].buttons[0].url
                    tryes = 0
                    goods = False
                    while True:
                        try:
                            if goods is True:
                                print(f"ВСЕ ЗАЕБУМБА БОТОМ ID-{x}")
                                break
                            if (tryes > 5):
                                print(f"Неудачно БОТОМ ID-{x}")
                                capcha = True
                                break
                            fp = urllib.request.urlopen(url_rec)
                            print(f"Открывает БОТОМ ID-{x}")
                            mybytes = fp.read()
                            print(f"Читает БОТОМ ID-{x}")
                            time.sleep(2)
                            mystr = mybytes.decode("utf8")
                            print(f"Декодит БОТОМ ID-{x}")
                            time.sleep(2)
                            fp.close()
                            print(f"Закрывает БОТОМ ID-{x}")
                            time.sleep(2)
                            msgs = await client.get_messages(thisdialog,
                                                             limit=1)
                            for mes7 in msgs:
                                if re.search(r'You must stay on the site for ',
                                             mes7.message):
                                    wait_time = str(mes7.message).replace(
                                        'You must stay on the site for', '')
                                    wait_time = str(wait_time).replace(
                                        'seconds to get your reward.', '')
                                    str_wait = int(wait_time) + 5
                                    print(
                                        f"Сидим пердим {str(str_wait)} секунд")
                                    time.sleep(int(wait_time) + 5)
                                    goods = True
                                    break

                                elif re.search(
                                        r'Please stay on the site for at least ',
                                        mes7.message):
                                    wait_time = str(mes7.message).replace(
                                        'Please stay on the site for at least ',
                                        '')
                                    wait_time = str(wait_time).replace(
                                        ' seconds...', '')
                                    str_wait = int(wait_time) + 5
                                    print(
                                        f"Сидим пердим {str(str_wait)} секунд")
                                    time.sleep(int(wait_time) + 5)
                                    goods = True
                                    break
                            if re.search(r'\breCAPTCHA\b', mystr):
                                time.sleep(2)
                                print(f"ПИДОРЫ DETECTED! БОТОМ ID-{x}")
                                capcha = True
                                break

                            else:
                                time.sleep(3)
                                msgs = await client.get_messages(thisdialog,
                                                                 limit=1)
                                for mes3 in msgs:
                                    if re.search(
                                            r'You must stay on the site for ',
                                            mes3.message):
                                        wait_time = str(mes3.message).replace(
                                            'You must stay on the site for',
                                            '')
                                        wait_time = str(wait_time).replace(
                                            'seconds to get your reward.', '')
                                        str_wait = int(wait_time) + 5
                                        print(
                                            f"Сидим пердим {str(str_wait)} секунд БОТОМ ID-{x}"
                                        )
                                        time.sleep(int(wait_time) + 5)
                                        goods = True
                                        break

                                    elif re.search(
                                            r'Please stay on the site for at least ',
                                            mes3.message):
                                        wait_time = str(mes3.message).replace(
                                            'Please stay on the site for at least ',
                                            '')
                                        wait_time = str(wait_time).replace(
                                            ' seconds...', '')
                                        str_wait = int(wait_time) + 5
                                        print(
                                            f"Сидим пердим {str(str_wait)} секунд БОТОМ ID-{x}"
                                        )
                                        time.sleep(int(wait_time) + 5)
                                        goods = True
                                        break

                                break
                        except Exception as er:
                            print(f"Смотрим БОТОМ ID-{x}")
                            wait_time = 0

                            msgs1 = await client.get_messages(thisdialog,
                                                              limit=1)
                            for mes6 in msgs1:
                                print(mes6.message)
                                if re.search(r'You must stay on the site for ',
                                             mes6.message):
                                    wait_time = str(mes6.message).replace(
                                        'You must stay on the site for', '')
                                    wait_time = str(wait_time).replace(
                                        'seconds to get your reward.', '')
                                    str_wait = int(wait_time) + 5
                                    print(
                                        f"Сидим пердим {str(str_wait)} секунд")
                                    goods = True
                                    time.sleep(int(wait_time) + 5)
                                    break

                                elif re.search(
                                        r'Please stay on the site for at least ',
                                        mes6.message):
                                    wait_time = str(mes6.message).replace(
                                        'Please stay on the site for at least ',
                                        '')
                                    wait_time = str(wait_time).replace(
                                        ' seconds...', '')
                                    str_wait = int(wait_time) + 5
                                    print(
                                        f"Сидим пердим {str(str_wait)} секунд БОТОМ ID-{x}"
                                    )
                                    goods = True
                                    time.sleep(int(wait_time) + 5)
                                    break
                                elif re.search(r'\bSorry\b', mes.message):
                                    print("Пидоры извиняются")
                                    wait_in_quests += 1
                                    print("Ниче еще раз проверим")
                                    capcha = True
                                else:
                                    print(
                                        f"Ошибка входа {er}. Пробую еще раз БОТОМ ID-{x}"
                                    )
                                    tryes += 1
                                    time.sleep(1)

                if capcha is True:
                    print("Пробуем еще раз...")
                    msgs5 = await client.get_messages(thisdialog, limit=15)
                    for mes16 in msgs5:
                        if re.search(r'Press the "Visit website"',
                                     mes16.message):
                            await client(
                                GetBotCallbackAnswerRequest(
                                    thisdialog,
                                    mes16.id,
                                    data=mes16.reply_markup.rows[1].buttons[1].
                                    data))
                            time.sleep(1)
                            print(f"Скипаем хуйню БОТОМ ID-{x}")
                            break
                    capcha_counts += 1
                else:
                    stranger = False
                    time.sleep(0.2)
                    money_earned = ""
                    money_earned_float = 0.000000000000
                    msgs = await client.get_messages(thisdialog, limit=15)
                    for mes88 in msgs:
                        if re.search(r'You earned ', mes88.message):
                            money_earned = str(mes88.message).replace(
                                'You earned ', '')
                            money_earned_float = float(
                                str(money_earned).replace(
                                    ' LTC for visiting a site!', ''))
                            print(
                                f"Бля хуйня ккая то {str(money_earned).replace(' LTC for visiting a site!', '')}"
                            )

                            break

                    print(f"Заработано: " + str(money_earned_float) + "LTC")
                    if round(money_earned_float, 6) == 0.000000:
                        print("Скипаем какую то неведомую пока что дичь")
                        msgs888 = await client.get_messages(thisdialog,
                                                            limit=15)
                        for mes166 in msgs888:
                            if re.search(r'Press the "Visit website"',
                                         mes166.message):
                                await client(
                                    GetBotCallbackAnswerRequest(
                                        thisdialog,
                                        mes166.id,
                                        data=mes166.reply_markup.rows[1].
                                        buttons[1].data))
                                time.sleep(1)
                                break
                        capcha_counts += 1
                        stranger = True

                    if stranger is False:
                        # connect = psycopg2.connect(dbname='parsedaccounts', user='******',
                        #                                password=password, host='localhost')
                        # cur = connect.cursor()
                        # cur.execute(f"SELECT LTC_Earned FROM RegistredBots WHERE ID = {x}")
                        await asyncio.sleep(random.uniform(0.1 + x, 0.5 + x))
                        # full_ltc = cur.fetchone()[0]
                        await asyncio.sleep(random.uniform(0.1 + x, 0.5 + x))
                        # print(f"ВСЕГО ЗАРАБОТАНО БОТОМ ID-{x} MONEY:{str(full_ltc)}")
                        await asyncio.sleep(random.uniform(0.1 + x, 0.5 + x))
                        # cur.execute(
                        #    f"UPDATE RegistredBots SET LTC_Earned = {float(full_ltc) + float(money_earned_float)} WHERE ID = {x}")
                        # connect.commit()
                        # connect.close()
                        await asyncio.sleep(random.uniform(0.1 + x, 0.7 + x))
                        count_tryes += 1
                        print(
                            f"Давай еще {str(max_count_types - count_tryes)} разочка(ов) по-выполняем..."
                        )

            except errors.FloodWaitError as e:
                print(
                    f'Нас опракинули ебалом в грязь сидим {e.seconds} секунд')
                time.sleep(e.seconds)
Пример #29
0
            if message_history.messages[0].message.find('Please stay on') != -1 or message_history.messages[0].message.find('You must stay') != -1:
                timer = re.findall(r'([\d.]*\d+)',message)
                sleep(int(timer[0]))
                sleep(3)
                message_history = client(GetHistoryRequest(peer=channel_entity, limit=1, offset_date=None, offset_id=0, max_id=0, min_id=0,add_offset=0, hash=0))
                sys.stdout.write('\r                                                     \r')
                sys.stdout.write('\r{}'.format(hijau)+message_history.messages[0].message+'\n')

        elif soup.find('div',id='headbar') is not None:
            for data in soup.find_all('div',class_='container-fluid'):
                code = data.get('data-code')
                timer = data.get('data-timer')
                token = data.get('data-token')
                sleep(int(timer))
                r = c.post('https://dogeclick.com/reward',data={'code': code, 'token': token},headers=ua)
                jsn = json.loads(r.text)
                sys.stdout.write('\r                                                     \r')
                sys.stdout.write(hijau+"\rYou earned "+jsn['reward']+" Doge for visiting sites\n")
        else:
            sys.stdout.write('\r                                                     \r')
            sys.stdout.write(red+'\rCaptcha detected')
            sleep(2)
            client(GetBotCallbackAnswerRequest(channel_username,channel_id,data=message_history.messages[0].reply_markup.rows[1].buttons[1].data))
            sys.stdout.write('\r                                                     \r')
            print (red+'\rBerhasil Skip Captcha\n')

except:
    print(red+"ERROr Detected")
    sys.exit()

Пример #30
0
def bot(x, tasks, taskMode, botMode):
    n = 0
    u = 0

    Phone = accounts[x][1]
    print(f"\nВходим в аккаунт: {x+1} --> {Phone}\n")

    api_id = accounts[x][3]
    api_hash = accounts[x][4]
    session = str("anon" + str(x + 1))
    client = TelegramClient(session, api_id, api_hash)
    try:
        client.start()
    except:
        print("Connection Error!!!")

    dlgs = client.get_dialogs()
    for dlg in dlgs:
        if dlg.title == 'LTC Click Bot':
            tegmo = dlg
    client.send_message('LTC Click Bot', "🖥 Visit sites")
    time.sleep(15)
    while True:
        time.sleep(6)
        if u == 2:
            botMode[x] = 'W'
            n = 0
            taskMode[x] = '-'
            time.sleep(3600 * 5)
        tasks[x] = n
        botMode[x] = 'G'
        msgs = client.get_messages(tegmo, limit=1)
        for mes in msgs:
            if re.search(r'\bseconds to get your reward\b', mes.message):
                str_a = str(mes.message)
                zz = str_a.replace('You must stay on the site for', '')
                qq = zz.replace('seconds to get your reward.', '')
                waitin = int(qq)
                taskMode[x] = f'r({waitin})'
                client.send_message('LTC Click Bot', "/visit")
                time.sleep(3)
                msgs2 = client.get_messages(tegmo, limit=1)
                for mes2 in msgs2:
                    button_data = mes2.reply_markup.rows[1].buttons[1].data
                    message_id = mes2.id
                    taskMode[x] = f'r --> {waitin}'
                    time.sleep(2)
                    try:
                        url_rec = messages[0].reply_markup.rows[0].buttons[
                            0].url
                    except:
                        print(messages[0].reply_markup)
                        break
                    ch = RunChromeTests()

                    ch.testMethod(url_rec, waitin)
                    fp = urllib.request.urlopen(
                        urllib.request.Request(
                            url_rec, headers={'User-Agent': 'Mozilla/5.0'}))
                    bytes = fp.read()
                    mystr = bytes.decode("utf8")
                    fp.close()
                    if re.search(r'\bSwitch to reCAPTCHA\b', mystr):
                        resp = client(
                            GetBotCallbackAnswerRequest('LTC Click Bot',
                                                        message_id,
                                                        data=button_data))
                        time.sleep(2)
                        print("КАПЧА!")

            elif re.search(r'\bSorry\b', mes.message):
                u = u + 1

            else:
                taskMode[x] = 'S'
                messages = client.get_messages('Litecoin_click_bot')
                try:
                    url_rec = messages[0].reply_markup.rows[0].buttons[0].url
                except:
                    print(messages[0].reply_markup)
                    break
                try:
                    f = open(f"per{x}.txt")
                except:
                    f = open(f"per{x}.txt", 'w')
                fd = f.read()
                if fd == url_rec:
                    #print("Найдено повторение переменной")
                    msgs2 = client.get_messages(tegmo, limit=1)
                    for mes2 in msgs2:
                        button_data = mes2.reply_markup.rows[1].buttons[1].data
                        message_id = mes2.id
                        resp = client(
                            GetBotCallbackAnswerRequest(tegmo,
                                                        message_id,
                                                        data=button_data))
                        time.sleep(2)
                else:
                    waitin = 15
                    try:
                        data1 = requests.get(url_rec).json
                    except:
                        print("Request Error!!!")
                        break

                    my_file = open(f'per{x}.txt', 'w')
                    my_file.write(url_rec)
                    #print("Новая запись в файле сделана")
                    time.sleep(12)
                    n += 1