gpt4 book ai didi

javascript - 如何让 Webhook 通过 Discord Bot 说话(循环)

转载 作者:行者123 更新时间:2023-11-30 19:43:07 28 4
gpt4 key购买 nike

我想让我的机器人能够制作一个 webhook,由命令触发,然后 webhook 可以在一定间隔内说出消息。我想获取已创建的 webhook 的 token 和 id,然后将其放在一个持续不断的 setInterval 上,直到删除 webhook。

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

class pingy extends commando.Command
{
constructor(client) {
super(client, {
name: 'pinghook',
group: 'help',
memberName: 'pinghook',
description: 'git',
})
}
async run(message, args){

var args = Array.prototype.slice.call(arguments);

const nameAvatar = args.join(" ");
const linkCheck = /https?:\/\/.+\.(?:png|jpg|jpeg)/gi;
if (!linkCheck.test(nameAvatar)) return message.reply("You must supply an image link.");
const avatar = nameAvatar.match(linkCheck)[0];
const name = nameAvatar.replace(linkCheck, "");
const name2 = "PingBot";
message.channel.createWebhook(name, avatar)
.then(webhook => webhook.edit(name2, avatar)
.catch(error => console.log(error)))
.then(wb => hook
.catch(error => console.log(error)))
.catch(error => console.log(error));
const hook = new Discord.WebhookClient(wb.id, wb.token)

setInterval(() => {
hook.send("@everyone you've been pinged.")
}, 1500);

}};
module.exports = pingy;

这是我在尝试编写此代码时遇到的一些错误。 ReferenceError: wb 未定义

我的期望:我的机器人可以创建一个由用户激活的 webhook,然后该 webhook 每隔一段时间发送一条消息,直到被删除。从最近创建的 webhook 中获取 webhook.id 和 webhook.token 来执行此操作。

现实: ReferenceError:wb 未定义

最佳答案

代替

message.channel.createWebhook(name, avatar)
.then(webhook => webhook.edit(name2, avatar)
.catch(error => console.log(error)))
.then(wb => hook
.catch(error => console.log(error)))
.catch(error => console.log(error));
const hook = new Discord.WebhookClient(wb.id, wb.token)

setInterval(() => {
hook.send("@everyone you've been pinged.")
}, 1500);

通过像这样使用 async/await,你可以让它变得更干净、更容易:

const hook = await message.channel.createWebhook(name, avatar).catch(error => console.log(error))
await hook.edit(name2, avatar).catch(error => console.log(error))

setInterval(() => {
hook.send("@everyone you've been pinged.")
}, 1500);

关于javascript - 如何让 Webhook 通过 Discord Bot 说话(循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55200250/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com