def Execute(self, url, params=None, data=None, headers=None): try: r = requests.post(url, params=params, data=data, headers=headers) if r.status_code != requests.codes.ok: raise MyError("Unable to execute the post request") tmp_dict = r.json() if ("ok" not in tmp_dict) or (GetParameter(tmp_dict, "ok") == False): raise MyError("Bad request") else: return GetParameter(tmp_dict, "result") except: raise MyError("Unable to execute the post request")
def forwardMessage(self, forward_dict): try: url = self.bot_request_url + "forwardMessage" message_dict = self.Execute(url, params=forward_dict) return Message(message_dict) except: raise MyError("Unable to forward the message")
def sendMessage(self, send_dict): try: url = self.bot_request_url + "sendMessage" message_dict = self.Execute(url, params=send_dict) return Message(message_dict) except: raise MyError("Unable to send the message")
def getUpdate(self, getupd_dict): try: url = self.bot_request_url + "getUpdates" upd_arr = self.Execute(url, params=getupd_dict) return [Update(i) for i in upd_arr] except: raise MyError("Unable to retrieve updates")
def sendLocation(self, location_dict): try: url = self.bot_request_url + "sendLocation" tmp_dict = self.Execute(url, location_dict) return Message(tmp_dict) except: raise MyError("Unable to send the location")
def __init__(self, token): try: os.system("clear") self.bot_token = token self.bot_request_url = "https://api.telegram.org/bot" + self.bot_token + "/" print( " ***** Welcome to the Telegram Bot Carlo's Interface *****\n\n\n" ) PrintDict(self.getMe().user_dict) except: raise MyError("Unable to init the bot")
def sendVideo(self, param_dict, video_path): try: header = "video/mp4" filename = GetFormat(video_path, "/") m = MultipartEncoder( fields={"video": (filename, open(video_path, "rb"), header)}) tmp_message = self.Execute( self.bot_request_url + "sendVideo", params=param_dict, data=m, headers={"Content-Type": m.content_type}) return Message(tmp_message) except: raise MyError("Unable to send video")
def sendSticker(self, param_dict, sticker_path): try: header = "image/webp" filename = GetFormat(sticker_path, "/") m = MultipartEncoder(fields={ "sticker": (filename, open(sticker_path, "rb"), header) }) tmp_message = self.Execute( self.bot_request_url + "sendSticker", params=param_dict, data=m, headers={"Content-Type": m.content_type}) return Message(tmp_message) except: raise MyError("Unable to send sticker")
def sendDocument(self, param_dict, document_path): try: header = "text/plain" filename = GetFormat(document_path, "/") m = MultipartEncoder(fields={ "document": (filename, open(document_path, "rb"), header) }) tmp_message = self.Execute( self.bot_request_url + "sendDocument", params=param_dict, data=m, headers={"Content-Type": m.content_type}) return Message(tmp_message) except: raise MyError("Unable to send document")
def getMe(self): try: me_dict = self.Execute(self.bot_request_url + "getMe") return User(me_dict) except: raise MyError("Unable to getMe")
def sendChatAction(self, chat_dict): try: url = self.bot_request_url + "sendChatAction" self.Execute(url, params=chat_dict) except: raise MyError("Unable to send chat action")