📜  discord js setinterval - Javascript(1)

📅  最后修改于: 2023-12-03 15:30:27.582000             🧑  作者: Mango

使用 Discord.js 的 setInterval()

介绍

Discord.js 是一个流行的 Node.js 库,用于构建基于 Discord 的应用程序和机器人。其中一个最有用的功能之一是 setInterval(),它允许创建定时器以在一定的时间间隔内执行代码。

setInterval()函数用于在指定的时间间隔内重复执行一组指定的代码。如果需要每隔一段时间就执行一些代码,那么setInterval()函数将是一个非常有用的工具。

示例
示例 1

以下代码段创建了一个 Discord bot ,并使用 setInterval() 函数每 10 秒向指定的频道发送一条消息:

const Discord = require('discord.js');

const client = new Discord.Client();

client.once('ready', () => {
	console.log('Bot is ready for action!');
});

client.login('YOUR_BOT_TOKEN');

const channelId = '123456789'; // 你想要发送消息的频道 ID

setInterval(() => {
	const channel = client.channels.cache.get(channelId);
	channel.send('我是一个机器人,每隔 10 秒就会发送一条消息!');
}, 10000); // 时间间隔:10 秒(10000 毫秒)
示例 2

以下代码段创建了一个 Discord bot ,并使用 setInterval() 函数每 1 分钟检查一次在线成员列表,如果发现新成员上线,则会发送一条欢迎消息:

const Discord = require('discord.js');

const client = new Discord.Client();

client.once('ready', () => {
	console.log('Bot is ready for action!');
});

client.login('YOUR_BOT_TOKEN');

const channelId = '123456789'; // 你想要发送消息的频道 ID
const guildId = '987654321'; // 目标服务器的 ID
let lastMemberCount = 0; // 上次在线成员数

setInterval(() => {
	const guild = client.guilds.cache.get(guildId);
	const currentMemberCount = guild.members.cache.filter(member => !member.user.bot && member.presence.status !== 'offline').size;

	if (currentMemberCount > lastMemberCount) {
		const channel = guild.channels.cache.get(channelId);
		channel.send(`欢迎新成员加入!当前在线成员数为:${currentMemberCount}`);

		lastMemberCount = currentMemberCount;
	}
}, 60000); // 时间间隔:1 分钟(60000 毫秒)
结论

使用 setInterval() 函数,可以轻松地创建一个循环,以在 Discord 上执行各种有用的操作,为您的应用程序或机器人增加更多的功能。