是否可以创建一个命令来发送用户拥有的警告/静音/禁止的存储数据



我要做的基本上是创建一个命令,这样它就可以从SQLite数据库发送存储数据的嵌入/消息。存储在其中的数据基本上是来自可能的警告的数据。它将显示该警告的用户、主持人、原因和日期时间。我只需要知道如何获取数据并将其正确地放入嵌入中。

这就是我认为它必须工作的方式:

  1. 它将在数据库中搜索数据,如果数据库中没有数据,它将发送一条错误消息,否则它将继续该过程
  2. 如果数据确实存在,它必须找到一种方法,通过使用Datetime或可以添加到数据库中的Case Number,在特定行中发送该数据。(这有点棘手,因为我已经尝试过用数字表示案例,但我不知道如何真正处理它。(
  3. 找到在特定行中获取数据的方法后,它必须获取所需的数据,并将其放入嵌入或消息中
  4. 然后它将只发送嵌入/消息

看起来很容易,但我不知道如何开始,我在寻求帮助!

我使用MongoDB,但适用相同的原则。我每个函数有一个表,所以这将在user_data表/集合下。

{
"user_id": member.id,
"guild_id": guild.id,
"mod_logs": [],
}

我有user_idguild_id,它们将是varchar 255或任何其他数据类型。我将每个用户的mod_log存储在字典列表中。

您可以将mod_logs变量放入logs并进行

logs.append({"type": "WARNED", "warn_id": warn_id, "reason": reason, "issuer": ctx.author.id, "time": time_warned.strftime('%c')})

如果您想高效地获取用户数据和每个案例,我建议在sqlite中使用一个包含以下列的表。

case_id - primary key(int) - I suggest using auto increment
type - mod action or infraction - varchar
reason - reason for infraction - varchar
user - bigint - id of the user
mod_user - bigint - id of the mod
guild = bigint - id of the guild

获取用户的数据

SELECT * FROM table_name WHERE user={user_id};

注:这不是我通常会回答的问题,这更多的是一个建议,而不是一个答案,这不是你在stackoverflow上能找到的,它就像一本百科全书,而不是思想论坛。

最新更新