def send_messages(file_last_time, time_now): data = get_address() # Data from DB count_all = 0 if not data: logger.warning('You do not have any addresses. Add address please.') else: explorer_url = { 'gbx': 'https://explorer.gobyte.network/address/', 'vivo': 'https://chainz.cryptoid.info/vivo/search.dws?q=', 'pac': 'http://explorer.paccoin.net/address/', # 'http://usa.pacblockexplorer.com:3002/address/', 'bitg': 'https://www.coinexplorer.net/BITG/address/', 'dev': 'http://explorer.deviantcoin.io/address/', # 'https://chainz.cryptoid.info/dev/search.dws?q=', 'xzc': 'https://chainz.cryptoid.info/xzc/search.dws?q=', 'smart': 'http://explorer3.smartcash.cc/address/', 'pivx': 'https://chainz.cryptoid.info/pivx/search.dws?q=', 'anon': 'https://explorer.anon.zeltrez.io/address/', 'mnp': 'https://explorer.mnpcoin.pro/address/', 'bwk': 'https://explorer.bulwarkcrypto.com/#/address/', 'nrg': 'https://explore.energi.network/address/' } for row in data: address = row[2] bot_chatID = row[0] if not row[1] == 'anon' and not row[1] == 'vivo' and not row[ 1] == 'smart': parsed_string = check_2masternodes(address) if not ('Error' in parsed_string) and not ('not found' in parsed_string): json_string = parsed_string.json() coin = json_string["coin"] for b in json_string["beneficiary"]: paidAt = "None" masternode = b["masternode"] db_worker = SQLighter(NotifyDB) db_last_time = db_worker.get_last( 'user_nodes', bot_chatID, coin, address, masternode) db_worker.close() if db_last_time == []: last_time = file_last_time #logger.info('Time from the file %s', str(last_time) + ' ' + coin + ' ' + masternode) else: last_time = datetime.datetime.strptime( str(''.join(db_last_time[0])), '%Y-%m-%d %H:%M:%S.%f') #logger.info('Time from the DB %s', str(last_time) + ' ' + coin + ' ' + masternode) for r in b["royalty"]: paidAt = r["paidAt"] if not (paidAt is None): paidAt = datetime.datetime.strptime( paidAt, '%Y-%m-%dT%H:%M:%S.%fZ') if paidAt > last_time: link = explorer_url[coin] + str(address) amount = r["amount"] text = '`' + masternode + '` send you [' + str( amount) + ' ' + str(coin).upper( ) + '](' + link + ') at ' + str( paidAt) + ' UTC' #print(text) keys = { 'chat_id': bot_chatID, 'parse_mode': 'Markdown', 'text': text, 'disable_web_page_preview': 'True' } url = 'https://api.telegram.org/bot' + token + '/sendMessage' teleg_output = requests.get(url, params=keys) count_all += 1 logger.info(" count " + str(count_all) + " - " + teleg_output.text) # Add to DB #print(coin, address, masternode, paidAt) db_worker = SQLighter(NotifyDB) db_worker.add_paidAt( 'user_nodes', bot_chatID, coin, address, masternode, time_now) db_worker.close()