Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

discord.jsでURLの安全性チェックコマンドを作る

$
0
0

今回作るもの

1.discord上でURL解析を行うコマンドを実行
2.メッセージからURLを取り出す
3.node-fetchを利用してNortonSafeWebでサイトの安全性をチェック
4.結果をサイトのHTMLから取得
5.1が送信されたチャンネルに結果を送信

必要なもの

・node.js => node.js
・discord.js => npm i discord.js
・node-fetch => npm i node-fetch

コード

constdiscord=require("discord.js");constfetch=require("node-fetch");constclient=newdiscord.Client();constprefix="!"client.on("message",asyncmessage=>{constargs=message.content.slice(prefix.length).trim().split(/ +/g);constcommand=args.shift().toLowerCase();if(command==="url"){try{consturl=args[0];if(!url)returnmessage.channel.send("エラー : URLを指定して下さい。")fetch(`https://safeweb.norton.com/report/show?url=${encodeURI(url)}&ulang=jpn`).then(res=>res.text()).then(norton=>{if(norton.indexOf("安全性")!=-1){message.channel.send({embed:{title:"結果は安全です。",description:`ノートン セーフウェブが ${url}を分析して安全性とセキュリティの問題を調べました。`,footer:{text:"Powered by Norton Safeweb"},color:0xffd700}})}elseif(norton.indexOf("[注意]")!=-1){message.channel.send({embed:{title:"結果は注意です。",description:`[注意]の評価を受けた Web サイトは少数の脅威または迷惑を伴いますが、赤色の[警告]に相当するほど危険とは見なされません。サイトにアクセスする場合には注意が必要です。`,footer:{text:"Powered by Norton Safeweb"},color:0xffd700}})}elseif(norton.indexOf("警告")!=-1){message.channel.send({embed:{title:"結果は警告です。",description:`これは既知の危険な Web ページです。このページを表示**しない**ことを推奨します。`,footer:{text:"Powered by Norton Safeweb"},color:0xffd700}})}else{message.channel.send({embed:{title:"結果は未評価です。",description:`このサイトはまだ評価されていません。`,footer:{text:"Powered by Norton Safeweb"},color:0xffd700}})}});}catch(err){message.channel.send("エラー : 解析中にエラーが発生しました。")}}});

使い方

!url <解析したいURL>
で利用することができます!

最後に

初めての投稿なのでおかしいところや、わかりにくいところがあればコメントで教えて頂きたいです!


Viewing all articles
Browse latest Browse all 8691

Trending Articles