def message(): data = request.data update = json.loads(str(data, 'utf-8')) chat_id = update['message']['chat_id'] text = str(update['message']['text']) if text.startswith('/doge'): doge_text = text.replace('/doge ', '') background = randomDoge() doge = DogeFactory(doge_text)\ .load_image_from_bytes(background)\ .create_doge() filename = 'doge_123.png' stream = open(filename, 'wb') doge.save(stream, 'PNG') stream.close() bot.sendPhoto(chat_id, photo=open(filename, 'rb'), caption='doge_123') else: bot.sendMessage(chat_id, 'wow. what?') return ''
self.attempts += 1 if self.attempts > self.max_attempts: raise Exception('max attempts count exceeded') self.prev_points.append((x, y, half_w)) return x, y def check_distance(self, x, y, half_w): for xp, yp, dist in self.prev_points: if math.sqrt((xp - x)**2 + (yp - y)**2) < half_w + dist: return False return True def set_doge_position(self, pos): assert isinstance(pos, tuple) and len(pos) == 3, 'Invalid position' self.prev_points.append(pos) return self if __name__ == '__main__': text = "Hello World;Hello World;Hello World;Hello World;" background, pos = randomDoge() doge = DogeFactory(text, ';')\ .load_image_from_bytes(background)\ .set_doge_position(pos)\ .create_doge() doge.show()