Compare commits
9
Commits
v1.6.7
..
8fb59ba394
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8fb59ba394 | ||
|
|
7b521893d3 | ||
|
|
19e654aed0 | ||
|
|
0d38bc82c4 | ||
|
|
b64e2471fa | ||
|
|
0b5330f7ca | ||
|
|
4e64eac176 | ||
|
|
c90ddf42c3 | ||
|
|
9109ac53b3 |
@@ -65,7 +65,7 @@ class RecordCog(commands.Cog, name="Record Commands"):
|
||||
)
|
||||
|
||||
@record.subcommand(description="Record a miscellaneous point for a clan member.")
|
||||
async def point( # noqa: PLR0913
|
||||
async def point(
|
||||
self,
|
||||
interaction: nextcord.Interaction,
|
||||
activity: str = nextcord.SlashOption(
|
||||
@@ -140,7 +140,9 @@ class RecordCog(commands.Cog, name="Record Commands"):
|
||||
self.bot.config.params.event_post_channel_id
|
||||
)
|
||||
|
||||
msg = f"<@{interaction.user.id}> has given {recipient_str} points for the {activity} activity. Justification: {justification}." # noqa: E501
|
||||
msg = f"<@{interaction.user.id}> has given {recipient_str} points for the {activity} activity. Justification: {justification}" # noqa: E501
|
||||
if not msg.endswith("."):
|
||||
msg += "."
|
||||
await event_channel.send(msg)
|
||||
await interaction.response.send_message("Point has been added.", ephemeral=True)
|
||||
|
||||
|
||||
+10
-8
@@ -7,7 +7,7 @@ from sqlalchemy import select
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from database_setup.sql_data_classes import (
|
||||
ParticipationPoints,
|
||||
EventPoints,
|
||||
Presences,
|
||||
Votes,
|
||||
engine,
|
||||
@@ -49,14 +49,12 @@ class ViewCog(commands.Cog, name="View Commands"):
|
||||
with Session(engine) as session:
|
||||
if quarter_name:
|
||||
ppdf = pd.read_sql_query(
|
||||
sql=session.query(ParticipationPoints)
|
||||
.where(ParticipationPoints.Cycle.startswith(quarter_name))
|
||||
.statement,
|
||||
sql=session.query(EventPoints).where(EventPoints.Cycle.startswith(quarter_name)).statement,
|
||||
con=engine,
|
||||
)
|
||||
else:
|
||||
ppdf = pd.read_sql_query(
|
||||
sql=session.query(ParticipationPoints).statement,
|
||||
sql=session.query(EventPoints).statement,
|
||||
con=engine,
|
||||
)
|
||||
|
||||
@@ -70,14 +68,18 @@ class ViewCog(commands.Cog, name="View Commands"):
|
||||
content += f"**{cycle}**\n"
|
||||
unsorted_all = cycles.get_group(cycle).groupby("DiscordMember")
|
||||
members = unsorted_all.get_group(name=True)
|
||||
non_members = unsorted_all.get_group(name=False)
|
||||
|
||||
# there can be no non-discord members sometimes.
|
||||
try:
|
||||
sorted_non_members = unsorted_all.get_group(name=False).sort_values(by="UserId")
|
||||
except KeyError:
|
||||
sorted_non_members = None
|
||||
sorted_members = members.sort_values(
|
||||
by="UserId",
|
||||
key=lambda user_ids: (
|
||||
[interaction.guild.get_member(int(user_id)).display_name.lower() for user_id in user_ids]
|
||||
),
|
||||
)
|
||||
sorted_non_members = non_members.sort_values(by="UserId")
|
||||
sorted_all = pd.concat([sorted_members, sorted_non_members], ignore_index=True, sort=False)
|
||||
for row in sorted_all.itertuples():
|
||||
userid = row.UserId
|
||||
@@ -199,7 +201,7 @@ class ViewCog(commands.Cog, name="View Commands"):
|
||||
quarter_name (str): String to run autocomplete on.
|
||||
"""
|
||||
with Session(engine) as session:
|
||||
stmt = select(ParticipationPoints.Cycle).distinct()
|
||||
stmt = select(EventPoints.Cycle).distinct()
|
||||
quarters = session.scalars(stmt)
|
||||
|
||||
# if empty compare string
|
||||
|
||||
@@ -91,7 +91,7 @@ class DailyLoop(commands.Cog, name="Daily Loop"):
|
||||
|
||||
# kandy's 1% chance
|
||||
if random.randint(0, 99) == 0: # noqa: S311 isn't cryptography related.
|
||||
birthday_list.append(239547993106284544)
|
||||
birthday_list.append(KANDY)
|
||||
|
||||
today = datetime.now(tz=UTC).date()
|
||||
birthday = f"{today.month}/{today.day}"
|
||||
|
||||
@@ -41,7 +41,7 @@ CREATE TABLE Presences (
|
||||
Presence varchar(100) not null
|
||||
);
|
||||
|
||||
CREATE TABLE ParticipationPoints (
|
||||
CREATE TABLE EventPoints (
|
||||
Cycle varchar(30) not null,
|
||||
UserId varchar(32) not null,
|
||||
DiscordMember boolean not null,
|
||||
|
||||
@@ -14,7 +14,7 @@ CouncilMembers = Base.classes.CouncilMembers
|
||||
ElectionInformation = Base.classes.ElectionInformation
|
||||
EventPointsLimit = Base.classes.EventPointsLimit
|
||||
Messages = Base.classes.Messages
|
||||
ParticipationPoints = Base.classes.ParticipationPoints
|
||||
EventPoints = Base.classes.EventPoints
|
||||
Presences = Base.classes.Presences
|
||||
UserBirthday = Base.classes.UserBirthday
|
||||
Votes = Base.classes.Votes
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ setuptools = "^70.0.0"
|
||||
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
ruff = "^0.4.5"
|
||||
ruff = "^0.6.3"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
|
||||
@@ -15,9 +15,9 @@ from sqlalchemy.orm import Session
|
||||
from config import DakinyConfig
|
||||
from database_setup.sql_data_classes import (
|
||||
CouncilMembers,
|
||||
EventPoints,
|
||||
EventPointsLimit,
|
||||
Messages,
|
||||
ParticipationPoints,
|
||||
Votes,
|
||||
engine,
|
||||
)
|
||||
@@ -318,16 +318,12 @@ def record_event_points(config: DakinyConfig, users: Sequence[str], add_points:
|
||||
quarter_name = get_quarter_name(config)
|
||||
with Session(engine) as session:
|
||||
for user in users:
|
||||
stmt = (
|
||||
select(ParticipationPoints)
|
||||
.where(ParticipationPoints.UserId == user)
|
||||
.where(ParticipationPoints.Cycle == quarter_name)
|
||||
)
|
||||
stmt = select(EventPoints).where(EventPoints.UserId == user).where(EventPoints.Cycle == quarter_name)
|
||||
|
||||
points = session.scalar(stmt)
|
||||
if points is None:
|
||||
add_points = get_allowed_points(session, config.params.event_points_weekly_limit, user, add_points)
|
||||
new_points = ParticipationPoints(
|
||||
new_points = EventPoints(
|
||||
Cycle=quarter_name,
|
||||
UserId=user,
|
||||
DiscordMember=is_member,
|
||||
@@ -371,11 +367,7 @@ def get_allowed_points(session: Session, points_limit: int, user: str, points: i
|
||||
add_points = points
|
||||
session.add(new_limit)
|
||||
else:
|
||||
add_points = (
|
||||
points
|
||||
if limit.Points + points <= points_limit
|
||||
else (max(0, points_limit - limit.Points))
|
||||
)
|
||||
add_points = points if limit.Points + points <= points_limit else (max(0, points_limit - limit.Points))
|
||||
limit.Points += add_points
|
||||
|
||||
session.commit()
|
||||
|
||||
Reference in New Issue
Block a user