From b66d51bce6f7c7f5f3292dfca8168f6143b755d6 Mon Sep 17 00:00:00 2001 From: pupuupup Date: Wed, 3 Mar 2021 02:24:13 +0700 Subject: [PATCH] add listener --- main.py | 76 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 64 insertions(+), 12 deletions(-) diff --git a/main.py b/main.py index 8856924..e19522f 100644 --- a/main.py +++ b/main.py @@ -1,17 +1,21 @@ import requests +import logging import telegram +from telegram.ext import Updater, CommandHandler import time import os import pause, datetime from threading import Thread _bot = telegram.Bot(token=os.environ["TELEGRAM_API_KEY"]) +_updater = Updater(token=os.environ["TELEGRAM_API_KEY"], use_context=True) +_dp = _updater.dispatcher _chatid = os.environ["TELEGRAM_CHAT_ID"] _apikey = os.environ["ETHERSCAN_API_KEY"] _chainlink = '0x514910771af9ca656af840dff83e8264ecf986ca' _url = 'https://etherscan.io/token/'+_chainlink+'?a=' _whale = [ - {'address': '0x75398564ce69b7498da10a11ab06fd8ff549001c', 'amount': 0}, + {'address': '0x75398564ce69b7498da10a11ab06fd8ff549001c', 'amount': 55000000}, {'address': '0x5560d001f977df5e49ead7ab0bdd437c4ee3a99e', 'amount': 0}, {'address': '0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6', 'amount': 0}, {'address': '0xe0362f7445e3203a496f6f8b3d51cbb413b69be2', 'amount': 0}, @@ -20,20 +24,56 @@ _whale = [ ] full = "50,000,000" -def startDumpWatcher(): +def watch(): whale = {} whale = updateQuantities(_whale) - print(whale) + prevWhale = _whale.copy() + #prevWhale = whale.copy() + while True: + whale = updateQuantities(whale) + dumpedAmount = getDumpedAmount(whale, prevWhale) + dumpedWallet = getDumpedWallet(whale, prevWhale) + prevWhale = whale.copy() + if dumpedAmount > 0: + alert(whale, dumpedAmount, dumpedWallet) + time.sleep(5) + +def ls(update, context): + print('wtf') + text = "🤓 List of wallet.\n\n" + texts =[] + for i in range(0,5): + texts.append("☑️ Wallet #"+str(i+1)+"\n"+url+w+"\n"+"("+"{:,}".format(int(whale[w]))+"/"+full+")\n") + text = '\n'.join(texts) + context.bot.send_message(chat_id=update.effective_chat.id, text=text) + +def listen(): + _dp.add_handler(CommandHandler("ls", ls, pass_args=True)) + _updater.start_polling() + +def getDumpedAmount(whale, prevWhale): + total = 0 + for i in range(0,5): + if whale[i]['amount'] < prevWhale[i]['amount']: + total = total + (prevWhale[i]['amount'] - whale[i]['amount']) + return total + +def getDumpedWallet(whale, prevWhale): + wallets = [] + for i in range(0,5): + if whale[i]['amount'] < prevWhale[i]['amount']: + wallets.append(i) + return wallets def alert(whale, dumpedAmount, dumpedWallet): dumpedAmount = "{:,}".format(int(dumpedAmount)) - text = "😱 Sergey is dumping "+ str(dumpedAmount) +" links from wallet #"+','.join(dumpedWallet) +"!\n\n" + dumpedWalletString = [] + for w in dumpedWallet: + dumpedWalletString.append(str(w+1)) + text = "😱 Sergey is dumping "+ str(dumpedAmount) +" links from wallet #"+','.join(dumpedWalletString) +"!\n\n" texts = [] - count = 1 - for w in whale: - if count in dumpedWallet: - texts.append("☑️ Wallet #"+str(count)+"\n"+_url+w+"\n"+"("+"{:,}".format(int(whale[w]))+"/"+full+")\n") - count = count + 1 + for i in dumpedWallet: + texts.append("☑️ Wallet #"+str(i+1)+"\n"+_url+whale[i]['address']+"\n"+"("+"{:,}".format(int(whale[i]['amount']))+"/"+full+")\n") texts = "\n".join(texts) text = text + texts print(text) @@ -47,14 +87,26 @@ def updateQuantities(whale): time.sleep(0.5) return new -class DumpWatcher(Thread): +class watcher(Thread): + def __init__(self): + Thread.__init__(self) + self.daemon = True + self.start() + def run(self): + watch() + +class listener(Thread): def __init__(self): Thread.__init__(self) self.daemon = True self.start() def run(self): - startDumpWatcher() + listen() + +_dp.add_handler(CommandHandler("ls", ls)) +_updater.start_polling() +watcher() +listener() -DumpWatcher() while True: pass