feat(economy): Implement starting_funds setting.

This commit is contained in:
2023-10-10 08:43:39 +03:00
parent aa29dd48be
commit 4e8eb366f3
5 changed files with 60 additions and 15 deletions

View File

@@ -150,7 +150,10 @@ class Lions(LionCog):
if (lmember := self.lion_members.get(key, None)) is None:
lguild = await self.fetch_guild(guildid, member.guild if member is not None else None)
luser = await self.fetch_user(userid, member)
data = await self.data.Member.fetch_or_create(guildid, userid)
data = await self.data.Member.fetch_or_create(
guildid, userid,
coins=lguild.config.get('starting_funds').value
)
lmember = LionMember(self.bot, data, lguild, luser, member)
self.lion_members[key] = lmember
return lmember
@@ -182,8 +185,8 @@ class Lions(LionCog):
# Create any member rows that are still missing
if missing:
new_rows = await self.data.Member.table.insert_many(
('guildid', 'userid'),
*missing
('guildid', 'userid', 'coins'),
*((gid, uid, lguilds[gid].config.get('starting_funds').value) for gid, uid in missing)
).with_adapter(self.data.Member._make_rows)
rows = itertools.chain(rows, new_rows)