def hello():
if request.method == 'GET':
if request.args.get("hub.verify_token") == VERIFY_TOKEN:
return request.args.get("hub.challenge")
else:
return 'Invalid verification token'
if request.method == 'POST':
output = request.get_json()
for event in output['entry']:
messaging = event['messaging']
for x in messaging:
if x.get('message'):
recipient_id = x['sender']['id']
if x['message'].get('text'):
message = x['message']['text']
msg = AI.process_message(message)
bot.send_text_message(recipient_id, msg)
if x['message'].get('attachments'):
for att in x['message'].get('attachments'):
print(att['payload']['url'])
voice_url = urllib.request.urlopen(att['payload']['url'])
with open('voicemsg.aac', 'w+b') as f:
f.write(voice_url.read())
f.close()
aac_file = AudioSegment.from_file('voicemsg.aac', format='aac')
wav_handler = aac_file.export('rawmsg.wav', format='wav')
os.system("sox rawmsg.wav -r 16000 temp.wav")
wav_handler = AudioSegment.from_file('temp.wav', format='wav')
raw_handler = wav_handler.export('rawmsg.raw', format='raw')
decoder.start_utt()
stream = open('rawmsg.raw', 'rb')
#stream.seek(44)
while True:
buf = stream.read(1024)
if buf:
decoder.process_raw(buf, False, False)
else:
break
decoder.end_utt()
sentence = " ".join([seg.word for seg in decoder.seg()])
bot.send_text_message(recipient_id, sentence)
#bot.send_attachment_url(recipient_id, att['type'], att['payload']['url'])
else:
pass
return "Success"
评论列表
文章目录