Ejemplo n.º 1
0
def send_welcome(message):
    print ('===================================')
    username   = message.from_user.username
    first_name = message.from_user.first_name
    last_name  = message.from_user.last_name
    user_id    = message.from_user.id
    date       = message.date
    message_in = message.text
    print ('[+] Входящие сообшеие: {}'.format(message_in))
    import pymysql
    db = pymysql.connect("127.0.0.1","izofen","podkjf4","main" ,use_unicode=True, charset="utf8mb4" )  
    print ('[+] Новый пользователь в боте: {}'.format(user_id))
    iz_func.save_variable (user_id,"status","",namebot)
    iz_func.save_FIO (user_id,username,namebot,first_name,last_name)
    iz_func.referal  (user_id,namebot,message_in)
    message_send = send_message (user_id,message_in,'*')
Ejemplo n.º 2
0
def main(message, namebot, bot):
    import iz_func
    username = message.from_user.username
    first_name = message.from_user.first_name
    last_name = message.from_user.last_name
    user_id = message.from_user.id
    date = message.date
    message_in = message.text
    print('{}[+] Входящие сообщение:{} {}'.format(e, s, message_in))
    print('{}[+] Обнуление параметров{}'.format(n, s))
    iz_func.save_variable(user_id, "status", "", namebot)
    status = ''
    print('{}[+] Запись пользователя в базу:{} {} {} {} {} {}{}'.format(
        n, s, i, user_id, username, first_name, last_name, s))
    iz_func.save_FIO(user_id, username, namebot, first_name, last_name)
    iz_func.referal(user_id, namebot, message_in)
    iz_func.save_log(namebot, user_id, message_in, 'in message', '', 'text')
    return user_id, message_in, status
