示例#1
0
文件: fun.py 项目: prazd/minibot
def Golos(us, to, url):
    try:
        #из mp3 в англ текст
        urlretrieve(url, '1.mp3')
        sound = AudioSegment.from_mp3("/home/prazd/1.mp3")
        sound.export("/home/prazd/test.wav", format="wav")
        r = sr.Recognizer()
        with sr.AudioFile('test.wav') as s:
            audio = r.record(s)
        command = r.recognize_google(audio)
        # Перевод
        strok = None
        trans = Translator()
        translate = trans.translate(command, dest='ru')
        translate = str(translate)
        translate = translate.split(',')
        for i in range(len(translate)):
            if 'text' in translate[i]:
                strok = translate[i].replace('text=', '')
        w.write_msg(
            us, to,
            'Вы сказали: ' + command + '\n' + 'Перевод на русский:' + strok)
    except:
        w.write_msg(us, to, 'Не получилось')
    finally:
        os.remove('/home/prazd/test.wav')
        os.remove('/home/prazd/1.mp3')
示例#2
0
def processing():
    token = os.environ(['token'])
    confirmation_token = 'alexokdaPrazd'
    #Распаковываем json из пришедшего POST-запроса
    data = json.loads(request.data)
    #Вконтакте в своих запросах всегда отправляет поле типа
    if 'type' not in data.keys():
        return 'not vk'
    if data['type'] == 'confirmation':
        return confirmation_token
    elif data['type'] == 'message_new':
        user_id = data['object']['user_id']
        if data['object']['body'] == 'как сам?':
            w.write_msg(user_id, token, 'хорошо')
        elif data['object']['body'] == 'USD':
            fun.USD(user_id, token)
        elif data['object']['body'] == 'EUR':
            fun.EUR(user_id, token)
        elif "aud" in data['object']['body']:
            audio = data['object']['body'].replace("aud ", "")
            fun.Audio(user_id, token, audio)
        elif data['object']['body'] in fun.chi:
            ran = random.choice([0, 1, 2, 3])
            w.write_msg(user_id, token, fun.bhi[ran])
        elif '!' in data['object']['body']:
            m = data['object']['body']
            place = m.replace('!', '')
            fun.Weather(user_id, token, place)
        elif data['object']['attachments'][0]['doc'][
                'title'] == 'audio_msg.opus':
            URL = data['object']['attachments'][0]['doc']['preview'][
                'audio_msg']['link_mp3']
            fun.Golos(user_id, token, URL)
        # Сообщение о том, что обработка прошла успешно
        return 'ok'
示例#3
0
文件: fun.py 项目: prazd/minibot
def EUR(us, to):
    url = 'http://www.cbr.ru/scripts/XML_daily.asp'
    site = requests.get(url).text
    soup = bs(site, 'lxml')
    f = soup.find_all('valute')[11].find('value')
    eur = str(f).replace('<value>', '')
    eur = eur.replace('</value>', '')
    w.write_msg(us, to, eur)
示例#4
0
文件: fun.py 项目: prazd/minibot
def Audio(us, to, info):
    spis = info.split(",")
    tts = gt(text=spis[1], lang=spis[0])
    tts.save("audio.ogg")
    vk2 = vk_api.VkApi(login=os.environ(['vkLogin']),
                       password=os.environ(['vkPassword']))
    o = {"type": "audio_message"}
    z = vk2.method('docs.getMessagesUploadServer', o)
    url = z['upload_url']
    files = {"file": open("/home/prazd/audio.ogg", "rb")}
    r = requests.post(url, files=files)
    l = json.loads(r.text)
    save = vk2.method("docs.save", {"file": l["file"]})
    we = save[0]["preview"]["audio_msg"]["link_mp3"]
    w.write_msg(us, to, str(we))
    os.remove('/home/prazd/audio.ogg')
示例#5
0
文件: fun.py 项目: prazd/minibot
def itsf(us, to, url):
    urlretrieve(url, 'PHOTO.jpg')
    img = Image.open('/home/prazd/PHOTO.jpg')
    ttext = im(img)
    os.remove('/home/prazd/PHOTO.jpg')
    w.write_msg(us, to, ttext)
示例#6
0
文件: fun.py 项目: prazd/minibot
def itsd(us, to, url):
    urlretrieve(url, 'check.jpg')
    doc = Image.open('/home/prazd/check.jpg')
    text = im(doc)
    os.remove('/home/prazd/check.jpg')
    w.write_msg(us, to, text)
示例#7
0
文件: fun.py 项目: prazd/minibot
def Weather(us, to, info):
    url = 'http://api.openweathermap.org/data/2.5/weather?q=' + info + '&appid=99e787ee0d65dd2aafc27050db21177b'
    site = requests.get(url).text
    js = json.loads(site)
    weather = int(js['main']['temp']) - 273
    w.write_msg(us, to, 'Погода в указаном городе:' + str(weather) + '\xB0С')