Пример #1
0
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 ''
Пример #2
0
            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()