ノードを使用して電報ボットをビルドします.js
10838 ワード
ボットは、インターネット上で動作し、反復的なタスクを実行するソフトウェアプログラムです.
このチュートリアルでは、Pexelsから画像をダウンロードするのに役立つ電報ボットを作成します.
ボットは、あなたのボットを作成することができますBotFatherと呼ばれる.
ボットファーザーは、すべてを支配するボットです.新しいボットアカウントを作成し、既存のロボットを管理するために使用します.
botfatherはあなたに以下のコマンドを提供します.
そこで、
NodeJSで利用できる多くの良いフレームワークがあります.
プロジェクトの初期化と
我々は、ユーザーが求めるpexelsからトップ10の写真を送るつもりです.インストール要求を送信し、pexelsからデータをグラブ化を簡素化するaxiosライブラリをインストールします.
ご覧のように、我々は数分で簡単な電報ボットを作成しました.しかし、あなたはよりクールなStuffを使用することができます.
このボットのソースコードはGitHubにあります.
このチュートリアルでは、Pexelsから画像をダウンロードするのに役立つ電報ボットを作成します.
始める
ボットは、あなたのボットを作成することができますBotFatherと呼ばれる.
ボットファーザーは、すべてを支配するボットです.新しいボットアカウントを作成し、既存のロボットを管理するために使用します.
botfatherはあなたに以下のコマンドを提供します.
そこで、
/newBot
コマンドでボットクリックを作成します.ボットボトソンを作成した後、トークンを提供します.NodeJSで利用できる多くの良いフレームワークがあります.
コーディングを始めましょう
プロジェクトの初期化と
$ npm init
$ npm install telegraf
今すぐファイルを作成し、スクリプトを追加し、簡単なボットを作ろう.const { Telegraf } = require('telegraf')
const bot = new Telegraf(process.env.BOT_TOKEN)
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
bot.launch()
プレビュー
pexelsplashbot
我々は、ユーザーが求めるpexelsからトップ10の写真を送るつもりです.インストール要求を送信し、pexelsからデータをグラブ化を簡素化するaxiosライブラリをインストールします.
npm install axios --save
const { Telegraf } = require('telegraf')
const app = new Telegraf(process.env.BOT_TOKEN);
const axios = require("axios");
const pexelKey = process.env.PEXEL_KEY;
あなたはPexelsApiからAPIキーを得ることができますconst fetchImages = async (text) => {
try {
const { data: { photos } } = await axios.get(`https://api.pexels.com/v1/search?query=${encodeURI(text)}&per_page=10`, {
headers: { Authorization: pexelKey }
}).catch((e) => console.log(e));
// {photos} contains photos object recieved from Pexels
if (photos.length > 0) {
return photos.map(({ src }) => ({ media: { url: src?.original }, caption: "Pexel", type: "photo" }));
// mapping response from photos object
}
} catch (e) {
throw e;
}
}
// when user sends a text message app.on("text") will call
app.on("text", async (ctx) => {
// A Telegraf Context encapsulates telegram update
// So you can use everything you see there
try {
ctx.reply("⌛️ Please Wait It will take few seconds to grab Images"); // bot will send a reply to users.
// GET the data from Pexels API
const photos = await fetchImages(ctx.message.text);
// fetchImages will return image objects from pexels.
photos.length > 0 ? ctx.replyMediaGroup(photos) : ctx.reply("Sorry Image not found :(");
// if photos available then we are sending photos otherwise we are sending a reply as `Sorry Image not found :(`
// we are sending 10 images here so replyMediaGroup accepts an array with objects of media, caption, and type
} catch (e) {
console.log(e);
ctx.reply("Please try after sometime PexelsPlash is down :(")
}
});
私は生きている@PexelsPlashBotラッピング
ご覧のように、我々は数分で簡単な電報ボットを作成しました.しかし、あなたはよりクールなStuffを使用することができます.
このボットのソースコードはGitHubにあります.
Reference
この問題について(ノードを使用して電報ボットをビルドします.js), 我々は、より多くの情報をここで見つけました https://dev.to/ajaykumbhare/build-a-telegram-bot-using-node-js-171hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol