Как заставить бота отправлять сообщения определенной гильдии по определенному каналу без использования команд? - PullRequest
0 голосов
/ 25 августа 2018

Кто-нибудь может мне помочь?Я просто пытаюсь заставить бота отправлять сообщение на указанный канал, не запрашивая его, сообщение должно отправляться каждые x минут, но я просто хочу знать, как его отправить.

1 Ответ

0 голосов
/ 25 августа 2018

Вы можете использовать Client.guilds (список всех гильдий, членом которых является клиент) и Guild.channels (список всех каналов, которые имеет гильдия).
Чтобы указать гильдию и канал, вы можете использовать их идентификаторы: если вы включаете режим разработчика в Discord (в разделе «Настройки пользователя»> «Внешний вид»> «Дополнительно»), вы можете щелкнуть правой кнопкой мыши, чтобы скопировать идентификатор гильдий, каналов, пользователей и т. Д.вкл.
Когда у вас есть идентификатор, вы можете использовать Collection.get(), чтобы получить его.В качестве альтернативы вы можете .find() их по имени, но это не идеально, потому что имена могут быть изменены.

Вот пример:

let guild = client.guilds.get('your guild ID as a string here'), // returns a Guild or undefined
  channel; 

if (guild) {
  channel = guild.channels.get('your channel ID as a string here');
  if (channel) setInterval(() => {channel.send("Here you can put the message and stuffs.");}, 10 * 60 * 1000);
  else console.log("There's no channel with that ID."),
} else console.log("There's no guild with that ID.");

Это только основная концепция, которую вы, очевидно, можете изменитьчто.

...