filipedeschamps / video-maker Goto Github PK
View Code? Open in Web Editor NEWProjeto open source para fazer vídeos automatizados
License: MIT License
Projeto open source para fazer vídeos automatizados
License: MIT License
Putz mano, mais um projeto abandonado...
desse jeito seu cérebro nunca vai confiar em você....
Manda o resto do código pra gente poder dar pitaco, de repente assim da uma estimulada na dopamina ;)
pessoALL,
já é sabido por nós que o @filipedeschamps ainda não aceitou os PRs nem as Ideias aqui nas Issues porque ele está construindo o video-maker ensinando passo a passo a arquitetura. Se ele aceitasse os PRs agora iria complicar para quem está aprendendo um monte de PR maneiro com códigos mais complexos.
Enfim, assim que o video-maker dele terminar, e ele terminar os videos, chega no ponto que poderemos criar um branch como "v2.0" ou "extended" ou "pro" ou "plus" no qual poderemos estender ao máximo a sua arquitetura.
Eu ainda vou conversar com o filipe desse branch novo, assim q ele terminar lá, e gostaria de contribuir na manutenção dele, como já fiz algumas vezes em outros projetos. Também vou dar uma atenção especial a essa ISSUE, atualizando sempre que possível.
O @faustoct já adiantou algumas coisas que pensei em #73 e #74. O @ibrunotome também em #60. E tantas outras ideias legais como #14, #25, #71, #37 e as ideias adicionais do @trenshy em #3.
Enfim, tem muita coisa pra "massa" para organizarmos. Só vamos aguardar o filipe terminar os videos e vamos prestar atenção nos videos dele para que possamos ter mais e mais ideias a medida que o video-maker evolui. Não deixe de ver os videos, e depois venham aqui criem issues com ideias e assim vamos catalogando tudo 🎉 🎉 🎉
Eu fui acessar o canal Know The World, e reparei uma coisa meio chata. A musica é sempre a mesma. Logo pensei em, no lugar de sempre usar a mesma música, ter uma playlist, não muito grande, para dar uma variada e não ficar repetitivo.
ENTREM NO DISCORD!
Adicionais - Robô de Texto
Input em outras línguas
leguass7
Google Trends
LucasRibP
luizotcarvalho
Implementação: wellingtonsilverio e danielschmitz
Painel de manchetes (G1, Folha, com o link da notícia na descrição)
LorhanSohaky
Implementação: uxcardoso
Artigos do Medium
leorcvargas
Contar piadas (estilo Cortana, Siri, Alexa) (???)
Fazer vídeo sobre comic books (API da Marvel, por exemplo)
Informações do IMDB
Implementação: mcf1110
Vídeo de história
globsecure
Adicionais - Robô de Imagens
Baixar GIFs (?)
Adicionar mais fonte de imagens
globsecure
Adicionais - Robô de Vídeo
Text-To-Speech
Adicionais - Robô de Upload
Upload para outros sites (Facebook, Vimeo, Dailymotion, etc)
diegohenicka
Compartilhar nas redes sociais após a publicação
gustavosatheler
content: {
searchTerm: "...",
prefix: "...",
sourceContentOriginal: "...",
sourceContentSanitized: "...",
sentences: [
{
text: "...",
keywords: ["..."],
images: ["..."]
}
]
}
Galera vocês não acham interessante se houvesse uma opção do usuário escolher o template e a música antes de cada vídeo ser gerado? Alguem teria ideia de como automatizar isso?
Estou tendo um erro quando o programa tenta se autenticar no Watson. Fiz exatamente como está no vídeo, mas recebo esta mensagem:
Error: Unauthorized: Access is denied due to invalid credentials.
Alguém teve o mesmo problema?
Sei que não tem a ver com o projeto mas envolve um pouco o tema, e disseram pra eu pedir ajuda aqui kkkkkk.
Estou tendo problemas com o Text-To-Speech do Watson ao integrar em um bot do Discord. O finalzinho do áudio corta e quanto mais vezes ele manda voz mais tempo de áudio ele corta.
Suspeito que seja porque o áudio gerado fica muito justinho, sem folga no começo e no final. e não sei o que fazer pra contornar isso. Nem o Sony Vegas abre o áudio pra eu editar como se o arquivo estivesse corrompido. Testei músicas do meu PC sem usar o Watson e vi que o problema não é o Discord.
Queria saber se existe algo pra instalar pro npm que possa editar um áudio, de forma que adicione alguns segundos mudos no final do áudio. Ou talvez possa ser algum erro do meu código '-'.
Se puder conferir e me ajudar, estou mandando um zip com os códigos que são necessários pra essa tarefa. O código que executa o Watson está em "commands/venha.js". Basicamente eu tive que criar um comando pra chamar o bot em um canal de voz para que as funções de voiceChannel funcionassem. Assim que o bot é chamado para o canal de voz, é mostrado no terminal pra você digitar o que o bot deve falar.
@filipedeschamps em grandes projetos open source é uma boa prática criar um arquivo .md
de código de conduta.
Vou ver se crio um PR para deixar o seu README.md
para facilitar a documentação e execução do seu projeto e incluir o código de conduta.
Há inúmeros modelos. Mas, vou deixar aqui alguns exemplos em português (que uso nos meus repositórios) e inglês:
Se você curtir a ideia, posso abrir uma PR e como consequencia, assim que for para a master do seu projeto, fecho essa Issue aqui.
O que você acha?
Apenas para deixar anotado, como alternativa ao After Effects: https://kdenlive.org/en/features/
Olá, estava vendo aqui e pensei em remover as opções, no caso:
function askAndReturnPrefix() {
return readline.question('Prefix: ')
const prefixes = ['Who is', 'What is', 'The history of']
const selectedPrefixIndex = readline.keyInSelect(prefixes, 'Choose one option: ')
const selectedPrefixText = prefixes[selectedPrefixIndex]
return selectedPrefixText
}
E alterar para que possamos digitar ao invés de escolher uma opção, pensei em fazer dessa maneira, e ele alterou o prefixo, porém não sei se irá dar algum problema depois, não tenho um conhecimento profundo igual a maioria, então se possível, poderiam ver se aconteceria algum problema:
function askAndReturnPrefix() {
return readline.question('Prefix: ')
return selectedPrefixText
}
Ao executar o node index.js
aconteceu tudo corretamente a principio:
copia do erro que acontece no terminal
roger@roger-Inspiron-5566:~/video-maker$ node index.js
Type a Wikipedia search term: michael jackson
[1] Who is
[2] What is
[3] The history of
[0] CANCEL
Choose one option [1, 2, 3, 0]: 1
{ serchTerm: 'michael jackson', prefix: 'Who is' }
(node:14020) UnhandledPromiseRejectionWarning: ReferenceError: wikipediaAlgorithmia is not defined
at fetchContentFromWikipedia (/home/roger/video-maker/robots/text.js:12:29)
at Object.robot [as text] (/home/roger/video-maker/robots/text.js:5:2)
at start (/home/roger/video-maker/index.js:12:9)
at Object. (/home/roger/video-maker/index.js:28:1)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
(node:14020) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:14020) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Eu estava tentando fazer a instalação do pacote sdb mas nao consegui, o codigo de erro é o ELIFECYCLE, tem esse log: 2019-03-12T05_07_56_954Z-debug.log
[email protected] install C:\Users\N202\Documents***\video_maker\node_modules\sdb
node-gyp rebuild
C:\Users\N202\Documents**\video_maker\node_modules\sdb>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:484:19)
gyp ERR! stack at PythonFinder. (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:509:16)
gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:154:21)
gyp ERR! System Windows_NT 10.0.10240
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\N202\Documents**\video_maker\node_modules\sdb
gyp ERR! node -v v10.15.2
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
É possível corrigir os erros de acentuação?
No caso fazer tipo um tratamento para corrigir isso, desculpem ficar abrindo issue por coisas que provavelmente pra vocês é algo bobo, não sou nem um profissional em JS, cai de paraquedas nisso, mais enfim, se alguém puder me ajudar a arrumar isso, ficarei muito agradecido :)
$ node index.js
internal/modules/cjs/loader.js:615
throw err;
^
Error: Cannot find module 'algorithmia'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:613:15)
at Function.Module._load (internal/modules/cjs/loader.js:539:25)
at Module.require (internal/modules/cjs/loader.js:667:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object. (C:\Users\calie\Desktop\video-maker-master\robots\text.js:1:83)
at Module._compile (internal/modules/cjs/loader.js:738:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:749:10)
at Module.load (internal/modules/cjs/loader.js:630:32)
at tryModuleLoad (internal/modules/cjs/loader.js:570:12)
at Function.Module._load (internal/modules/cjs/loader.js:562:3)
Seria interessante começar a aceitar os PRs da galera, acho que ainda vão vir muitos !!
Tive uma ideia que pode funcionar. Crie aí um novo branch, vamos chamá=lo de community. Aí o pessoal vai fazer os PRs nesse branch, que vai ser meio que uma versão PRO do video maker que vc está ensinando.
content: {
searchTerm: "...",
prefix: "...",
sourceContentOriginal: "...",
sourceContentSanitized: "...",
sentences: [
{
text: "...",
keywords: ["..."],
images: ["..."]
}
]
}
Expor o robo como servico via api rest
Objetivo / Vantagens
Sugestões de endpoint
GET /user/home
Response
[{
youtube-video-url:"https://www.youtube.com/watch?v=5J4J1K595vs",
youtube-video-id: "5J4J1K595vs",
title:"Who is Steve Jobs",
},
{
...
}
]
GET /search/{term}
Response
{
youtube-video-url:"https://www.youtube.com/watch?v=5J4J1K595vs",
youtube-video-id: "5J4J1K595vs",
title:"Who is Steve Jobs",
searchterm: "Steve Jobs"
}
Fiz um pull request #21 e gostaria de fazer um merge dele com outro pull request #28.
Alguém pode me explicar como faço isso? Achei a ideia do @RodolfoSilva muito bacana e gostaria de utilizá-la.
Criei um repositorio com o bot feito em python. Quem puder ajudar.
Repositorio em Python
Boa tarde pessoal.
Estou tendo problemas para acessar a API do Watson pelo robo.
Estou rodando em uma rede com proxy, porem se tento acessar a api do watson pelo curl vai sem problema algum.
Quando rodo o nodejs tenho o erro abaixo.
video-maker/robots/text.js:87
throw error
^Error: unable to get local issuer certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1049:34)
at TLSSocket.emit (events.js:182:13)
at TLSSocket._finishInit (_tls_wrap.js:631:8)
async function fetchWatsonAndReturnKeywords(sentence) {
return new Promise((resolve, reject) => {
nlu.analyze({
text: sentence,
features: {
keywords: {}
}
}, (error, response) => {
if (error) {
throw error //linha 87
}
const keywords = response.keywords.map((keyword) => {
return keyword.text
})
resolve(keywords)
})
})
}
Boa noite galera,
estou com o seguinte erro. Alguém sabe como resolver? Estou na parte de criar o conteúdo com o fs!
(node:52901) UnhandledPromiseRejectionWarning: authorization required
(node:52901) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:52901) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
obrigado!
Isso é uma sugestão de estratégia de mkt digital. Seguintes plataformas podem ser alimentadas via api, com o conteúdo gerado pelo robo.
Objetivo: Usar o conteúdo gerado pelo robo para alimentar as mídias sociais do mvp/projeto.
Vantages
Turma, vejam esse vídeo que legal para o projeto: https://www.youtube.com/watch?v=4Wue2H9V_Ko
Pessoal bom dia!Como estão?
Eu estou com um outro erro para executar index.js
(node:10065) UnhandledPromiseRejectionWarning: authorization required(node:10065) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)(node:10065) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code
conseguem me ajudar?
Fiz a implementação de automaticamente encontrar os termos usando a API do Google Trends, mas eu não sei utilizar muito bem o git.
Eu criei uma nova branch no repositório clonado e tentei fazer um push dela mas aparece a seguinte mensagem:
$ git push origin auto-term-search
Username for 'https://github.com': Pacheco95
Password for 'https://[email protected]':
remote: Permission to filipedeschamps/video-maker.git denied to Pacheco95.
fatal: unable to access 'https://github.com/filipedeschamps/video-maker.git/': The requested URL returned error: 403
Desculpem a minha ignorância quando se trata de utilizar o git de forma colaborativa.
desculpe a burrice mais não manjo nada de js! como faço para rodar ? sei bem pouco de python e lá eu uso anaconda ou algo assim mais nesse projeto estou perdido :(
Ae galerinha, para rodar o projeto você tem que utilizar o comando no terminal de sua preferência, na pasta do projeto: "node índex.js".
Provavelmente vai dar um error, Então vá na pasta 'credentials', crie um arquivo JSON e coloque suas credenciais do Algorithmia e do Watson.
Exemplo:
{
"apiKey": "(sua APIKEY aqui)"
}
Se você tentar rodar sem criar esse arquivo JSON, vai sempre dar o erro, porque quando o algoritmo for fazer a requisição não vai ser possível aceitar.
Edit:
A API Key tem que ser sua, ou seja, você tem que ir no site, criar a conta, pegar a sua api e inserí-la.
Informações atualizadas aqui #89
@filipedeschamps
Queria somente deixar aqui a minha solução de como pegar a trending do google em python,pois a pouco documentação sobre em português e também mostrar que esse projeto pode ser feito em outras linguagens como python.
import codecs
import os
import urllib.request
from xml.etree import ElementTree
url = 'https://trends.google.com/trends/trendingsearches/daily/rss?geo=BR'
keywords_filename = './keywords.txt'
tmp_filename = './keywords_tmp.xml'
urllib.request.urlretrieve(url, tmp_filename)
if os.path.isfile(keywords_filename):
with open(keywords_filename, 'r') as f:
old_list = f.read().splitlines()
else:
old_list = []
tree = ElementTree.parse(tmp_filename)
root = tree.getroot()
fresh_list = [title.text.lower()
for title in root.iter('title')]
try:
fresh_list.remove('daily search trends')
except ValueError:
pass
output = '\n'.join(a for a in list(set(old_list + fresh_list)))
with codecs.open('./keywords.txt', 'w+', "utf-8") as f:
f.write(output)
os.remove(tmp_filename)
Muito Obrigado e Parabéns Filipe por essa iniciativa de criar o projeto
Have fun and Code Forever
Olá devs. O projeto é muito legal em si próprio, e está possibilitando que muitas pessoas aprendam a programar ou aprendam novas skills. Entretanto, suponho que uma grande parte das pessoas aqui não estão utilizando o espaço de Issues corretamente. Eu vi usuários fazendo a divulgação da comunidade do Discord em Issues abertos até mesmo a criação de Issues somente para divulgar forks em outra linguagem (o que mesmo sendo ótimo, acredito que a sessão Issues não seja o lugar para a divulgação). Assim sendo, proponho que seja adicionado uma sessão de orientação a comunidade (já tem um Issue aberto com a ideia de adicionar um código de conduta, porém acho que esse não abrange orientação de como usar corretamente as seções do Github. Talves orientação até mesmo a utilização do StackOverflow para perguntas e resolução de bugs.
Olá, já arrumei o "algorithmia.json" e executei o "npm install algorithmia", e agora está dando esse erro ao executar o index.js, alguém pode me ajudar?
C:\WINDOWS\system32\cmd.exe[9348]: c:\ws\src\node_file.cc:1599: Assertion `args[1]->IsInt32()' failed.
1: 00007FF62D53F04A v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+5114
2: 00007FF62D51A0C6 node::MakeCallback+4518
3: 00007FF62D51A17F node::MakeCallback+4703
4: 00007FF62D4E13E2 uv_loop_fork+34674
5: 00007FF62DD1C122 v8::internal::OptimizingCompileDispatcher::Unblock+59890
6: 00007FF62DD1D5AD v8::internal::OptimizingCompileDispatcher::Unblock+65149
7: 00007FF62DD1C606 v8::internal::OptimizingCompileDispatcher::Unblock+61142
8: 00007FF62DD1C4EB v8::internal::OptimizingCompileDispatcher::Unblock+60859
9: 000002397DADC5C1
Boa tarde!
Felipe e todos membros do grupo, como estao?
Estou tendo um problema quando digito o comando node index.js - não esta funcionando e esta voltado este erro
module.js:549
throw err;
^
Error: Cannot find module 'sbd'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object. (/home/patricia/rob-s-maker/robots/text.js:3:35)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
Conseguem me ajudar?
Tentei buscar uma solução e não consegui.
E aí @filipedeschamps, hora de implementar testes e automatizar o processo de execução desses testes :)
Abaixo alguns SaaS pra CI, todos grátis pra open source:
E também o Codacy pra analisar a qualidade das PRs.
Fiz tudo igual ao vídeo, substituindo as credenciais, mas ao executar o index.js eu recebo este erro:
Error: Insufficient credentials provided in constructor argument. Refer to the documentation for the required parameters. Common examples are username/password, api_key, and iam_access_token.
Mas aí eu alterei a importação das credenciais no robô de texto pra ficar assim:
const watsonCredentials = require('../credentials/watson-nlu.json')
E na utilização assim:
var nlu = new naturalLanguageUnderstandingV1({
version: '2018-11-16',
...watsonCredentials
})
Mas mesmo com essas alterações eu obtive o erro:
Error: Unauthorized: Access is denied due to invalid credentials.
Alguém sabe resolver?
Por que no robô text.js
o
for (const sentence of content.sentences)
é uma const
e não let
?
Alguém sabe como realizar a correção desse erro?
internal/modules/cjs/loader.js:615
throw err;
^
Error: Cannot find module '../credentials/algorithmia.json'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:613:15)
at Function.Module._load (internal/modules/cjs/loader.js:539:25)
at Module.require (internal/modules/cjs/loader.js:667:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object. (/var/app/video-maker/robots/text.js:2:27)
at Module._compile (internal/modules/cjs/loader.js:738:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:749:10)
at Module.load (internal/modules/cjs/loader.js:630:32)
at tryModuleLoad (internal/modules/cjs/loader.js:570:12)
at Function.Module._load (internal/modules/cjs/loader.js:562:3)
@filipedeschamps
@danielschmitz
Bom dia a todos.Estou tentando criar o video apartir das imagens ou seja renderiza las.Entrentanto não consegui achar nenhuma api que faça ou alguma documentação sobre.Procurei sobre o adobe after effects e como usar e n encontrei.
Alguem sabe qual api o Filipe o usou ou alguma ideia sobre?
Seria de grande ajuda.
Ate agora somente consegui isso com o ffmpeg mesmo assim o video n fica bem redimensionado como o do Deschamps e sem a intro do after effects
import os
class VideoRobot():
def __init__(self, project_directory):
self.images_directory = project_directory
self.subtitles_template = NOTE:TEMPLATE DE SUBTITILES RETIRADO DEVIDO AS ASPAS!
def make_video(self):
command = "cat {0}/*.jpg | ffmpeg -y -framerate 0.08 -f image2pipe -i - {0}/output_imgs.mp4".format(self.images_directory)
os.system(command)
def add_subtitles(self, sentences):
self.subtitles_template = self.subtitles_template.format(sentences[0],
sentences[1], sentences[2], sentences[3],
sentences[4], sentences[5], sentences[6])
with open("{0}/subtitles.srt".format(self.images_directory), "w") as subtitles_file:
subtitles_file.write(self.subtitles_template)
os.system("ffmpeg -y -i {0}/output_imgs.mp4 -vf subtitles={0}/subtitles.srt{0}/output_text.mp4".format(self.images_directory))
def add_music(self):
os.system("ffmpeg -y -i {0}/output_text.mp4 -i music.ogg -c copy -map 0:v:0 -map 1:a:0 {0}/final_video.mp4".format(self.images_directory))
def convert_to_jpg_and_Resize(self, files):
print(files)
for f in files:
imagem = Image.open(f)
altura_desejada = 720
largura_desejada = 1280
largura_imagem = imagem.size[0]
altura_imagem = imagem.size[1]
if largura_imagem > altura_imagem:
print("largura_imagem > altura_imagem")
percentual = float(largura_desejada) / float(largura_imagem)
altura_desejada = int((altura_imagem * percentual))
imagem = imagem.resize((largura_desejada, altura_desejada), Image.ANTIALIAS)
else:
print("altura_imagem > largura_imagem")
percentual = float(altura_desejada) / float(altura_imagem)
largura_desejada = int((largura_imagem * percentual))
imagem = imagem.resize((largura_desejada, altura_desejada), Image.ANTIALIAS)
imagem.save('{}-{}x{}.jpg'.format(f,imagem.size[0], imagem.size[1]))
os.remove(f)
Muito Obrigado e até breve!
Esse erro aparece quando executo o "index.js"
Insufficient credentials provided in constructor argument. Refer to the document for the required parameters. Common examples are username/password, api_key, and iam_access_token.
Parece que preciso botar meu user e senha que cadastrei no watson mas o @filipedeschamps fez com outro comando.
var nlu = new NaturalLanguageUnderstandingV1({
iam_apikey: watsonApiKey,
version: '2018-04-05',
url: 'https://gateway.watsonplatform.net/natural-language-understanding/api/'
})
Código anterior:
unction askAndReturnPrefix() {
const prefixes = ['Who is', 'What is', 'The history of']
const selectedPrefixIndex = readline.keyInSelect(prefixes, 'Choose one option: ')
const selectedPrefixText = prefixes[selectedPrefixIndex]
return selectedPrefixText
}
Código com as opções removidas:
function askAndReturnPrefix() {
return readline.question('Prefix: ')
return selectedPrefixText
}
OBSERVAÇÃO: Como não foi testado na parte do YouTube, não sei se funcionará corretamente.
O erro acontece no momento em que o @filipedeschamps consegue fazer a busca no wikipedia e as letras ficam verdes.
Meu caso, da esse erro!
O que devo fazer?
:::
:::
Percebi que ele está em Inglês, e gostaria de coloca-lo em Português, pois vi o código da Algorithmia em relação ao texto, e ele tem em Português, queria colocá-lo em Português, porém só mexia com HTML, CSS e muito pouco em Java. Enfim, a pergunta é: É possível colocá-lo em Português?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.