Ejemplo n.º 3
0
def callback_inline(call):
    if call.message:
        user_id = call.message.chat.id
        message_in = call.data
        status      = iz_func.load_variable (user_id,"status",namebot)
        status      = iz_func.load_variable (user_id,"status",namebot)
        print ('[+] user_id',user_id)
        print ('[+] message_in',message_in)
        print ('[+] status',status)
        message_send = send_message (user_id,message_in,'*')
        
        if call.data.find ("BTC") != -1:
            #message_send = send_message (user_id,"Счет на опллату в  BTC",'L')
            
            amount_s = 0.001
            if call.data == "0.001 BTC":
                amount_s = 0.001
            if call.data == "0.002 BTC":
                amount_s = 0.002
            if call.data == "0.003 BTC":
                amount_s = 0.003
                
                
            iz_func.save_variable (user_id,"Сумма пополнения",str(amount_s),namebot) 
            lastid,checkout_url,user_id,address,amount = chek (amount_s,user_id)
            
            iz_func.save_variable (user_id,"НомерСчета",str(lastid),namebot) 
            iz_func.save_variable (user_id,"checkout_url",str(checkout_url),namebot) 
            iz_func.save_variable (user_id,"address",str(address),namebot) 
            iz_func.save_variable (user_id,"Сумма оплаты",str(amount),namebot) 
            
            #message_out = message_out.replace("%%НомерСчета0.001%%", str(lastid))
            #message_out = message_out.replace("%%checkout_url%%", str(checkout_url))
            #message_out = message_out.replace("%%user_id%%", str(user_id))
            #message_out = message_out.replace("%%address%%", str(address))
            #message_out = message_out.replace("%%Сумма оплаты%%", str(amount)+" BTC")
            message_send = send_message (user_id,"Счет на опллату в  BTC",'*')
        
        if call.data.find ("Назад") != -1:
            message_out,keyboard = list_tovar (user_id)
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=message_out,parse_mode='HTML',reply_markup=keyboard) ## ,reply_markup=markup

        if call.data.find ("Проверить") != -1:
            id_sdelki = message_in.replace("Проверить_","")
            import pymysql
            db = pymysql.connect("127.0.0.1","izofen","podkjf4","main" ,use_unicode=True, charset="utf8mb4" )  
            cursor = db.cursor()
            sql = "select id,user_id,name,comment,pl01,pl02,pl03,pl04,pl05,pl06,pl07,pl08,pl09,pl10,pl11,pl12,pl13,pl14,pl15,pl16,data_buy  from product where id = '"+str(id_sdelki)+"' limit 1"
            cursor.execute(sql)
            data = cursor.fetchall()
            for rec in data: 
                id,user_id_l,name_l,comment,pl01,pl02,pl03,pl04,pl05,pl06,pl07,pl08,pl09,pl10,pl11,pl12,pl13,pl14,pl15,pl16,data_buy = rec
            print ("[+]",id,user_id_l,name_l,comment,pl01,pl02,pl03,pl04,pl05,pl06,pl07,pl08,pl09,pl10,pl11,pl12,pl13,pl14,pl15,pl16,data_buy)  


            import time
            timestamp = int(time.time())
            longT = (timestamp - data_buy)//60
            
            print ('[+] longT',longT)
            
            if longT < 5:
                url  = "http://192.168.0.85";
                url  = url + "/pl4/api.try2.example.php";
                url  = url + "?cards="+str(name_l)+"<->"+str(pl02)+"<->"+str(pl03)
                url  = url + "&rid="+str(id)
                url  = url + "&metod=set"
                print (url)    
                import requests
                r = requests.get(url)
                testID = r.text
                print (testID)
                message_send = send_message (user_id,"Тестирование товара",'*')
                time.sleep(60)
                url  = "http://192.168.0.85";
                url  = url + "/pl4/api.try2.example.php";
                url  = url + "?cards="+str(testID);
                url  = url + "&rid="+str(id)
                url  = url + "&metod=get"
                print (url)    
                r = requests.get(url)
                answer = r.text
                print (answer)
                iz_func.save_variable (user_id,"Ответ тестирования",str(answer),namebot) 
                message_send = send_message (user_id,"Ответ тестирования",'*')
                sql = "UPDATE product SET answer = '"+str(answer)+"' WHERE `id` = "+str(id_sdelki)+""
                cursor.execute(sql)
                db.commit()
            else:  
                message_send = send_message (user_id,"Тестирование невозможно",'*')            
            
        if call.data.find ("Купить") != -1:
            id_sdelki = message_in.replace("Купить_","")
            import pymysql
            db = pymysql.connect("127.0.0.1","izofen","podkjf4","main" ,use_unicode=True, charset="utf8mb4" )  
            cursor = db.cursor()
            sql = "select id,user_id,name,comment,pl01,pl02,pl03,pl04,pl05,pl06,pl07,pl08,pl09,pl10,pl11,pl12,pl13,pl14,pl15,pl16  from product where id = '"+str(id_sdelki)+"' limit 1"
            cursor.execute(sql)
            data = cursor.fetchall()
            for rec in data: 
                id,user_id_l,name_l,comment,pl01,pl02,pl03,pl04,pl05,pl06,pl07,pl08,pl09,pl10,pl11,pl12,pl13,pl14,pl15,pl16 = rec
                iz_func.save_variable (user_id,"name",str(name_l),namebot)
                iz_func.save_variable (user_id,"pl01",str(pl01),namebot)
                iz_func.save_variable (user_id,"pl02",str(pl02),namebot)
                iz_func.save_variable (user_id,"pl03",str(pl03),namebot)
                iz_func.save_variable (user_id,"pl04",str(pl04),namebot)
                iz_func.save_variable (user_id,"pl05",str(pl05),namebot)
                iz_func.save_variable (user_id,"pl06",str(pl06),namebot)
                iz_func.save_variable (user_id,"pl07",str(pl07),namebot)
                iz_func.save_variable (user_id,"pl08",str(pl08),namebot)
                iz_func.save_variable (user_id,"pl09",str(pl09),namebot)
                iz_func.save_variable (user_id,"pl10",str(pl10),namebot)
                iz_func.save_variable (user_id,"pl11",str(pl11),namebot)
                iz_func.save_variable (user_id,"pl12",str(pl12),namebot)
                iz_func.save_variable (user_id,"pl13",str(pl13),namebot)
                iz_func.save_variable (user_id,"pl14",str(pl14),namebot)
                iz_func.save_variable (user_id,"pl15",str(pl15),namebot)
                iz_func.save_variable (user_id,"pl16",str(pl16),namebot)        
            price = get_price (pl04)
            balansBTC   = iz_func.load_variable (user_id,"balansBTC",namebot)
            if balansBTC == '':balansBTC = 0
            balansBTC = float(balansBTC)
            if balansBTC >= price:
                message_out,munu = get_message (user_id,"Вы купили товар")
                message_out = fill_message (user_id,message_out)    
                keyboard = types.InlineKeyboardMarkup(row_width=4)
                key01 = types.InlineKeyboardButton(text="Назад", callback_data  = "Назад")
                key02 = types.InlineKeyboardButton(text="Проверить", callback_data  = "Проверить_"+str(id_sdelki))
                keyboard.add(key01,key02)
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=message_out,parse_mode='HTML',reply_markup=keyboard) ## ,reply_markup=markup        
                sql = "UPDATE product SET user_id = '"+str(user_id)+"' WHERE `id` = "+str(id_sdelki)+""
                cursor.execute(sql)
                db.commit()
                import time
                timestamp = int(time.time())
                sql = "UPDATE product SET data_buy = '"+str(timestamp)+"' WHERE `id` = "+str(id_sdelki)+""
                cursor.execute(sql)
                db.commit()
                balansBTC = balansBTC - price
                iz_func.load_variable (user_id,"balansBTC",str(balansBTC),namebot)
                
            else:
                message_out,munu = get_message (user_id,"Недостаточно средств") 
                keyboard = types.InlineKeyboardMarkup(row_width=4)
                key01 = types.InlineKeyboardButton(text="Назад", callback_data  = "Назад")
                key02 = types.InlineKeyboardButton(text="Пополнить", callback_data  = "Пополнить")
                keyboard.add(key01,key02)
                message_out = fill_message (user_id,message_out)
                bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=message_out,parse_mode='HTML',reply_markup=keyboard) ## ,reply_markup=markup        
            
        if call.data.find ("Сменить вернуться") != -1:
            nomerbase = iz_func.load_variable (user_id,"Номер товара",namebot)
            if nomerbase == '': nomerbase = 0
            nomerbase = int(nomerbase)
            nomerbase = nomerbase - 1
            iz_func.save_variable (user_id,"Номер товара",str(nomerbase),namebot)
            message_out,keyboard = list_tovar (user_id)
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=message_out,parse_mode='HTML',reply_markup=keyboard) ## ,reply_markup=markup

        if call.data.find ("Сменить вперед") != -1:
            nomerbase = iz_func.load_variable (user_id,"Номер товара",namebot)
            if nomerbase == '': nomerbase = 0
            nomerbase = int(nomerbase)
            nomerbase = nomerbase + 1
            iz_func.save_variable (user_id,"Номер товара",str(nomerbase),namebot)
            message_out,keyboard = list_tovar (user_id)
            bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=message_out,parse_mode='HTML',reply_markup=keyboard) ## ,reply_markup=markup
        
        if call.data.find ("Пополнить") != -1:
            message_send = send_message (user_id,"🚀Пополнить",'*')

        if call.data.find ("Внести сумму в ручную") != -1:
            iz_func.save_variable (user_id,"status","Внести сумму в ручную",namebot)
            message_send = send_message (user_id,"Внести сумму в ручную",'L')
