mirror of
https://github.com/kaaninchen/Gleiswechsel.git
synced 2026-07-21 19:52:47 +00:00
Leftover Referenzen zu /Umstieg entfernt
This commit is contained in:
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
import discord
|
import discord
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from src.handlers import rename_vc
|
|
||||||
from src.embeds import build_info_embed, build_error_embed
|
from src.embeds import build_info_embed, build_error_embed
|
||||||
|
|
||||||
def setup_commands(bot: discord.Bot):
|
def setup_commands(bot: discord.Bot):
|
||||||
@@ -8,6 +7,6 @@ def setup_commands(bot: discord.Bot):
|
|||||||
async def info(ctx):
|
async def info(ctx):
|
||||||
embed = build_info_embed()
|
embed = build_info_embed()
|
||||||
if embed is None:
|
if embed is None:
|
||||||
await ctx.respond("Noch keine Verbindung gesetzt.")
|
await build_error_embed("Noch keine Verbindung gesetzt.")
|
||||||
return
|
return
|
||||||
await ctx.respond(embed=embed)
|
await ctx.respond(embed=embed)
|
||||||
|
|||||||
+15
-23
@@ -7,7 +7,7 @@ from src.utils import random_connection, get_train_info, logger
|
|||||||
current = None
|
current = None
|
||||||
_scheduled_task: asyncio.Task | None = None
|
_scheduled_task: asyncio.Task | None = None
|
||||||
|
|
||||||
async def rename_vc(bot: discord.Bot, scheduled=False) -> bool:
|
async def rename_vc(bot: discord.Bot):
|
||||||
global current, train_name, train_info, _scheduled_task
|
global current, train_name, train_info, _scheduled_task
|
||||||
|
|
||||||
guild = bot.get_guild(int(config["server"]))
|
guild = bot.get_guild(int(config["server"]))
|
||||||
@@ -44,35 +44,27 @@ async def rename_vc(bot: discord.Bot, scheduled=False) -> bool:
|
|||||||
|
|
||||||
logger(f"Versuch {attempt}: Keine Ankunftszeit für {current['train']} verfügbar, versuche neue Verbindung...")
|
logger(f"Versuch {attempt}: Keine Ankunftszeit für {current['train']} verfügbar, versuche neue Verbindung...")
|
||||||
|
|
||||||
train_name = f"{train} nach {current['destination']}"
|
train_name = f"{train} nach {current['destination']} von {current['station']}"
|
||||||
|
print(train_name)
|
||||||
|
arrival = datetime.fromisoformat(str(train_info["arrival"]))
|
||||||
|
|
||||||
if not scheduled and _scheduled_task and not _scheduled_task.done():
|
_scheduled_task = asyncio.create_task(_schedule_next_umstieg(bot, arrival))
|
||||||
_scheduled_task.cancel()
|
|
||||||
|
|
||||||
_scheduled_task = asyncio.create_task(_schedule_next_umstieg(bot, train_info["arrival"]))
|
|
||||||
|
|
||||||
print("-----------------------------------------")
|
print("-----------------------------------------")
|
||||||
logger(f"Umstieg: {train_name} von {current['station']}")
|
logger(f"Umstieg: {train_name}")
|
||||||
logger(f"Betreiber: {train_info['operators']}")
|
logger(f"Betreiber: {train_info['operators']}")
|
||||||
logger(f"Wenn der Name nicht geändert wird bin ich im Cooldown")
|
logger(f"Wenn der Name nicht geändert wird bin ich im Cooldown")
|
||||||
await channel.edit(name=f"{config['formatting']}{train_name}")
|
await channel.edit(name=f"{config['formatting']}{train_name}")
|
||||||
|
await channel.set_status(f"Ankunft um {arrival.strftime('%H:%M')}")
|
||||||
logger(f"Name geändert!")
|
logger(f"Name geändert!")
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def _schedule_next_umstieg(bot, arrival_iso):
|
async def _schedule_next_umstieg(bot, arrival):
|
||||||
try:
|
wait_seconds = (arrival - datetime.now()).total_seconds()
|
||||||
arrival = datetime.fromisoformat(arrival_iso)
|
if wait_seconds > 0:
|
||||||
wait_seconds = (arrival - datetime.now()).total_seconds()
|
remaining = str(timedelta(seconds=wait_seconds))
|
||||||
|
logger(f"Um {arrival.strftime('%H:%M:%S')} gehts weiter (in {remaining.split(".")[0]})!...")
|
||||||
|
await asyncio.sleep(wait_seconds)
|
||||||
if wait_seconds > 0:
|
logger("Zug angekommen, wähle neue Verbindung...")
|
||||||
remaining = str(timedelta(seconds=wait_seconds))
|
await rename_vc(bot)
|
||||||
logger(f"Um {arrival.strftime('%H:%M:%S')} gehts weiter (in {remaining.split(".")[0]})!...")
|
|
||||||
await asyncio.sleep(wait_seconds)
|
|
||||||
logger("Zug angekommen, wähle neue Verbindung...")
|
|
||||||
await rename_vc(bot, scheduled=True)
|
|
||||||
|
|
||||||
except asyncio.CancelledError:
|
|
||||||
logger("Geplanter Umstieg wurde abgebrochen (manueller /umstieg dazwischen oder CTRL + C)")
|
|
||||||
raise
|
|
||||||
Reference in New Issue
Block a user