mirror of
https://github.com/kaaninchen/Gleiswechsel.git
synced 2026-07-21 11:43:30 +00:00
Dynamische Emojis je nach Zugart
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
emoji_list = {
|
||||
"Fallback": "🚉",
|
||||
"Nahverkehr": "🚃",
|
||||
"Höchstgeschwindigkeit": "🚄"
|
||||
}
|
||||
|
||||
train_types = {
|
||||
"ICE": emoji_list["Höchstgeschwindigkeit"],
|
||||
|
||||
"RE": emoji_list["Nahverkehr"],
|
||||
"RB": emoji_list["Nahverkehr"],
|
||||
"ARV": emoji_list["Nahverkehr"],
|
||||
"BRB": emoji_list["Nahverkehr"],
|
||||
}
|
||||
+3
-2
@@ -62,10 +62,11 @@ def build_info_embed() -> discord.Embed | None:
|
||||
embed.add_field(name="Route", value="\n".join(route_lines))
|
||||
|
||||
slogans = operator_infos.get("slogan")
|
||||
footer_notice = f"Daten großzügig bereitgestellt von dbf.finalrewind.org • Typ: {handlers.train_type}"
|
||||
footer_text = (
|
||||
f"{random.choice(slogans)} • Daten großzügig bereitgestellt von dbf.finalrewind.org"
|
||||
f"{random.choice(slogans)} • {footer_notice}"
|
||||
if slogans else
|
||||
"Daten großzügig bereitgestellt von dbf.finalrewind.org"
|
||||
footer_notice
|
||||
)
|
||||
|
||||
embed.set_footer(text=footer_text, icon_url="https://dbf.finalrewind.org/static/icons/icon-96x96.png")
|
||||
|
||||
+6
-4
@@ -2,13 +2,13 @@ import discord
|
||||
from datetime import datetime, timedelta
|
||||
import asyncio
|
||||
from src.config import config
|
||||
from src.utils import random_connection, get_train_info, logger
|
||||
from src.utils import random_connection, get_train_info, get_channel_formatting, logger
|
||||
|
||||
current = None
|
||||
_scheduled_task: asyncio.Task | None = None
|
||||
|
||||
async def rename_vc(bot: discord.Bot):
|
||||
global current, train_name, train_info, _scheduled_task
|
||||
global current, train_name, train_info, train_type, _scheduled_task
|
||||
|
||||
guild = bot.get_guild(int(config["server"]))
|
||||
if guild is None:
|
||||
@@ -51,14 +51,16 @@ async def rename_vc(bot: discord.Bot):
|
||||
train_name = f"{train} nach {current['destination']} von {current['station']}"
|
||||
logger(f"Vorbereitung auf {train_name} (typ: {train_type})")
|
||||
arrival = datetime.fromisoformat((train_info["arrival"]))
|
||||
formatting = get_channel_formatting(train_type)
|
||||
|
||||
_scheduled_task = asyncio.create_task(_schedule_next_umstieg(bot, arrival))
|
||||
|
||||
print("-----------------------------------------")
|
||||
logger(f"Umstieg: {train_name}")
|
||||
logger(f"Betreiber: {train_info['operators']}")
|
||||
logger(f"Betreiber: {''.join(train_info['operators'])}")
|
||||
logger(f"Train-Type: {train_type}")
|
||||
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"{formatting}{train_name}")
|
||||
await channel.set_status(f"Ankunft um {arrival.strftime('%H:%M')}")
|
||||
logger(f"Name geändert!")
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import importlib
|
||||
from datetime import datetime
|
||||
from src.config import config
|
||||
import src.data.operators as operators_module
|
||||
import src.data.emojis as emojis
|
||||
|
||||
_operators_mtime = None
|
||||
|
||||
@@ -128,6 +129,14 @@ def operator_metadata(operator):
|
||||
|
||||
return operators_module.OPERATORS.get(operator, operators_module.OPERATORS["fallback"])
|
||||
|
||||
def get_channel_formatting(train_type):
|
||||
formatting = config.get("formatting", "")
|
||||
|
||||
train_emoji = emojis.train_types.get(train_type)
|
||||
if train_emoji is None:
|
||||
train_emoji = emojis.emoji_list.get("Fallback", "")
|
||||
return f"{train_emoji} {formatting}"
|
||||
|
||||
def logger(msg, log_type="info"):
|
||||
status = log_type.upper()
|
||||
current_time = datetime.now().strftime('%X')
|
||||
|
||||
Reference in New Issue
Block a user