Как сделать время в дискорде в сообщение

Я хочу, чтобы мой бот Discord сообщал мне текущую дату и время с помощью простой команды, поэтому если я скажу «сколько времени?» он мне скажет. В настоящее время мое единственное решение — отправить ботом ссылку на текущее время в Google, но это не идеально, я бы хотел, чтобы он действительно отображал это как сообщение в канале.

Honda Guy VTEC 12 Дек 2020 в 11:11

2 ответа

Лучший ответ

Вы можете использовать встроенный класс Date для создания строки даты и времени.

// inside a command const currentDate = new Date(); message.channel.send(currentDate);

В приведенном выше примере бот ответит примерно так: «Сб, 12 декабря 2020 г., 15:40:06 GMT + 0100 (Центральноевропейское стандартное время)».

Если вы хотите иметь более понятную для человека строку, вы можете превратить ее в строку языкового стандарта, используя toLocaleString()

message.channel.send(currentDate.toLocaleString());

Результатом будет что-то вроде «12/12/2020, 15:41:58 PM», формат даты и часа зависит от указанного вами языкового стандарта или языкового стандарта сервера, если он не указан.

Xeoth 12 Дек 2020 в 14:45

Вы можете создать бота Discord на том языке, который вам нравится, для них есть SDK для нескольких языков. Кроме того, есть способы создать объект даты на нескольких языках.

Вот пример на Node.JS.

  1. Как создать Discord-бота. Бот Node.JS Discord
  2. Отвечая на сообщение, создайте объект даты . Верните его в ответе.

const Discord = require(‘discord.js’) const client = new Discord.Client() client.on(‘ready’, () => < console.log(‘Bot is now ready to communicate with discord server’); >); client.on(‘message’, (receivedMessage) => < // Prevent bot from responding to its own messages if (receivedMessage.author == client.user) < return >// Check if the bot’s user was tagged in the message if (receivedMessage.content.includes(client.user.toString())) < // Check contents if client wants date if(receivedMessage.content == ‘!date’) < let date = new Date(); // Send date let content = date.getDate() + ‘/’ + date.getMonth() + ‘/’ + date.getFullYear(); receivedMessage.channel.send(content) >// Check contents if client wants time if(receivedMessage.content == ‘!time’) < let date = new Date(); // Send time let content = date.getHours() + ‘:’ + date.getMinutes() + ‘;’ + date.getSeconds(); receivedMessage.channel.send(content) >> >) client.login(«XXXXXXXXXXX») // Replace XXXXX with your bot token

Еще по теме:  Как запустить бота дискорд через cmd

Также вы можете проверить mee6, если не хотите много писать код.

Источник: question-it.com

Как заставить бота Discord сообщать текущую дату и время по команде?

Я хочу, чтобы мой бот Discord сообщал мне текущую дату и время с помощью простой команды, поэтому если я скажу «сколько времени?» он мне скажет. В настоящее время мое единственное решение — отправить ботом ссылку на текущее время в Google, но это не идеально, я бы хотел, чтобы он действительно отображал это как сообщение в канале.

12 дек ’20 в 11:11 2020-12-12 11:11
2020-12-12 11:11

3 ответа

Вы можете использовать встроенный Date класс для создания строки даты и времени.

// inside a command const currentDate = new Date(); message.channel.send(currentDate);

В приведенном выше примере бот ответит примерно так: «Сб, 12 декабря 2020 г., 15:40:06 GMT + 0100 (Центральноевропейское стандартное время)».

Если вы хотите иметь более понятную для человека строку, вы можете превратить ее в строку локали, используя

message.channel.send(currentDate.toLocaleString());

Результатом будет что-то вроде «12/12/2020, 15:41:58 PM», формат даты и часа зависит от указанного вами языкового стандарта или языкового стандарта сервера, если он не указан.

user6094042 12 дек ’20 в 17:45 2020-12-12 17:45
2020-12-12 17:45

Также — вы можете создать две разные команды «время» и «дата», и вместо записи «toLocalString» просто напишите «toLocalDateString» для даты и «toLocalTimeString» для времени.

09 фев ’21 в 21:50 2021-02-09 21:50
2021-02-09 21:50

Вы можете создать бота Discord на том языке, который вам нравится, для них есть SDK для нескольких языков. Кроме того, есть способы создать объект даты на нескольких языках.

Вот пример на Node.JS.

  1. Как создать Discord-бота. Бот Node.JS Discord
  2. При ответе на сообщение создайте объект даты . Верните его в ответе.
Еще по теме:  Как отзеркалить себя в дискорде

const Discord = require(‘discord.js’) const client = new Discord.Client() client.on(‘ready’, () => < console.log(‘Bot is now ready to communicate with discord server’); >); client.on(‘message’, (receivedMessage) => < // Prevent bot from responding to its own messages if (receivedMessage.author == client.user) < return >// Check if the bot’s user was tagged in the message if (receivedMessage.content.includes(client.user.toString())) < // Check contents if client wants date if(receivedMessage.content == ‘!date’) < let date = new Date(); // Send date let content = date.getDate() + ‘/’ + date.getMonth() + ‘/’ + date.getFullYear(); receivedMessage.channel.send(content) >// Check contents if client wants time if(receivedMessage.content == ‘!time’) < let date = new Date(); // Send time let content = date.getHours() + ‘:’ + date.getMinutes() + ‘;’ + date.getSeconds(); receivedMessage.channel.send(content) >> >) client.login(«XXXXXXXXXXX») // Replace XXXXX with your bot token

Также вы можете проверить mee6 , если не хотите много писать .

Источник: stackru.com

Отправка сообщений в конкретное время и день недели

Прошу помощи с кодом для отправки сообщений в заданный канал discord в определенное время в конкретный день недели. Например в каждую среду в 08:00 бот пишет «Доброе утро», а в 22:00 «Спокойной ночи». (Бот висит на хостинге и онлайн 24/7) С отправкой сообщений по команде проблем нет, а вот как сделать это по времени не могу понять 🙁 Пример кода с отправкой по команде hi

const fs = require(«fs»); module.exports.run = async (client,message,args) => < let embed = new Discord.RichEmbed() .setTitle(«Доброе утро!») .setColor(‘RANDOM’) .setDescription(‘Доброе утро!’) .setImage(«—«) .setURL(«—«) .setThumbnail(«—«) .setFooter(‘BOT 1.0’, client.user.avatarURL) message.channel.send(embed); message.delete(100).catch(); >; module.exports.help = < name: «hi» >;«`
Отслеживать
задан 1 окт 2020 в 14:57
21 3 3 бронзовых знака
1 окт 2020 в 16:06

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Еще по теме:  Дискорд сколько тратит трафика

Используйте пакет node-cron, имеющий подробную и понятную документацию.

Отслеживать
ответ дан 1 окт 2020 в 20:21
user403700 user403700

Пример использования node-cron

пример

День недели == 3 (среда)

const cron = require(‘node-cron’); cron.schedule(‘0 0 8 * * 3’, () => < say(‘Доброе утро’) >); cron.schedule(‘0 0 22 * * 3’, () => < say(‘Спокойной ночи’) >);
Отслеживать
ответ дан 23 июл 2022 в 6:09
Paulo Berezini Paulo Berezini
2,307 6 6 золотых знаков 21 21 серебряный знак 34 34 бронзовых знака

  • node.js
  • бот
  • discord
  • discord-api
    Важное на Мете

Связанные

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...