Хорошо, поэтому я делаю бот в Discord для своего сервера, и что-то, что я хотел реализовать, это команда youtube.
Я искал повсюду и смотреть в API Youtube и все, что я могу найти их поиск, что кажется браузеромВернуть URL-адрес видео YouTube из поиска по ключевым словам с помощью Javascript
Я использую nodejs, чтобы запустить его с моим ноутбуком, и мои пробеги бот off of discord.js
У меня есть аналогичная команда, которая делает MAL и поиск в Urban Dictionary, но я ничего не нашел и не знаю, как сделать то же самое с youtube
Раньше у меня была команда для python bot, который смог это сделать, и я видел, как другие боссы Discord тоже могли это сделать, поэтому я знаю, что это возможно.
В основном, я говорю, мне нужно t о быть в состоянии найти и вернуть YouTube Video URL (первый результат поиска) из строки поисковых терминов, так что использование будет выглядеть
>>youtube Tunak Tunak Tun
вернуть бы https://www.youtube.com/watch?v=vTIIMJ9tUc8
, который является первым результатом поиска для этого ключевое слово (s)
EDIT:
Я нашел команду питона, который будет делать это, но близко навыков, ни уверенности, чтобы попытаться перевести это на JavaScript
elif prefix and cmd=="youtube" and len(args) > 0:
try:
yword=args.replace(" ","_")
ydata= urlreq.urlopen("http://gdata.youtube.com/feeds/api/videos?vq="+yword+"&racy=include&orderby=relevance&max-results=1")
yread= str(ydata.read())
if "<openSearch:totalResults>0</openSearch:totalResults>" in yread:
room.message("I got nothin' for ya by the name of "+args)
else:
trash , yclean=yread.split("<media:player url='http://www.youtube.com/watch?v=",1)
yclean , trash=yclean.split("&",1)
room.message("http://http://www.youtube.com/watch?v="+yclean,True)
except:
room.message("Somethin ain't right")
edit2 (Аполо gies для длины): Хорошо! Я нашел кое-что, что мне стало намного ближе! https://www.npmjs.com/package/youtube-search
Я получил команду на мой бот теперь идет что-то вроде этого: Так что теперь
if (commandIs("yt" , message)){
search(args.join(' ').substring(4), opts, function(err, results) {
if(err) return console.log(err);
message.channel.sendMessage(results);
console.log(results);
});
}
, когда я вхожу >>yt Tunak Tunak Tun
я получаю
[ { id: 'vTIIMJ9tUc8',
link: 'https://www.youtube.com/watch?v=vTIIMJ9tUc8',
kind: 'youtube#video',
publishedAt: '2014-03-21T07:00:01.000Z',
channelId: 'UC3MLnJtqc_phABBriLRhtgQ',
channelTitle: 'SonyMusicIndiaVEVO',
title: 'Daler Mehndi - Tunak Tunak Tun Video',
description: 'Presenting \'Tunak Tunak Tun\' music video sung by the talented Daler Mehndi Song Name - Tunak Tunak Tun Album - Tunak Tunak Tun Singer - Daler Mehndi ...',
thumbnails: { default: [Object], medium: [Object], high: [Object] } } ]
в консоли и [object Object]
в раздора канал. http://i.imgur.com/Vorpn0f.png
Так что проблема теперь у меня есть ссылка в моей досягаемости, но я не могу заставить его вернуться JUST ссылки, и я не имею ни малейшего представления, как вытащить его из этого беспорядка.
Попробуйте console.log (results.link) – jonofan
@jonofan undefined – Paraxo