web-dev-qa-db-ja.com

Discordボットの日時形式の変更

それで、タイトルは私の質問を簡単に説明します。ボットのキック機能を作成していますが、非常にうまく機能しています。私が抱えている唯一の問題(メジャーではない)は、キック情報を含む埋め込みを#incidentsチャネルに送信するセクションにあります。ボットとスタッフ。作成した新しいDiscordユーザーアカウントを作成し、サーバーに参加させました。 removeコマンドをテストしましたが、それは機能し、意図したとおりに機能します。

var incidentembed = new discord.RichEmbed()
    .setTitle("User removed")
    .setDescription("**" + ruser + "** was successfully removed from the server.") /** ruser declares the user that was removed. **/
    .setColor("#3937a5")
    .addField("Time assigned", message.createdAt, true)
    .addField("Assigned by", `<@${message.author.id}>`, true)
    .addField("Reason", rreason, false); /** rreason declares the reason that the staff member inputted. **/
bot.channels.get("466904829550264322").send(incidentembed); /** The ID points out the #incidents channel. **/

Embed look

(はい、ClassyAssは私のDiscordユーザー名です。)

スクリーンショットからわかるように、割り当てられた時間フィールドに明らかに問題があります。私はmessage.createdAtを使用してこの日付と時刻を生成していますが、フォーマット方法が乱雑で混乱しています。

オーストラリア東部標準時間(AEST)に基づいて、時刻と日付の形式をDD/MM/YYYY HH:MM AM/PMとして設定したい。どうすればこれを達成できますか?

2
Brandon

埋め込みを使用しているときに、Discordを使用して時刻と日付を表示できます(ユーザーのタイムスタンプにも変換されます)。
embed.setTimestamp()

var incidentembed = new discord.RichEmbed()
    .setTitle("User removed")
    .setDescription("**" + ruser + "** was successfully removed from the server.") /** ruser declares the user that was removed. **/
    .setColor("#3937a5")
    .setTimestamp(message.createdAt)
    .addField("Assigned by", `<@${message.author.id}>`, true)
    .addField("Reason", rreason, false); /** rreason declares the reason that the staff member inputted. **/
bot.channels.get("466904829550264322").send(incidentembed); /** The ID points out the #incidents channel. **/

または、それでも日付をフォーマットしたい場合は、 this のようにすることができます。

var d = new Date,
dformat = [d.getMonth()+1,
       d.getDate(),
       d.getFullYear()].join('/')+' '+
      [d.getHours(),
       d.getMinutes(),
       d.getSeconds()].join(':');

クレジットは KooiInc に送られます。

1
André