当前位置: 首页 > 知识库问答 >
问题:

我如何使我的不和谐机器人的数组对于不同的服务器是不同的?

屠锦
2023-03-14

因此,我的discord机器人有一个数组,字符串形式的对象可以通过我发出的discord命令推送到该数组中,然后将该数组导出到另一个事件文件中,该文件将检查数组中的这些单词是否存在于消息中。

但是我遇到了一个问题,如果我添加一个单词,让我们从服务器1说“a”,然后从服务器2说“b”,然后对机器人所在的每一台服务器都检查单词a和b,这绝对不是我所说的通缉。

我尝试使用maps(),但由于某些原因,我无法在导出的映射上运行方法。

有办法解决这个问题吗?

共有2个答案

祖麻雀
2023-03-14

尝试将每个阵列映射到服务器ID

所以你的数组不是这样的:

[ 'a', 'b']

看起来像

{
  "Server1": ['a'],
  "Server2": ['b']
}

当您编辑或读取阵列时,只获取映射到消息来自的服务器的阵列。

赫连华皓
2023-03-14

你一定要考虑切换到数据库!对于初学者来说,最简单、最快捷的数据库是quick。db,你可以根据公会自由设置你的单词。

以下是一个例子:

const obj_struct = {
  val: {
    word: `foo`
  }
};
db.push(`words_${message.guild.id}`, obj_struct); // it is now stored for that specific guild, now you may fetch and check it like so:
const x = client.db.get(`words_${message.guild.id}`); // does not return a promise so no need of async / await / .then() refer docs, will only get values stored for your specific guild!
 类似资料:
  • 当有人加入语音频道时,如何制作一个标记为@角色的discord机器人?示例:@role{user}已加入

  • 我有错误,我检查了这个-discord bot-userinfo命令“IndentationError:unexpected indent”,但我不知道如何修复我的代码 此行出错- 这是我所有的功能

  • 我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。

  • 我有一个不和谐机器人,定期检查数据库中的一些数据,如果有更新,它会向通道输出一些内容。所以我设置了一个每小时运行一次的函数。 当机器人被添加到多个服务器时,问题就出现了,在这些服务器中,消息只被发送到特定的,因此消息只被发送到我的服务器通道。本质上,我只向我的渠道发送通知,我怎么能向每个拥有我的机器人的渠道发送通知,这可能吗?

  • 我试图在重写discord.py不和谐的自我机器人,它给了我这个错误: 这是我的代码:

  • 我试图向任何使用此机器人加入我的不和谐服务器的人发出欢迎消息,但当有人加入时,不会发生任何事情。我得到一个错误:引用错误:通道名称未定义在C:\用户\Vir\桌面\DiscBot\index.js:13: 71在Map.find(C:\用户\Vir\桌面\DiscBot\node_modules\discord.js\src\util\Collection.js:506: 11)在客户端。(C:\