Skip to content

Commit 015e06b

Browse files
committed
add: custom ids on interval buttons
1 parent 98cae91 commit 015e06b

File tree

5 files changed

+51
-13
lines changed

5 files changed

+51
-13
lines changed

config/dev-config-void.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
bot:
2+
prefix: "pph-"
3+
token: !ENV "token"
4+
staff_roles: [ 748554755265134635, 809311700560904201, 1064179977639165952, 1062998739012296795 ]
5+
6+
database:
7+
name: !ENV "db_name"
8+
host: !ENV "db_host"
9+
user: !ENV "db_user"
10+
password: !ENV "db_pass"
11+
port: !ENV "db_port"
12+
13+
api:
14+
api_ninja: !ENV "api_ninja_key"
15+
16+
guild:
17+
staff_roles: [ 748554755265134635, 809311700560904201, 1064179977639165952, 1062998739012296795 ]
18+
dev_help_forum: 1260076443505786993
19+
log_channel: 1076405709916344360
20+
21+
logger:
22+
log_channel: 1076405709916344360
23+
log_level: "DEBUG"

pyrightconfig.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"venvPath": ".",
3+
"venv": "C:/Users/benji/AppData/Local/pypoetry/Cache/virtualenvs/progphilbot-QxuRZnFx-py3.12"
4+
}

src/bot/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ async def load_cogs(self, module: str, cogs: list[str]) -> None:
8585
:param cogs: list of cogs to load, basically the files under the cogs/<category> that ends with .py
8686
"""
8787
for cog in cogs:
88-
if cog.startswith("__init__"):
88+
if cog.startswith("__init__") or cog.startswith("currency"):
8989
continue
9090
if cog.endswith(".py"):
9191
await self.load_extension(f"src.cogs.{module}.{cog[:-3]}")
@@ -129,7 +129,7 @@ def migrate_db(db: Database, logger: Logger) -> None:
129129

130130

131131
async def main():
132-
config = get_config("config/dev-config.yml")
132+
config = get_config("config/dev-config-void.yml")
133133
logger_config = config.logger
134134
logger = BotLogger(logger_config)
135135
logger.add_handler(StreamHandler())

src/ui/views/forum_showcase.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,12 @@ def __init__(self,
111111
self.logger = logger
112112
self.selected_interval: str | None = None
113113

114-
@button(label="Skip", style=ButtonStyle.red) # type: ignore
114+
@button(label="Skip", style=ButtonStyle.red, custom_id="cancel-interval-select") # type: ignore
115115
async def cancel_button(self, interaction: Interaction, button: Button):
116116
await interaction.response.send_message("Skipped!", ephemeral=True)
117117
self.stop()
118118

119-
@button(label="Submit", style=ButtonStyle.green) # type: ignore
119+
@button(label="Submit", style=ButtonStyle.green, custom_id="submit-interval-select") # type: ignore
120120
async def submit_button(self, interaction: Interaction, button: Button):
121121
if self.selected_interval is None:
122122
await interaction.response.send_message(

src/utils/scheduler.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,9 @@ def __init__(
5959
self._day = day
6060
self._task = task
6161

62-
async def run(self) -> None:
62+
def run(self) -> None:
6363
self._spawn_loop.start()
64+
print(f"Schedule {self._task} started")
6465

6566
@loop()
6667
async def _spawn_loop(self):
@@ -132,33 +133,43 @@ def cancel(self) -> None:
132133
class Scheduler:
133134
schedules: dict[str, Schedule]
134135

135-
def __init__(self) -> None:
136-
self.schedules = {}
136+
def __init__(self, schedules: dict[str, Schedule]) -> None:
137+
self.schedules = schedules
138+
139+
def has(self, key: str) -> bool:
140+
return key in self.schedules
137141

138142
async def spawn_schedule(self, key: str, schedule: Schedule):
139-
if key in self.schedules:
143+
if self.has(key):
140144
raise KeyError(f"Schedule with key {key} already exists")
141145
self.schedules[key] = schedule
142146

143-
await schedule.run()
147+
schedule.run()
144148

145149
def cancel_schedule(self, key: str) -> None:
146-
if key not in self.schedules:
150+
if not self.has(key):
147151
raise KeyError(f"Schedule with key {key} does not exist")
148152

149153
if self.schedules[key].is_running():
150154
self.schedules[key].cancel()
151155

152156
async def resume_schedule(self, key: str) -> None:
153-
if key not in self.schedules:
157+
if not self.has(key):
154158
raise KeyError(f"Schedule with key {key} does not exist")
155159

156160
if not self.schedules[key].is_running():
157-
await self.schedules[key].run()
161+
self.schedules[key].run()
158162

159163
def remove_schedule(self, key: str) -> None:
160-
if key not in self.schedules:
164+
if not self.has(key):
161165
raise KeyError(f"Schedule with key {key} does not exist")
162166

163167
self.cancel_schedule(key)
164168
self.schedules.pop(key)
169+
170+
def restart_schedule(self, key: str) -> None:
171+
if not self.has(key):
172+
raise KeyError(f"Schedule with key {key} does not exist")
173+
174+
self.schedules[key].cancel()
175+
self.schedules[key].reschedule()

0 commit comments

Comments
 (0)