def main(): init(autoreset=True) bot = os.getenv('BOT', 'tensio2bot') # bot = "TensioBot" # bot = "tensio2bot" sender = Sender("127.0.0.1", 9009) res = sender.msg(bot, "/cancel") time.sleep(3) res = sender.msg(bot, "/cambiar") time.sleep(3) res = sender.msg(bot, "Sí") time.sleep(3) res = sender.msg(bot, "10:18") time.sleep(3) res = sender.history(bot, 2) comprobar(res[0], 'OK') res = sender.msg(bot, "Sí") time.sleep(3) res = sender.msg(bot, "18:29") time.sleep(5) res = sender.history(bot, 2) comprobar(res[1], 'Muy bien. Los datos han sido')
def main(): init(autoreset=True) bot = os.getenv('BOT', 'tensio2bot') # bot = "TensioBot" # bot = "tensio2bot" sender = Sender("127.0.0.1", 9009) res = sender.msg(bot, "/cancel") time.sleep(2) res = sender.msg(bot, "/tension") time.sleep(2) res = sender.msg(bot, "Sí, ahora") time.sleep(2) res = sender.msg(bot, "120") time.sleep(2) res = sender.msg(bot, "90") time.sleep(2) res = sender.history(bot, 2) time.sleep(2) comprobar(res[1], 'Para confirmar que la tensión es estable') time.sleep(2) res = sender.msg(bot, "OK, ya he vuelto a tomarme la tensión") time.sleep(2) res = sender.msg(bot, "126") time.sleep(2) res = sender.msg(bot, "90") time.sleep(8) res = sender.history(bot, 2) # print("Response: {response}".format(response=res)) comprobar(res[0], 'La diferencia entre tomas es de más de') comprobar(res[1], 'Para confirmar que la tensión es estable') time.sleep(2) res = sender.msg(bot, "OK, ya he vuelto a tomarme la tensión") time.sleep(2) res = sender.msg(bot, "126") time.sleep(2) res = sender.msg(bot, "90") time.sleep(8) res = sender.history(bot, 2) comprobar(res[0], 'Muy bien') comprobar(res[1], 'Cuando quieras')
def main(): init(autoreset=True) bot = os.getenv('BOT', 'tensio2bot') # bot = "TensioBot" # bot = "tensio2bot" sender = Sender("127.0.0.1", 9009) res = sender.msg(bot, "/cancel") time.sleep(2) res = sender.msg(bot, "/tension") time.sleep(2) res = sender.msg(bot, "Sí, ahora") time.sleep(2) res = sender.msg(bot, "120") time.sleep(2) res = sender.msg(bot, "90") time.sleep(2) res = sender.history(bot, 2) time.sleep(2) comprobar(res[1], 'Para confirmar que la tensión es estable') time.sleep(2) res = sender.msg(bot, "OK, ya he vuelto a tomarme la tensión") time.sleep(2) res = sender.msg(bot, "122") time.sleep(2) res = sender.msg(bot, "92") time.sleep(8) res = sender.history(bot, 2) # print("Response: {response}".format(response=res)) comprobar(res[0], 'Muy bien. Los datos han sido introducidos correctamente') comprobar(res[1], 'Cuando quieras, puedes volver a pedirme ayuda')
def bittrexTelegram(): initialise() balance = BittrexBot.getBalance('btc') market = input(colorama.Fore.CYAN + '[1] What Group: ' + colorama.Style.RESET_ALL) risk = input(colorama.Fore.CYAN + '[1] Risk Multiplier: ' + colorama.Style.RESET_ALL) amount = input(colorama.Fore.CYAN + '[2] % of bitcoin to spend: ' + colorama.Style.RESET_ALL) profit = input(colorama.Fore.CYAN + '[3] Profit %: ' + colorama.Style.RESET_ALL) amount, profit = percentageFix(amount, profit) amount = balance * float(amount) for i in result: if 'title' in i and market in i['title']: ExID = i['id'] log = logger.getLogger('test') log.critical('waiting') while True: print(ExID) s = Sender('127.0.0.1', 4458) messages = s.history(ExID) length = len(messages) if 'text' in messages[ length - 1] and 'https://bittrex.com/Market/Index?MarketName=BTC' in messages[ length - 1]['text']: coin = messages[length - 1]['text'].split('BTC-') st = re.sub('\\W+', '', coin[1]) BittrexBot.Trade(st, profit, amount, risk) if 'text' in messages[length - 1]: wordList = messages[length - 1]['text'].split() newWordList = [] for word in wordList: scrub = re.sub('\\W+', '', word) newWordList.append(scrub) for pair in bittrexpairs: p = pair.split('-') for word in newWordList: if word == p[1]: BittrexBot.Trade(word, profit, amount, risk) time.sleep(1)
with open("%s_offset" % args.name, "r") as f: offset = int(f.read()) or 0 except FileNotFoundError: offset = 0 else: offset = 0 empties = 0 print("Offset:", offset) while True: new_messages = 0 try: res = sender.history(channel_id, args.step, offset) if "error" in res: print(res) break except (IllegalResponseException, NoResponse): print("Empty response") empties += 1 if empties > 5: sys.exit(1) time.sleep(2) continue for msg in res: try:
offset = int(f.read()) or 0 except FileNotFoundError: offset = 0 else: offset = 0 empties = 0 print("Offset:", offset) while True: new_messages = 0 try: res = sender.history(channel_id, args.step, offset) if "error" in res: print(res) break except (IllegalResponseException, NoResponse): print("Empty response") empties += 1 if empties > 5: sys.exit(1) time.sleep(2) continue for msg in res: try:
class PyTelegram(object): def __init__(self): tgcli_port = 4458 self.setlog() if not self.start(tgcli_port): sys.exit(1) self.receiver = Receiver(host="localhost", port=tgcli_port) self.sender = Sender(host="localhost", port=tgcli_port) def setlog(self): basepath = os.path.dirname(os.path.realpath(__file__)) logdir = os.path.join(basepath, "./log") if not os.path.exists(logdir): os.mkdir(logdir) self.logname = os.path.join(basepath, "./log/%s.log" % time.strftime("%Y%m%d%H")) LOG_FORMAT = '[%(asctime)s] : %(levelname)s %(filename)s - %(funcName)s(%(lineno)d) - %(message)s' logging.basicConfig( format=LOG_FORMAT, level=0, handlers=[logging.FileHandler(self.logname, 'a', 'utf-8')]) def need_proxy(self): try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 1)) selfip = s.getsockname()[0] except Exception as e: logging.error(e) return False if selfip.startswith("192.168.") or selfip.startswith("10.")\ or selfip.startswith("172.1") or selfip.startswith("10.64."): logging.debug("need proxy") return True else: logging.debug("no need proxy") return False def start(self, tgcli_port): try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) check = s.connect_ex(('127.0.0.1', tgcli_port)) s.close() except Exception as e: logging.error(e) check = 1 if check == 0: return True if self.need_proxy(): cmd = """nohup proxychains telegram-cli --json --tcp-port %d >> %s 2>&1 &"""\ % (tgcli_port, self.logname) else: cmd = """nohup telegram-cli --json --tcp-port %d >> %s 2>&1 &"""\ % (tgcli_port, self.logname) logging.debug(cmd) ret = subprocess.Popen(cmd, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE) ret.wait() logging.debug("ret wait") reterr = ret.stderr.read() logging.debug("ret err") retout = ret.stdout.read() logging.debug("ret out") if reterr: logging.error(reterr.decode("utf8")) return False logging.info(retout) return True def parse_recive(self, msg_dict): logging.debug(msg_dict) def receive_loop(self): @coroutine def receive_coroutine_loop(): while 1: msg = (yield) self.parse_recive(msg) self.receiver.start() self.receiver.message(receive_coroutine_loop()) def get_channel_list(self, limit=0, offset=0): if limit == 0 and offset == 0: channels = self.sender.channel_list() else: channels = self.sender.channel_list(limit, offset) return channels def get_dialog_list(self, limit=0, offset=0): if limit == 0 and offset == 0: dialogs = self.sender.dialog_list() else: dialogs = self.sender.dialog_list(limit, offset) return dialogs def channel_get_members(self, name): members = self.sender.channel_get_members(name) return members def chat_get_members(self, name): chat_info_dict = self.sender.chat_info(name) meminfo_list = chat_info_dict["members"] return meminfo_list def get_history(self, peer, limit=0, offset=0): if limit == 0: ret = self.sender.history(peer, retry_connect=10, result_timeout=100) elif offset == 0: ret = self.sender.history(peer, limit, retry_connect=10) else: ret = self.sender.history(peer, limit, offset, retry_connect=10) #logging.debug(ret) ret.reverse() history_dict = collections.OrderedDict() for chat_info in ret: try: if chat_info["event"] != "message": continue chatid = chat_info["id"] history_dict[chatid] = chat_info logging.debug(chat_info) except Exception as e: logging.error(e) return history_dict def create_group(self, groupname, userlist): try: ret = self.sender.create_group_chat(groupname, userlist[0]) logging.debug(ret) except Exception as e: logging.error(e) return False if len(userlist) == 1: return True for username in userlist[1:]: try: ret = self.sender.chat_add_user(groupname, username, 0) logging.debug(ret) except Exception as e: logging.error(e) return True