Skip to content

Commit b690fbe

Browse files
committed
chore: Re-add deleted file
1 parent 54be826 commit b690fbe

File tree

2 files changed

+97
-10
lines changed

2 files changed

+97
-10
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
-- upgrade --
2+
CREATE TABLE IF NOT EXISTS "commands" (
3+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
4+
"type" TEXT NOT NULL,
5+
"name" TEXT NOT NULL,
6+
"category" TEXT NOT NULL,
7+
"description" TEXT,
8+
"content" TEXT NOT NULL,
9+
"url" TEXT,
10+
"uses" BIGINT NOT NULL DEFAULT 0,
11+
"ownerId" BIGINT NOT NULL,
12+
"createdAt" TIMESTAMP NOT NULL,
13+
"visibility" INT NOT NULL DEFAULT 0,
14+
"enabled" INT NOT NULL DEFAULT 1
15+
);
16+
CREATE TABLE IF NOT EXISTS "guilds" (
17+
"id" BIGINT NOT NULL PRIMARY KEY
18+
);
19+
CREATE TABLE IF NOT EXISTS "caseLog" (
20+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
21+
"caseId" BIGINT NOT NULL,
22+
"type" TEXT NOT NULL,
23+
"modId" BIGINT NOT NULL,
24+
"targetId" BIGINT NOT NULL,
25+
"reason" TEXT NOT NULL,
26+
"createdAt" TIMESTAMP NOT NULL,
27+
"guild_id" BIGINT NOT NULL REFERENCES "guilds" ("id") ON DELETE CASCADE
28+
);
29+
CREATE TABLE IF NOT EXISTS "commandsLookup" (
30+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
31+
"name" TEXT NOT NULL,
32+
"cmd_id" BIGINT NOT NULL REFERENCES "commands" ("id") ON DELETE CASCADE,
33+
"guild_id" BIGINT NOT NULL REFERENCES "guilds" ("id") ON DELETE CASCADE
34+
);
35+
CREATE TABLE IF NOT EXISTS "disabled" (
36+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
37+
"command" TEXT NOT NULL,
38+
"guild_id" BIGINT NOT NULL REFERENCES "guilds" ("id") ON DELETE CASCADE
39+
);
40+
CREATE TABLE IF NOT EXISTS "guildChannels" (
41+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
42+
"welcomeCh" BIGINT,
43+
"farewellCh" BIGINT,
44+
"modlogCh" BIGINT,
45+
"purgatoryCh" BIGINT,
46+
"announcementCh" BIGINT,
47+
"guild_id" BIGINT NOT NULL REFERENCES "guilds" ("id") ON DELETE CASCADE
48+
);
49+
CREATE TABLE IF NOT EXISTS "guildConfigs" (
50+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
51+
"ccMode" INT NOT NULL DEFAULT 0,
52+
"tagMode" INT NOT NULL DEFAULT 0,
53+
"welcomeMsg" TEXT,
54+
"farewellMsg" TEXT,
55+
"guild_id" BIGINT NOT NULL REFERENCES "guilds" ("id") ON DELETE CASCADE
56+
);
57+
CREATE TABLE IF NOT EXISTS "guildMutes" (
58+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
59+
"mutedId" BIGINT NOT NULL,
60+
"guild_id" BIGINT NOT NULL REFERENCES "guilds" ("id") ON DELETE CASCADE
61+
);
62+
CREATE TABLE IF NOT EXISTS "guildRoles" (
63+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
64+
"modRole" BIGINT,
65+
"mutedRole" BIGINT,
66+
"autoRole" BIGINT,
67+
"guild_id" BIGINT NOT NULL REFERENCES "guilds" ("id") ON DELETE CASCADE
68+
);
69+
CREATE TABLE IF NOT EXISTS "prefixes" (
70+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
71+
"prefix" TEXT NOT NULL,
72+
"guild_id" BIGINT NOT NULL REFERENCES "guilds" ("id") ON DELETE CASCADE
73+
);
74+
CREATE TABLE IF NOT EXISTS "timer" (
75+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
76+
"event" TEXT NOT NULL,
77+
"extra" JSON NOT NULL,
78+
"expires" TIMESTAMP NOT NULL,
79+
"created" TIMESTAMP NOT NULL,
80+
"owner" BIGINT NOT NULL
81+
);
82+
CREATE TABLE IF NOT EXISTS "aerich" (
83+
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
84+
"version" VARCHAR(255) NOT NULL,
85+
"app" VARCHAR(20) NOT NULL,
86+
"content" JSON NOT NULL
87+
);

src/zibot/exts/meta/meta.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
from ...core import checks
1919
from ...core import commands as cmds
20+
from ...core.data import ExpiringDict
2021
from ...core.context import Context
2122
from ...core.embed import ZEmbed, ZEmbedBuilder
2223
from ...core.errors import DefaultError
@@ -305,7 +306,12 @@ async def onHighlight(self, message: discord.Message):
305306
if message.author.bot or not message.content or not guild:
306307
return
307308

308-
channel = message.channel
309+
channelId = message.channel.id
310+
authorId = message.author.id
311+
msgId = message.id
312+
if not self.lastSeen.get(channelId):
313+
self.lastSeen[channelId] = ExpiringDict(maxAgeSeconds=1800)
314+
self.lastSeen[channelId][authorId] = msgId
309315

310316
if not (guildHighlight := self.highlights.get(guild.id)):
311317
return
@@ -315,8 +321,8 @@ async def onHighlight(self, message: discord.Message):
315321
continue
316322

317323
# Getting context
318-
msgs: List[discord.Message] = [message]
319-
async for history in channel.history(limit=4, before=message.created_at):
324+
msgs: list[discord.Message] = [message]
325+
async for history in message.channel.history(limit=4, before=message.created_at):
320326
msgs.append(history)
321327

322328
context = []
@@ -338,14 +344,8 @@ async def onHighlight(self, message: discord.Message):
338344
if owner == message.author.id:
339345
continue
340346

341-
# Check if member sent a message 30 minutes prior
342-
if await channel.history(
343-
after=utcnow() - dt.timedelta(minutes=30.0)
344-
).get(author__id=owner):
345-
continue
346-
347347
user = guild.get_member(owner) or await guild.fetch_member(owner)
348-
if user:
348+
if user and self.lastSeen.get(channelId, {}).get(user.id):
349349
await user.send(
350350
"In {0.channel.mention} ({0.guild})".format(message),
351351
embed=e,

0 commit comments

Comments
 (0)