Skip to content

Commit 638254b

Browse files
AmbratolmAmbratolm
authored andcommitted
AI core migrated to async api
1 parent f27d602 commit 638254b

23 files changed

+436
-260
lines changed

β€Ž.vscode/settings.jsonβ€Ž

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
{
22
"jupyter.notebookFileRoot": "${workspaceFolder}",
33
"files.exclude": {
4-
"**/*cache*": true,
5-
".vscode": true,
6-
".venv": true,
7-
".mongodb": true,
8-
".python-version": true,
9-
"uv.lock": true,
10-
".gitignore": true,
11-
"LICENSE": true,
12-
"README.*": true
4+
".github": false,
5+
".gitignore": false,
6+
".mongodb": false,
7+
".python-version": false,
8+
".venv": false,
9+
".vscode": false,
10+
"**/*cache*": false,
11+
"LICENSE": false,
12+
"README.*": false,
13+
"uv.lock": false
1314
}
1415
}

β€Žapi/routers/default_router.pyβ€Ž

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
from typing import cast
1+
from fastapi import APIRouter
22

3-
from discord import Guild
4-
from fastapi import APIRouter, HTTPException
5-
6-
from bot.cogs.board_cog import BoardCog
73
from bot.main import ActBot
8-
from db.actor import Actor
94

105

116
# ----------------------------------------------------------------------------------------------------

β€Žapi/routers/guild_router.pyβ€Ž

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
from typing import cast
2-
31
from discord import Guild
42
from fastapi import APIRouter, HTTPException
53

6-
from bot.cogs.board_cog import BoardCog
74
from bot.main import ActBot
8-
from db.actor import Actor
95

106

117
# ----------------------------------------------------------------------------------------------------

β€Žapi/routers/member_router.pyβ€Ž

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class MemberRouter(APIRouter):
1616
def __init__(self, bot: ActBot, *args, **kwargs):
1717
super().__init__(prefix="/members", tags=["Members"], *args, **kwargs)
1818

19-
def member_dict(member: Member, actor: Actor):
19+
def member_dict(actor: Actor, member: Member):
2020
return {
2121
**actor.model_dump(),
2222
"id": member.id,
@@ -36,34 +36,12 @@ async def get_members(guild_id: int, limit: int = 10, top: bool = True):
3636
try:
3737
for guild in bot.guilds:
3838
if guild.id == guild_id:
39-
db = bot.get_db(guild)
40-
actors = (
41-
db.find(
42-
Actor,
43-
Actor.is_member == True,
44-
sort=(
45-
query.desc(Actor.rank),
46-
query.desc(Actor.level),
47-
query.desc(Actor.xp),
48-
query.desc(Actor.gold),
49-
),
50-
limit=limit,
39+
return [
40+
member_dict(actor, member)
41+
for actor, member in await bot.get_actors_members(
42+
guild, limit, top
5143
)
52-
if top
53-
else db.find(Actor, limit=limit)
54-
)
55-
members = []
56-
for actor in actors:
57-
member = None
58-
try:
59-
member = guild.get_member(
60-
actor.id
61-
) or await guild.fetch_member(actor.id)
62-
except:
63-
pass
64-
if member:
65-
members.append(member_dict(member, actor))
66-
return members
44+
]
6745
raise HTTPException(
6846
status_code=404,
6947
detail=f"No guild with id '{guild_id}' found among the guilds the discord bot is member of.",
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ async def incite(
108108
history=self.load_guild_history(interaction.guild),
109109
)
110110
await interaction.channel.send(
111-
self.ai.prompt(text=text_prompt)
111+
await self.ai.prompt(text=text_prompt)
112112
or f"πŸ‘‹ {member.mention if member else "πŸ‘‹"}"
113113
)
114114
except Exception as e:
@@ -192,7 +192,7 @@ async def respond():
192192
),
193193
)
194194
await message.reply(
195-
self.ai.prompt(text_prompt, file_prompt)
195+
await self.ai.prompt(text_prompt, file_prompt)
196196
or f"πŸ‘‹ {member.mention if member else "What? πŸ˜•"}"
197197
)
198198
except APIError as e:
@@ -313,7 +313,7 @@ async def perform_initiative(self, guild: Guild):
313313
),
314314
)
315315
await message.reply(
316-
self.ai.prompt(text_prompt, file_prompt)
316+
await self.ai.prompt(text_prompt, file_prompt)
317317
or f"πŸ‘‹ {member.mention if member else "What? πŸ˜•"}"
318318
)
319319

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ async def on_message(self, message: Message):
8181

8282
# Notice
8383
embed = EmbedX.error(
84-
icon="🚨",
84+
emoji="🚨",
8585
title="Penalty",
8686
description=f"{member.mention} has been penalized for repeated use of offensive language.",
8787
)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ async def attack(self, interaction: Interaction, member: Member):
3636
content=f"{member.mention} 😱",
3737
embed=add_preview_notice(
3838
EmbedX.info(
39-
icon=":crossed_swords:",
39+
emoji=":crossed_swords:",
4040
title="Combat",
4141
description=f"{interaction.user.mention} attacked {member.mention}.",
4242
)
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010

1111
# ----------------------------------------------------------------------------------------------------
12-
# * Gift Cog
12+
# * Exchange Cog
1313
# ----------------------------------------------------------------------------------------------------
14-
class GiftCog(Cog, description="Allows players to gift eachother."):
14+
class ExchangeCog(Cog, description="Allows players to exchange gold and goods."):
1515
def __init__(self, bot: ActBot):
1616
self.bot = bot
1717

@@ -79,7 +79,7 @@ async def donate(self, interaction: Interaction, member: Member, gold: int):
7979

8080
# Create the response embed
8181
embed = EmbedX.success(
82-
icon="πŸ’›",
82+
emoji="πŸ’›",
8383
title="Gold Donation",
8484
description=(
8585
f"{recipient_member.mention} has received **πŸ’° {gold} Gold** from {donor_member.mention}."
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ async def on_message(self, message: Message):
7676
gold_reward = randint(1, 500) * actor.level
7777
actor.gold += gold_reward
7878
embed = EmbedX.success(
79-
icon="πŸ…",
79+
emoji="πŸ…",
8080
title="Level Up",
8181
description=f"{member.mention} has reached a new level and has been rewarded.",
8282
)
@@ -95,7 +95,7 @@ async def on_message(self, message: Message):
9595
gold_reward = randint(1, 1000) * actor.level
9696
actor.gold += gold_reward
9797
embed = EmbedX.success(
98-
icon="πŸ†",
98+
emoji="πŸ†",
9999
title="Rank Up",
100100
description=f"{member.mention} has reached a new rank and has been rewarded.",
101101
)

0 commit comments

Comments
Β (0)