Ejemplo n.º 4
0
def repeat_all_messages(message):
    user_id     = message.from_user.id
    message_in  = message.text
    username    = message.from_user.username
    first_name  = message.from_user.first_name
    last_name   = message.from_user.last_name
    date        = message.date
    status      = iz_func.load_variable (user_id,"status",namebot)
    print ('[+] Входящие сообшение: {}'.format(message_in))
    message_send = send_message (user_id,message_in,'*')

    print ('==================================')

    if status.find ('Фильтр') != -1:
        iz_func.save_variable (user_id,"Фильтр",message_in,namebot) 
        iz_func.save_variable (user_id,"status","",namebot) 
        message_send = send_message (user_id,"Фильтр включен",'*')
        message_out,keyboard = list_tovar (user_id)
        bot.send_message(user_id,message_out,parse_mode='HTML',reply_markup=keyboard)
 
    if message_in.find ('➕Купить') != -1:
        iz_func.save_variable (user_id,"Номер товара",str(0),namebot)
        message_out,keyboard = list_tovar (user_id)
        bot.send_message(user_id,message_out,parse_mode='HTML',reply_markup=keyboard)


    if message_in.find ('Выставленные роботы') != -1:
        print ('[+] Вывод найденных роботов')
        import pymysql
        db = pymysql.connect("127.0.0.1","izofen","podkjf4","main" ,use_unicode=True, charset="utf8mb4" )  
        cursor = db.cursor()
        sql = "select * from robots where 1=1"
        cursor.execute(sql)
        data = cursor.fetchall()

        for rec in data: 
            id_l,exchange_l,piar,name,user_id_l,order,exchange_id_buy,status,demo,buy,sell,amount,exchange_id_sell,comment,V1,V2,name_V1,name_V2,robot_up,robot_down,active,step = rec
            message_out,menu = get_message (user_id,'Описание робота')
            print ('l=',exchange_l)
            message_out = message_out.replace ('%%id%%',str(id_l))
            message_out = message_out.replace ('%%exchange%%',str(exchange_l))
            message_out = message_out.replace ('%%piar%%',str(piar))
            message_out = message_out.replace ('%%name%%',str(name))
            message_out = message_out.replace ('%%user_id_l%%',str(user_id_l))
            message_out = message_out.replace ('%%exchange_id_buy%%',str(exchange_id_buy))
            message_out = message_out.replace ('%%exchange_id_sell%%',str(exchange_id_sell))
            message_out = message_out.replace ('%%status%%',str(status))
            message_out = message_out.replace ('%%demo%%',str(demo))
            message_out = message_out.replace ('%%buy%%',str(buy))
            message_out = message_out.replace ('%%sell%%',str(sell))
            message_out = message_out.replace ('%%amount%%',str(amount))
            
            message_out = message_out.replace ('%%comment%%',str(comment))
            message_out = message_out.replace ('%%step%%',str(step))
    
 
            if exchange_id_buy == None:
                exchange_id_buy  = 0

            id_order = 0
            st = ''
            if exchange_id_buy == 0:
                id_order = exchange_id_sell
                st = 'Продажа'    


            if exchange_id_sell == 0:
                id_order = exchange_id_buy
                st = 'Покупка'  



            print ('[+] exchange_id_buy ',exchange_id_buy,'exchange_id_sell',exchange_id_sell)      
                        
            id_exchange,exchange_exchange,piar_exchange,side_exchange,price_exchange,answer_exchange,status_exchange,user_id_exchange,demo_exchange,robot_exchange,amount_exchange,next_exchange,test_order,test_time = get_info_order (id_order)

            message_out = message_out.replace ('%%id_exchange%%',str(id_exchange))
            message_out = message_out.replace ('%%exchange_exchange%%)',str(exchange_exchange))
            message_out = message_out.replace ('%%piar_exchange%%',str(piar_exchange))
            message_out = message_out.replace ('%%side_exchange%%',str(side_exchange))
            message_out = message_out.replace ('%%price_exchange%%',str(price_exchange))


            answer = answer_exchange
            answer = answer.replace("%%<1>%%","'")
            answer = answer.replace('%%<2>%%','"')
            response = json.loads(answer)

            orderId = ''
            status  = ''

            if answer.find ('error') != -1:   ### Ошибка в выставлении ордера
                status = "error"
            else:    
                orderId = response['id']
                status  = response['status']

            message_out = message_out.replace ('%%orderId%%',str(orderId))
            message_out = message_out.replace ('%%status%%',str(status))        

            message_out = message_out.replace ('%%answer_exchange%%',str(answer_exchange))

            message_out = message_out.replace ('%%status_exchange%%',str(status_exchange))
            message_out = message_out.replace ('%%user_id_exchange%%',str(user_id_exchange))
            message_out = message_out.replace ('%%demo_exchange%%',str(demo_exchange))
            message_out = message_out.replace ('%%robot_exchange%%',str(robot_exchange))
            message_out = message_out.replace ('%%amount_exchange%%',str(amount_exchange))
            message_out = message_out.replace ('%%next_exchange%%',str(next_exchange))

            message_out = message_out.replace ('%%test_time%%',str(test_time))
            message_out = message_out.replace ('%%test_time%%',str(test_time))




            print ('[+] message_out',message_out)

            bot.send_message(user_id,message_out,parse_mode='HTML')                    
