【问题标题】:When bot is restarted or turned on, do a specific function当机器人重新启动或打开时,执行特定功能
【发布时间】:2019-08-21 03:50:58
【问题描述】:

我正在尝试这样做,以便当我的机器人重新启动时,它会在 ready.js 文件中搜索它在机器人所在的所有公会中创建的 webhook,然后机器人将使用该 webhook 并通过它发送消息。我无法到达任何地方,这是在 JS 中。

我已经参考了 Discord.JS 的文档,但确实没有得到任何帮助。我尝试从webhook.owner 获取客户端 ID,并查看机器人的 ID 是否与它匹配。我不知道如何从webhook.owner中提取客户端ID

guild.fetchWebhooks()
    if(webhook.owner == `${bot.user.id}`);

(建议)

guild.fetchWebhooks()
    if(webhook.owner == `${bot.user.username}`);

(实际) 这是我能想到的唯一代码,如果需要可以添加完整文件。

我希望机器人在重新启动时 (bot.on) 会搜索它所在的所有公会并找到它拥有的 webhook,并通过它发送消息而不将消息发送到另一个活动的 webhook。

最终发生的事情是我的机器人只是发送了一个关于该机器人的提及。

【问题讨论】:

    标签: node.js visual-studio-code discord.js


    【解决方案1】:

    做这样的事情:

     bot.on('ready', async () => {                          // on ready
        await bot.guilds.forEach(async guild => {           // in all guilds:
            const webhooks = await guild.fetchWebhooks();   // check for Webhooks
            await webhooks.forEach(async webhook => {       // for all found Webhooks:
                if (webhook.owner.id == bot.user.id) {      // check if bot owns them
                    webhook.send('test');                   // Do something with the Webhook example
                }
            });
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      相关资源
      最近更新 更多