\r\n\r\n

不協和音のロボットを自作する方法

discordにはカスタムボットを書くための優れたapiがあり、非常に活発なボットコミュニティがあります。今日は、自分でできることから始めて見ましょう...。

Discordにはカスタムボットを書くための優れたAPIがあり、非常に活発なボットコミュニティーがあります。今日は、自分でできることから始めて見ましょう。

ボットを書くにはプログラミングの知識が必要なので、誰にでもできるわけではありませんが、幸いなことに、いくつかの有名な言語にはモジュールがあり、非常に簡単に実装することができます。最もポピュラーなものであるnotと.jsを使用することにします。

関連:Discordサーバーの作成、設定、管理方法について

はじめに

Discord のボットポータルに移動し、新しいアプリケーションを作成します。

クライアントIDとシークレット(もちろん秘密にしておく)をメモしておく必要があります。ただし、これはボットではなく、あくまで「アプリケーション」です。ボット」タブでボットを追加する必要があります。

このトークンもメモして、秘密にしておきましょう。この鍵はいかなる場合でもGithubに提出しないでください。あなたのボットは直ちにハッキングされます。

node.jsをインストールし、コーディングを開始します。

ウェブページの外でJavascriptのコードを実行するには、ノードが必要です。ダウンロードしてインストールし、ターミナル(またはコマンドプロンプトで、Windowsではすべて動作するはずです)で動作することを確認してください。デフォルトのコマンドは "node "です。

また、nodemonツールのインストールをお勧めします。これは、ボットのコードを監視し、変更があった場合に自動的に再起動するコマンドラインアプリケーションです。以下のコマンドを実行することで、インストールすることができます。

npm i -g nodemon

テキストエディタが必要です。メモ帳でも良いのですが、AtomやVSCをお勧めします。

私たちの「Hello Worlds」を紹介します。

c***t Discord = require('discord.js'); c***t client = new Discord.Client(); client.on('ready', () => { c***ole.log(`Logged in as ${client.user.tag}!`); }); client.on('message', msg => { if (msg.content === 'ping') { msg.reply('pong'); } }); client.login('token');

このコードはdiscord.jsの例から引用しています。少し分解してみましょう。

  • 最初の2行はクライアントの設定に使用されます。最初の行はモジュールを "Discord" というオブジェクトにインポートし、2番目の行はクライアントオブジェクトを初期化します。
  • このclient.on('ready')ブロックは、botが起動したときに開始されます。ここでは、その名前をターミナルにログ出力するように設定するだけです。
  • このclient.on ('message')ブロックは、新しいメッセージがいずれかのチャネルに投稿されるたびにトリガーされます。もちろん、メッセージの内容を確認する必要があり、それを行うのがifブロックです。メッセージに "ping "とだけ書かれていれば、"Pong!"と返信します。
  • 最後の行は、ボットポータルトークンを使ってログインしています。このスクリーンショットに写っているトークンは偽物です。

このコードをコピーし、下部にトークンを貼り付けて、index.jsとして専用フォルダに保存してください。

ボットの動かし方

ターミナルに移動して、以下のコマンドを実行します。

nodemon --inspect index.js

これでスクリプトが起動し、Chromeのデバッガが起動します。Chrome/check/goと入力してChromeのOmnibarに移動し、 "Node-specific development tools" を開くと実行できます。

さて、「Logged in as」と表示されるだけですが、ここに、受信したすべてのメッセージオブジェクトをコンソールに記録する行を追加しています。

では、このメッセージオブジェクトはどのような内容になっているかというと、実はいろいろあるんです。

最も注目すべきは、メールの作者やメッセージのチャンネルにアクセスするために使用できる作者情報とチャンネル情報です。この方法は、Chrome node devtoolsにオブジェクトを記録し、何が原因で動作するのかを調べまくることをお勧めします。面白いものが見つかるかもしれません。例えば、ここではボットが返信をコンソールに記録しているので、ボットの返信がclient.on("message")のトリガーとなります。ということで、スパンボットを作ってみました。

注意:再帰を扱うのはあまり好ましくないので、この点に注意してください。

サーバーにボットを追加する方法

この部分は、必要以上に難しいです。

https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

をクリックし、CLIENTIDをアプリケーションページの「一般情報」タブにあるボットのクライアントIDに置き換えてください。これが完了したら、友達にリンクを渡して、自分のサーバーにもボットを追加してもらうことができます。

なるほど、では他にどうすればいいのでしょうか?

基本的な設定以外は、すべてお客様次第です。しかし、helloworldのままでは、あまり良いチュートリアルにならないので、ドキュメントをいくつか見て、何が起こっているのか、より良く理解できるようにしましょう。よく書かれているので、できるだけ目を通すことをお勧めします。

コードの最初に console.log (client) を追加して、コンソールでクライアントオブジェクトを見ることをお勧めします:.

ここから多くのことを学ぶことができます。サーバーはGuildsマッピングオブジェクトの一部であり、一度に複数のサーバーにボットを追加することが可能です。APIは非常に奥が深く、学ぶのに時間がかかるかもしれませんが、少なくともセットアップや学習を始めるのは簡単です。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