Ejemplo n.º 5
0
async def my_event_handler(event):
    print ('-----------------------------------------------------------------------------------------')
    print (event)
    print ('-----------------------------------------------------------------------------------------')
    import iz_func
    user_id  = '590719271'
    variable = 'Статус бота'
    namebot  = '@client_to_314_bot'
    status_o = iz_func.load_variable (user_id,variable,namebot) 
    print ('[status_o]',status_o)
    timestamp = int(time.time())
    status_t = iz_func.load_variable (user_id,'Время сделки',namebot)
    if status_t == '':
        status_t = 0
    utime =  (timestamp - int(status_t))//60
    print ('[+] Время последней сделки',utime,'мин.')

    #if 1==1:
    if status_o == 'ON' and utime > 15:
        try: 
            channel_username = '******'
            channel_entity=await client.get_entity(channel_username)
        except Exception as e: 
            pass    
            print ('    =',e)    

        posts = await client(GetHistoryRequest(peer=channel_entity,limit=1,offset_date=None,offset_id=0,max_id=0,min_id=0,add_offset=0,hash=0))        
        find_post = str(posts)

        nof = 'no'
        if find_post.find('Неизвестная проблема') != -1:
            nof = 'yes'
            print ('1')


        if find_post.find('Депрессия и депрессивность') != -1:
            nof = 'yes'
            print ('2')

        if find_post.find('Личностный рост') != -1:
            nof = 'yes'
            print ('3')

        if find_post.find('Проблемы в сексе') != -1:
            nof = 'yes'
            print ('4') 

        if find_post.find('Проблемы общения') != -1:
            nof = 'yes'
            print ('5') 


        if find_post.find('Проблемы в отношениях') != -1:
            nof = 'yes'
            print ('6')

        if find_post.find('Самоопределение в жизни') != -1:
            nof = 'yes'
            print ('7')


        if find_post.find('Самооценка и увереность') != -1:
            nof = 'yes'
            print ('8')


        if find_post.find('Семейные проблемыye') != -1:
            nof = 'yes'
            print ('9') 


        if find_post.find('Страх и фобия') != -1:
            nof = 'yes'
            print ('10') 

        if find_post.find('Тревожность') != -1:
            nof = 'yes'
            print ('11')

        if nof == 'yes':
            messageId = posts.messages[0].id
            print ('    [messageId]',messageId)
            try: 
                datal = posts.messages[0].reply_markup.rows[0].buttons[0].data
                print ('    [+]',datal)
                iz_func.save_variable (user_id,"Время сделки",str(timestamp),namebot)
                await client(GetBotCallbackAnswerRequest(channel_username,messageId,data=datal))                
            except Exception as e: 
                pass    
                print ('    ',e)
                print ('    [+] нет кнопки')
        else:
            print ('[-] Нет входящего слова')        


    else:
        print ('[-] Отменен по условию')
