サーバーに居るツールボットの使い方
これらのボットにはMaid(メイド)という役職が与えられている
外部のボットとは違い、質問チャンネルでも利用可能なボット
HARZ
現在開発しているボット、将来的にこのボットへ(RunJSを除く)全ての機能を移行します
完了InkoHX.icon
GitHubのハイライトリンクから、ハイライトしてるコードを取得し、リンクを開かずともDiscordへ送信してくれます。
https://github.com/InkoHX/HARZ/blob/master/heroku.yml#L1このようなリンクが対象
@HARZ#4409 docs <検索ワード> [--private|-p] [(--src|-s)=<json url>] [--force|-f]
Discord.jsの公式ドキュメントを検索できるコマンド
--privateまたは-pを使用することで、プライベートメソッドなどを含めて検索することができます
使用法: @HARZ#4409 docs Client --private
(--src|-s)=<JSON URL>はdiscordjs/docgenを使用して作られたJSONファイルのURLを指定することで、Discord.js以外のドキュメントの検索を可能にします
使用法: @HARZ#4409 docs map -s=https://raw.githubusercontent.com/discordjs/collection/docs/master.json
srcに指定できるものの中で便利そうなもの
voice
https://raw.githubusercontent.com/discordjs/docs/main/voice/stable.json
collection
https://raw.githubusercontent.com/discordjs/docs/main/collection/stable.json
v12
https://raw.githubusercontent.com/discordjs/docs/main/discord.js/v12.json
master
https://raw.githubusercontent.com/discordjs/docs/main/discord.js/master.json
--forceまたは-fを使用することで、キャッシュを使用せず最新のドキュメントを取得します
使用法: @HARZ#4409 docs Client --force
@HARZ#4409 lint [対象のメッセージID|対象のメッセージURL] [--force|-f]
ESLintを使用してコードブロック内のコードを検査します
JavaScript, TypeScriptのみサポート
対象のメッセージIDまたは対象のメッセージURLが指定されていない場合、あなたが送信したメッセージの真上にあるメッセージを取得し、検査します
--forceまたは-fを使用することで、コードブロックの言語識別子チェックをしません
コードブロック内のコードがJavaScript or TypeScriptなのに、コードブロックの言語識別子がJavaScript or TypeScript以外という場合にお使いください
@HARZ#4409 hl [対象のメッセージID|対象のメッセージURL]
対象のメッセージIDまたは対象のメッセージURLが指定されていない場合、あなたが送信したメッセージの真上にあるメッセージを取得し、ハイライトします
コードブロックを使用せずに、コードをまるごと送信してきたユーザーのメッセージをコードブロックで囲い、ハイライトします
コードに問題がある場合、ESLintを使用し自動で修正したりします
修正できない場合は問題があるコードの行を送信します
サポートしているのはJavaScript, TypeScript, JSONのみです
@HARZ#4409 scrapbox [(--project|-p)="Project Name"] [(--sort|-s)=SortTypes] <クエリ>
Scrapboxのプロジェクト内で検索をします
--projectまたは-pでプロジェクトの名前を指定することで、検索する対象のプロジェクトを変更することができます
デフォルトではこのプロジェクトが選択されています(discordjs-japan)
--sortまたは-sオプションを使用することで、検索結果をソートすることができます
このオプションを使用する際は下記のどれかを指定してください
updated
pageRank
デフォルト
リポジトリ
Herokuを使用して動かす
Dockerイメージを使用して動かす
RunJS
リポジトリ
Docker イメージ
setInterval, setTimeout, process, require といったNode.jsのタイマー、標準、外部モジュールなどは使えませんが、簡単なJavaScriptのコードを実行して、結果を返すボットです。
それからconsoleは使うことができるが、実際の出力を確認することはできない
InkoHX/vm2-discordjs#54で使えるようになりました
ただ下のようなコードで代用することができる
code:js
logs = []
console.log = log => logs.push(log)
// ここに処理を書く
console.log('Hello world!')
logs
5秒を超える処理は実行できない。
5秒を超えた場合タイムアウトとなり、エラーが発生します。
コードブロックの言語識別子はjsまたはjavascriptを使用してください。
jsまたはjavascriptを使用していない場合は、コードを実行できません。
RunJSを使用してコードを実行する際は、下記のようにメッセージを送信してください。
code:md
runjs
`js
// code
`
Guideline
少しでも質問カテゴリを利用させる前に質問のガイドラインと回答のガイドラインを見せるための工夫をするボット
ソースコード
Dockerイメージ
Aki (開発中)
モデレーター向けのボット