Fazendo o seu próprio bot Telegram a partir do zero com o Node.Js

Jon Besga Blocked Unblock Seguir Seguindo 29 de maio de 2017

Em primeiro lugar, crie a pasta do projeto, altere o diretório para ela e inicie o projeto usando o fio.

 mkdir tutorial-bot && cd tutorial-bot e& yarn init 

Não é necessário configurar nada neste passo, então, quando solicitado, basta pressionar enter em cada pergunta.

Depois disso, abra o arquivo gerado package.json e adicione as seguintes linhas:

 "Scripts": { 
"Start": "node index.js"
}

Não se esqueça de colocar uma vírgula após o colchete de fechamento que precede esse código, caso contrário, você receberá um erro.

Podemos gerenciar o comportamento de nosso bot através da API fornecida pelo Telegram . Para fazer isso, vamos usar a biblioteca de solicitações .

 fio adicionar pedido 

O bot pai vai te dar um bot que você não pode recusar

Entre no Telegram e procure um usuário com o nome de usuário @BotFather . Este bot gerencia todos os Bots do Telegrama. Vamos criar um e receber o token de autenticação único , você pode criar um novo token e excluir o antigo ou criar novos tokens para ter vários ao mesmo tempo.

Use o comando / newbot e escolha o nome para seu bot.

Em seguida, escolha o nome de usuário para você bot. Deve terminar em "bot" e você pode usar um sublinhado. Da minha experiência usando CamelCase (MyBot) em vez do sublinhado (My_Bot) é mais bonito e mais limpo.

Bot, identifique-se!

Nós vamos criar uma classe Bot onde colocaremos todos os métodos que queremos no nosso bot.

 bot de classe { 
 } 

Primeiro, vamos criar um método init e vamos usá-lo para obter o nome e as propriedades básicas do bot usando o método getMe da API do Telegram:

 init (TOKEN) { 
return new Promise ((resolver, rejeitar) => {
deixe url = ` https://api.telegram.org/bot$ {TOKEN} / getMe`
request (url, (erro, r, corpo) => {
const resposta = JSON.parse (corpo) .result
se (erro) retornar
if (! resposta) retorno
this.id = response.id || ''
this.first_name = response.first_name || ''
this.last_name = response.last_name || ''
this.username = response.username || ''
this.language_code = response.language_code || ''
resolver()
})
})
}

Isso retornará uma promessa de que ela será concluída depois que todas as propriedades estiverem definidas.

Também adicionaremos o método getName para retornar o nome e sobrenome e um método introductionYourself para imprimir o resultado na tela.

 getName () { 
if (this.last_name) {
return $ {this.first_name} $ {this.last_name}
}
outro{
return `$ {this.first_name}`
}
}
 apresente-se(){ 
console.log (`Olá, meu nome é $ {this.getName ()}. Você pode falar comigo através do meu nome de usuário: @ $ {this.username}`);
}
}

Finalmente, fora da classe Bot, vamos criar a classe e chamar o método init usando como parâmetro o TOKEN.

 TOKEN = '<O SEU TOKEN AQUI>' 
Const b = novo Bot ()
b.init (TOKEN). então (() => {
b.introduzirYourself ()
})

No terminal, use yarn init e aproveite a saída.

Se você gostou deste tutorial básico, recomende-o a motivar-me a escrever mais tutoriais.

Se você é um programador experiente e tem ideias melhores de como melhorar o código, também gostaria de receber feedback nos comentários.

Clique para recomendar isso para outros leitores médios interessados em inteligência artificial, chatbots e desenvolvimento.