mirror of
https://github.com/kaaninchen/Gleiswechsel.git
synced 2026-07-21 19:52:47 +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))
|
embed.add_field(name="Route", value="\n".join(route_lines))
|
||||||
|
|
||||||
slogans = operator_infos.get("slogan")
|
slogans = operator_infos.get("slogan")
|
||||||
|
footer_notice = f"Daten großzügig bereitgestellt von dbf.finalrewind.org • Typ: {handlers.train_type}"
|
||||||
footer_text = (
|
footer_text = (
|
||||||
f"{random.choice(slogans)} • Daten großzügig bereitgestellt von dbf.finalrewind.org"
|
f"{random.choice(slogans)} • {footer_notice}"
|
||||||
if slogans else
|
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")
|
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
|
from datetime import datetime, timedelta
|
||||||
import asyncio
|
import asyncio
|
||||||
from src.config import config
|
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
|
current = None
|
||||||
_scheduled_task: asyncio.Task | None = None
|
_scheduled_task: asyncio.Task | None = None
|
||||||
|
|
||||||
async def rename_vc(bot: discord.Bot):
|
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"]))
|
guild = bot.get_guild(int(config["server"]))
|
||||||
if guild is None:
|
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']}"
|
train_name = f"{train} nach {current['destination']} von {current['station']}"
|
||||||
logger(f"Vorbereitung auf {train_name} (typ: {train_type})")
|
logger(f"Vorbereitung auf {train_name} (typ: {train_type})")
|
||||||
arrival = datetime.fromisoformat((train_info["arrival"]))
|
arrival = datetime.fromisoformat((train_info["arrival"]))
|
||||||
|
formatting = get_channel_formatting(train_type)
|
||||||
|
|
||||||
_scheduled_task = asyncio.create_task(_schedule_next_umstieg(bot, arrival))
|
_scheduled_task = asyncio.create_task(_schedule_next_umstieg(bot, arrival))
|
||||||
|
|
||||||
print("-----------------------------------------")
|
print("-----------------------------------------")
|
||||||
logger(f"Umstieg: {train_name}")
|
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")
|
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')}")
|
await channel.set_status(f"Ankunft um {arrival.strftime('%H:%M')}")
|
||||||
logger(f"Name geändert!")
|
logger(f"Name geändert!")
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import importlib
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from src.config import config
|
from src.config import config
|
||||||
import src.data.operators as operators_module
|
import src.data.operators as operators_module
|
||||||
|
import src.data.emojis as emojis
|
||||||
|
|
||||||
_operators_mtime = None
|
_operators_mtime = None
|
||||||
|
|
||||||
@@ -128,6 +129,14 @@ def operator_metadata(operator):
|
|||||||
|
|
||||||
return operators_module.OPERATORS.get(operator, operators_module.OPERATORS["fallback"])
|
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"):
|
def logger(msg, log_type="info"):
|
||||||
status = log_type.upper()
|
status = log_type.upper()
|
||||||
current_time = datetime.now().strftime('%X')
|
current_time = datetime.now().strftime('%X')
|
||||||
|
|||||||
Reference in New Issue
Block a user