async def my_event_handler(event):
    import iz_func
    print(event)
    user_id = '590719271'
    variable = 'Статус бота'
    namebot = '@send314_bot'
    status_o = iz_func.load_variable(user_id, variable, namebot)
    message = ''
    message = event.original_update.message
    print('[status_o]', status_o)
    print('[+]', message)
    yng = 0
    minvz = 0
    maxvz = 0
    if str(message).find('Возраст') != -1:
        minvz = int(iz_func.load_setting('Минимальный возраст', namebot))
        maxvz = int(iz_func.load_setting('Максимальный возраст', namebot))
        print('[+] Минимальный возраст', minvz)
        print('[+] Максимальный возраст', maxvz)
        nm = str(message).find('Возраст')
        yng = int(str(message)[nm + 8:nm + 10])
        print('[+] Возраст в сообщении:', yng)
        timestamp = int(time.time())
        status_t = iz_func.load_variable(user_id, 'Время сделки', namebot)
        if status_t == '':
            status_t = 0
        utime = (timestamp - int(status_t)) // 60
        print('[+] Время последней сделки', utime, 'мин.')
        label = 'yes'
        if status_o == 'ON':
            pass
        else:
            label = 'Нет команды включить'
            print('[+]', label)
        twait = int(iz_func.load_setting('Время ожидания бота', namebot))
        print('[+] Время ожидания между сделками:', twait)
        if utime > twait:
            pass
        else:
            label = 'Не прошло время'
            print('[+]', label)
        print('[+] Возраст:', yng, ',а мин', minvz)
        if yng < minvz:
            label = 'Возраст не совпадает мин'
            print('[+]', label)
        print('[+] Возраст:', yng, ',а мак', maxvz)
        if yng > maxvz:
            label = 'Возраст не совпадает мак'
            print('[+]', label)
        if label == 'yes':
            try:
                #channel_username = '******'
                channel_username = '******'
                channel_entity = await client.get_entity(channel_username)
            except Exception as e:
                pass
                print('    =', e)
            posts = await client(
                GetHistoryRequest(peer=channel_entity,
                                  limit=1,
                                  offset_date=None,
                                  offset_id=0,
                                  max_id=0,
                                  min_id=0,
                                  add_offset=0,
                                  hash=0))
            find_post = str(posts)
            nof = 'no'
            print('[+] Текст для анализа')
            print(find_post)
            if find_post.find('Неизвестная проблема') != -1:
                nof = 'yes'
            if find_post.find('Депрессия и депрессивность') != -1:
                nof = 'yes'
            if find_post.find('Личностный рост') != -1:
                nof = 'yes'
            if find_post.find('Проблемы в сексе') != -1:
                nof = 'yes'
            if find_post.find('Проблемы общения') != -1:
                nof = 'yes'
            if find_post.find('Проблемы в отношениях') != -1:
                nof = 'yes'
            if find_post.find('Самоопределение в жизни') != -1:
                nof = 'yes'
            if find_post.find('Самооценка и увереность') != -1:
                nof = 'yes'
            if find_post.find('Семейные проблемы') != -1:
                nof = 'yes'
            if find_post.find('Страх и фобия') != -1:
                nof = 'yes'
            if find_post.find('Тревожность') != -1:
                nof = 'yes'
            if nof == 'yes':
                print('[+] Для работы все есть. Нажимаем кнопку)')
                messageId = posts.messages[0].id
                print('    [messageId]', messageId)
                try:
                    datal = posts.messages[0].reply_markup.rows[0].buttons[
                        0].data
                    iz_func.save_variable(user_id, "Время сделки",
                                          str(timestamp), namebot)
                    await client(
                        GetBotCallbackAnswerRequest(channel_username,
                                                    messageId,
                                                    data=datal))
                except Exception as e:
                    print('    ', e)
                    print('    [+] нет кнопки')
            else:
                print('[-] Нет входящего слова')
        else:
            print('[-] Отменен по условию фильтра', label)
    else:
        print('[+] В сообщении нет возраста')