我要做的基本上是创建一个命令,这样它就可以从SQLite数据库发送存储数据的嵌入/消息。存储在其中的数据基本上是来自可能的警告的数据。它将显示该警告的用户、主持人、原因和日期时间。我只需要知道如何获取数据并将其正确地放入嵌入中。
这就是我认为它必须工作的方式:
- 它将在数据库中搜索数据,如果数据库中没有数据,它将发送一条错误消息,否则它将继续该过程
- 如果数据确实存在,它必须找到一种方法,通过使用Datetime或可以添加到数据库中的Case Number,在特定行中发送该数据。(这有点棘手,因为我已经尝试过用数字表示案例,但我不知道如何真正处理它。(
- 找到在特定行中获取数据的方法后,它必须获取所需的数据,并将其放入嵌入或消息中
- 然后它将只发送嵌入/消息
看起来很容易,但我不知道如何开始,我在寻求帮助!
我使用MongoDB,但适用相同的原则。我每个函数有一个表,所以这将在user_data
表/集合下。
{
"user_id": member.id,
"guild_id": guild.id,
"mod_logs": [],
}
我有user_id
和guild_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上能找到的,它就像一本百科全书,而不是思想论坛。