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,'*')
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
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')
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')
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('[+] В сообщении нет возраста')